本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
percentileDiscOver
percentileDiscOver
函數根據 measure
中的實際數字計算百分位數。它使用在欄位集中應用的分組和排序方法。結果會在指定的計算層級依指定的維度分割。percentileOver
函數是 percentileDiscOver
的別名。
使用此函數回答以下問題:此百分位數中存在哪些實際資料點? 若要傳回資料集中最接近的百分位數值,請使用 percentileDiscOver
。若要傳回資料集中可能不存在的確切百分位數值,請改用 percentileContOver
。
語法
percentileDiscOver (
measure
,percentile-n
, [partition-by, …
] ,calculation-level
)
引數
- measure
-
指定用來運算百分位數的數值。引數必須是量值或指標。計算時會忽略 Null。
- percentile-n
-
百分位數值可以是 0-100 之間的任何數值常數。百分位數值的 50 會計算度量的中位數值。
- partition-by
-
(選用) 您要分割依據的一或多個維度,以逗號分隔。如果有不只一個字,則清單中的每個欄位會括在 { } (大括弧) 中。整個清單會以 [ ] (方括弧) 括住。
- calculation-level
-
指定在何處執行與評估順序相關的計算。支援的計算層級有三種:
-
PRE_FILTER
-
PRE_AGG
-
POST_AGG_FILTER (預設值) – 若要使用此計算層級,您必須在
measure
上指定彙總,例如sum(measure)
。
在視覺化中發生彙總之前,會套用 PRE_FILTER 和 PRE_AGG。對於這兩個計算層級,您無法在計算欄位運算式中指定
measure
的彙總。若要進一步了解計算層級及其套用時間,請參閱 Amazon 評估順序 QuickSight 和 在 Amazon 中使用水平感知計算 QuickSight。 -
傳回值
函數的結果是一個數字。
percentileDiscOver 的範例
下面的例子有助於解釋如何 percentileDiscOver 工作。
範例 比較中位數的計算層級
下列範例透過 percentileDiscOver
函數使用不同計算層級顯示維度 (類別) 的中位數。百分位數為 50。資料集會依區域欄位篩選。每個計算欄位的代碼如下:
-
example = left(
(一個簡單的例子。)category
, 1 ) -
pre_agg = percentileDiscOver ( {Revenue} , 50 , [ example ] , PRE_AGG)
-
pre_filter = percentileDiscOver ( {Revenue} , 50 , [ example ] , PRE_FILTER)
-
post_agg_filter = percentileDiscOver ( sum ( {Revenue} ) , 50 , [ example ], POST_AGG_FILTER )
example pre_filter pre_agg post_agg_filter ------------------------------------------------------ 0 106,728 119,667 4,117,579 1 102,898 95,946 2,307,547 2 97,629 92,046 554,570 3 100,867 112,585 2,709,057 4 96,416 96,649 3,598,358 5 106,293 97,296 1,875,648 6 97,118 64,395 1,320,672 7 99,915 90,557 969,807
範例 中位數
以下範例會計算 Sales
的中間值 (第 50 個百分位數),依據 City
和 State
分割。
percentileDiscOver ( Sales, 50, [City, State] )
以下範例會計算 sum({Billed
Amount})
的第 98 個百分位數,依據 Customer Region
分割。資料表計算中的欄位位於視覺化效果的欄位區。
percentileDiscOver ( sum({Billed Amount}), 98, [{Customer Region}] )
以下螢幕擷取畫面顯示這兩個範例在圖表上的呈現方式。