翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon でのレベル対応計算の使用 QuickSight
適用先: Enterprise Edition と Standard Edition |
レベルアウェア計算 (LAC) では、ウィンドウ関数または集計関数を計算する際の詳細度のレベルを指定できます。LAC 関数には、レベルアウェア計算 – 集計 (LAC-A) 関数と、レベルアウェア計算 – ウィンドウ (LAC-W) 関数の 2 種類が存在します。
レベルアウェア計算 – 集計 (LAC-A) 関数
LAC-A 関数を使用すると、計算をグループ化するレベルを指定できます。既存の集計関数に引数を 1 つ追加することで (例: sum() , max()
, count()
)、集計に使用するグループ別レベルを任意に定義できます。追加するレベルは、ビジュアルに追加されたディメンションとは関係なく、任意のディメンションを使用できます。例:
sum(measure,[group_field_A])
LAC-A 関数を使用するには、目的の集計レベルを 2 番目の引数として括弧の間に追加しながら、計算エディターを使用して関数を直接入力します。比較のために、集計関数と LAC-A 関数の例を以下に示します。
-
集計関数:
sum({sales})
-
LAC-A 関数:
sum({sales}, [{Country},{Product}])
LAC-A 結果は括弧 [
]
内で指定されたレベルを使用して計算され、集計関数のオペランドとして使用されます。集計関数のグループ別レベルはビジュアルレベルで、[Group by] (グループ別) フィールドはビジュアルのフィールドウェルに追加されます。
括弧 [ ]
内に静的な LAC グループキーを作成する以外に、括弧内にパラメータ $visualDimensions
を入力することで、視覚的なグループ別フィールドに合わせて動的に調整できます。これは、ユーザー定義のパラメータとは対照的に、システム提供のパラメータです。この [$visualDimensions]
パラメータは、現在のビジュアルで [Group by] (グループ別) フィールドウェルに追加されたフィールドを表します。次の例は、グループキーをビジュアルディメンションに動的に追加する方法、またはビジュアルディメンションからグループキーを削除する方法を示しています
-
グループキーを動的に追加した LAC-A:
sum({sales}, [${visualDimensions},{Country},{Products}])
ビジュアルレベルの集計が計算される前に、売上の合計、
country
別グループ、products
、および [Group by] (グループ別) フィールドウェル内の他のフィールドの合計が計算されます。 -
グループキーが動的に削除された LAC-A:
sum({sales}, [${visualDimensions},!{Country},!{Products}])
ビジュアルレベルの集計が計算される前に、売上の合計、ビジュアルの [Group by] (グループ別) フィールドウェル内のフィールド別グループの合計が計算されます。ただし、
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 関数を他の関数にネストするには、 2 つの方法があります。
-
計算の作成時に、ネストされた構文を記述します。例えば、LAC-A 関数を LAC-W 関数にネストし、以下のように各製品の平均価格を使用して国ごとの総売上額を算出できます。
sum(avgOver({Sales},[{Product}],PRE_AGG),[{Country}])
-
LAC-A 関数をビジュアルに追加すると、フィールドウェルで選択したビジュアルレベルの集計関数を使用して、計算をさらにネストすることが可能です。ビジュアル内のフィールドに関する集計の変更については、「フィールドウェルを使用したフィールドでの集計の変更または追加」を参照してください。
-
LAC-A での制限事項
LAC-A 関数には、以下の制限が適用されます。
-
LAC-A 関数は、
sum()
、count()
、およびpercentile()
など、付加的および非付加的なすべての集合関数でサポートされています。LAC-A 関数は、sumif()
や などの「if」で終わる条件付き集計関数やcountif()
、periodToDateSum()
や periodToDateなどの「」で始まる期間集計関数ではサポートされていませんperiodToDateMax()
。 -
現在、テーブルおよびピボットテーブルの LAC-A 関数では、行レベルと列レベルの合計をサポートしていません。行レベルまたは列レベルの合計をグラフに追加した場合でも、合計値は空白として表示されます。その他の、非 LAC のディメンションには影響はありません。
-
現在、LAC-A 関数でのネストはサポートされていません。LAC-A 関数では、限られた機能が、通常の集計関数と LAC-W 関数とのネストをサポートしています。
例えば、以下の関数が対応しています。
-
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 USD を超える顧客の市場セグメントあたりの合計売上高はどのくらいですか? ビジュアルには、市場セグメントとそれぞれの合計売上のみが表示されます。
-
会社全体の利益に対する各業界の貢献率 (合計に対する割合) はどれくらいですか? ビジュアルをフィルタリングして、一部の業種と、表示された業種の総売上高にどのように貢献するかを表示できるようにしたいと考えています。ただし、会社全体 (フィルタリングされた業界を含む) の売上合計に対する各業界のパーセントを確認する必要もあります。
-
業界平均と比較して、各カテゴリーの総売上高はどのくらいですか? 業界平均には、フィルタリング後もすべてのカテゴリーを含める必要があります。
-
お客様はどのように累積支出範囲にグループ化されますか? グループ化は、メトリクスではなくディメンションとして使用します。
より複雑な質問については、 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 でのレベル対応集約を使用して高度なインサイトを作成する」を参照してくださいQuickSight。