本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Amazon 中使用水平感知計算 QuickSight
適用對象:企業版和標準版 |
使用等級感知計算 (LAC),您可以指定要計算視窗函數或彙總函數的資料粒度等級。LAC 函數有兩種類型:等級感知計算 – 彙總 (LAC-A) 函數,以及等級感知計算 – 視窗 (LAC-W) 函數。
等級感知計算 – 彙總 (LAC-A) 函數
使用 LAC-A 函數,您可以指定在哪個等級進行計算分組。透過將一個引數新增至現有的彙總函數 (例如 sum() , max()
, count()
),您可以定義任何想要用於彙總的分組等級。新增的等級可以是與新增至視覺效果的維度無關的任何維度。例如:
sum(measure,[group_field_A])
若要使用 LAC-A 函數,請直接在計算編輯器中輸入它們,方法是將預期的彙總等級作為置於括弧之間的第二個引數新增。以下是彙總函數和 LAC-A 函數的示例,方便進行比較。
-
彙總函數:
sum({sales})
-
LAC-A 函數:
sum({sales}, [{Country},{Product}])
LAC-A 結果使用括弧 [
]
中的指定級別計算,可以用作彙總函數的運算元。彙總函數的分組等級是視覺效果等級,並將分組依據欄位新增至視覺效果的欄位區。
除了在括弧 [ ]
中建立靜態 LAC 群組金鑰之外,您還可以透過將參數 $visualDimensions
放在括弧中,使其動態適應視覺效果分組依據欄位。這是系統提供的參數,不同於使用者定義的參數。[$visualDimensions]
參數表示在當前視覺效果中新增至分組依據欄位區的欄位。下列範例顯示如何將群組金鑰動態新增至視覺效果維度,或從視覺效果維度移除群組金鑰
-
具有動態新增之群組金鑰的 LAC-A:
sum({sales}, [${visualDimensions},{Country},{Products}])
它會在計算視覺效果等級的彙總之前,計算依據
country
、products
以及分組依據欄位區中的任何其他欄位分組的銷售總和。 -
具有動態移除之群組金鑰的 LAC-A:
sum({sales}, [${visualDimensions},!{Country},!{Products}])
它會在計算視覺效果等級的彙總之前,計算依據視覺效果分組依據欄位區中除
country
和product
之外的其他欄位分組的銷售總和。
您可以在 LAC 運算式上指定新增的或移除的群組金鑰,但不能同時指定兩者。
下列彙總函數支援 LAC-A 函數:
LAC-A 的範例
您可以使用 LAC-A 函數執行下列作業:
-
執行獨立於視覺效果中的等級的計算。例如,如果進行以下計算,只會在國家/地區等級彙總銷售數字,但不會在視覺效果中的其他維度 (區域或產品) 彙總。
sum({Sales},[{Country}])
-
對不在視覺效果中的維度執行計算。例如,如果您有以下函數,可以按區域計算國家/地區的平均總銷售額。
sum({Sales},[{Country}])
雖然國家/地區不包含在視覺效果中,但 LAC-A 函數會先在國家/地區等級彙總銷售額,然後視覺效果等級的計算會產生每個區域的平均數。如果未使用 LAC-A 函數來指定等級,則會在最低粒度等級 (資料集的基礎等級) 計算每個區域的平均銷售額 (顯示在「銷售額」資料欄中)。
-
LAC-A 與其他彙總函數和 LAC-W 函數結合使用。您可以透過兩種方式將 LAC-A 函數巢狀其他函數。
-
您可以在建立計算時撰寫巢狀語法。例如,LAC-A 函數可以巢狀 LAC-W 函數,依國家/地區按每種產品的平均價格計算總銷售額:
sum(avgOver({Sales},[{Product}],PRE_AGG),[{Country}])
-
將 LAC-A 函數新增至視覺效果時,計算可以與您在欄位中選取的視覺層級彙總函數進一步巢狀。如需如何變更視覺效果中的欄位彙總的詳細資訊,請參閱 使用欄位集在欄位中變更或新增彙總。
-
LAC-A 限制
下列限制會套用於 LAC-A 函數:
-
所有加法和非加法彙總函數都支援 LAC-A 函數,例如
sum()
、count()
和percentile()
。以「if」結尾的條件式彙總函式不支援 LAC-A 函數,例如 forsumif()
countif()
,也不支援以 "periodToDate「開頭的週期彙總函式,例如periodToDateSum()
和periodToDateMax()
。 -
資料表和樞紐分析表中的 LAC-A 函數目前不支援資料列等級和資料欄等級的總計。當您將資料列或資料欄等級的總計新增至圖表時,總數將顯示為空白。其他非 LAC 維度不受影響。
-
目前不支援巢狀 LAC-A 函數。支援與一般彙總函數和 LAC-W 函數巢狀的 LAC-A 函數的有限功能。
例如,以下函數有效:
-
Aggregation(LAC-A())
。例如:max(sum({sales}, [{country}]))
-
LAC-A(LAC-W())
。例如:sum(sumOver({Sales},[{Product}],PRE_AGG), [{Country}])
以下函數無效:
-
LAC-A(Aggregation())
。例如:sum(max({sales}), [{country}])
-
LAC-A(LAC-A())
。例如:sum(max({sales}, [{country}]),[category])
-
LAC-W(LAC-A())
。例如:sumOver(sum({Sales},[{Product}]),[{Country}],PRE_AGG)
-
等級感知計算 – 視窗 (LAC-W) 函數
使用 LAC-W 函數,您可以指定要執行計算的視窗或分割區。LAC-W 函數是您可以在預先篩選或預先彙總等級執行的一組視窗函數,例如 sumover()
、(maxover)
、denseRank
。例如:sumOver(measure,[partition_field_A],pre_agg)
。
LAC-W 函數之前被稱為等級感知彙總 (LAA)。
LAC-W 函數有助於您回答下列類型的問題:
-
有多少客戶只簽訂 1 份採購訂單? 或 10 份? 或 50 份? 我們希望視覺效果使用計數做為維度,而不是視覺效果中的指標。
-
生命週期花費超過 100,000 美元的客戶,在每個市場區隔的總銷售額是多少? 視覺效果應該只顯示市場區隔及其各自的總銷售額。
-
每種產業對整個公司獲利的貢獻是多少 (佔總數的百分比)? 我們希望能夠篩選視覺效果,以顯示一些產業及它們對所顯示產業的總銷售額的貢獻。不過,我們也希望查看各項產業在整個公司總銷售額 (包括篩選掉的產業) 的佔比。
-
相較於產業平均值,每個類別的總銷售額是多少? 即使篩選後,產業平均值也應該包含所有類別。
-
我的客戶如何分組到累積花費範圍? 我們希望使用分組做為維度,不是指標。
對於更複雜的問題,您可以插入計算或篩選器,然後再 QuickSight 到達對設定評估的特定時間點。若要直接影響結果,請將計算層級關鍵字新增至資料表計算。如需有關如何QuickSight 評估查詢的更多資訊,請參閱Amazon 評估順序 QuickSight。
LAC-W 函數支援下列計算等級:
-
PRE_FILTER
— 在從分析中套用篩選器之前, QuickSight 評估預篩選器計算。然後,它會套用這些預先篩選條件計算上設定的任何篩選條件。 -
PRE_AGG
— 在計算顯示層級彙總之前, QuickSight 執行預先彙總計算。然後,它會套用這些預先彙總計算上設定的任何篩選條件。這項工作會在套用排名最前與倒數 N 個 篩選條件之前發生。
您可以在下列資料表計算函數中使用 PRE_FILTER
或 PRE_AGG
關鍵字作為參數。指定計算層級時,您會在函數中使用未彙總的量值。例如,您可以使用 countOver({ORDER ID}, [{Customer ID}], PRE_AGG)
. 使用 PRE_AGG
,藉以指定在預先彙總層級執行 countOver
。
根據預設,每個函數的第一個參數都必須是彙總的量值。如果您使用 PRE_FILTER
或 PRE_AGG
,則第一個參數要使用非彙總的度量。
對於 LAC-W 函數,視覺效果彙總預設為 MIN
以消除重複項。若要變更彙總,請開啟欄位的內容功能表 (按一下滑鼠右鍵),然後選擇不同的彙總。
如需何時以及如何在現實生活案例中使用 LAC-W 函數的範例,請參閱 AWS 大數據部落格中的下列文章:使用 Amazon 中的層級感知彙總建立進階洞見