在 Amazon 中使用水平感知計算 QuickSight - Amazon QuickSight

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 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}])

    它會在計算視覺效果等級的彙總之前,計算依據 countryproducts 以及分組依據欄位區中的任何其他欄位分組的銷售總和。

  • 具有動態移除之群組金鑰的 LAC-A:sum({sales}, [${visualDimensions},!{Country},!{Products}])

    它會在計算視覺效果等級的彙總之前,計算依據視覺效果分組依據欄位區中除 countryproduct 之外的其他欄位分組的銷售總和。

您可以在 LAC 運算式上指定新增的或移除的群組金鑰,但不能同時指定兩者。

下列彙總函數支援 LAC-A 函數:

LAC-A 的範例

您可以使用 LAC-A 函數執行下列作業:

  • 執行獨立於視覺效果中的等級的計算。例如,如果進行以下計算,只會在國家/地區等級彙總銷售數字,但不會在視覺效果中的其他維度 (區域或產品) 彙總。

    sum({Sales},[{Country}])
    銷售數字只會在國家/地區等級彙總。
  • 對不在視覺效果中的維度執行計算。例如,如果您有以下函數,可以按區域計算國家/地區的平均總銷售額。

    sum({Sales},[{Country}])

    雖然國家/地區不包含在視覺效果中,但 LAC-A 函數會先在國家/地區等級彙總銷售額,然後視覺效果等級的計算會產生每個區域的平均數。如果未使用 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 函數:

  • 所有加法和非加法彙總函數都支援 LAC-A 函數,例如 sum()count()percentile()。以「if」結尾的條件式彙總函式不支援 LAC-A 函數,例如 for sumif()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_FILTERPRE_AGG 關鍵字作為參數。指定計算層級時,您會在函數中使用未彙總的量值。例如,您可以使用 countOver({ORDER ID}, [{Customer ID}], PRE_AGG). 使用 PRE_AGG,藉以指定在預先彙總層級執行 countOver

根據預設,每個函數的第一個參數都必須是彙總的量值。如果您使用 PRE_FILTERPRE_AGG,則第一個參數要使用非彙總的度量。

對於 LAC-W 函數,視覺效果彙總預設為 MIN 以消除重複項。若要變更彙總,請開啟欄位的內容功能表 (按一下滑鼠右鍵),然後選擇不同的彙總。

如需何時以及如何在現實生活案例中使用 LAC-W 函數的範例,請參閱 AWS 大數據部落格中的下列文章:使用 Amazon 中的層級感知彙總建立進階洞見。QuickSight