OVER ステートメントを使用してデータ スライスを参照する
カスタム演算式は、ビジュアライゼーションのマーカーで表現されるデータのスライス上で評価されます。演算式の評価に現在のスライスの外部にあるデータも含める場合は、カスタム演算式で OVER ステートメントを使用します。
現在のスライスの外部にあるデータを含めるという意味については、以下の図を参照してください。同様の図を使用してスライスとマーカーの概念を説明することもできます。カスタム演算式、特に OVER ステートメントを含むカスタム演算式を扱う場合には、この概念を理解することが不可欠です。
大きなボックスは、複数種類の果物の各地域での年間売上を含むデータテーブルのすべてのローを表し、キューブはデータの各スライスを表しています。
ここで、北部での 2018 年のオレンジの売上を、西部での 2018 年のレモンの売上、または西部での 2015 ~ 2017 年のオレンジの売上と比較する場合を想定します。つまり、このような演算式では、北部での 2018 年のオレンジの売上の外部にあるデータ スライスを参照する必要があり、これには OVER ステートメントが使用されます。OVER ステートメントを使用すれば、演算式で参照されるデータを新しい方法でグループ化することができます。
以下の例で、演算式に OVER ステートメントを記述する方法と、OVER ステートメントがどのように実行されるのかを簡単に理解できます。
OVER 演算式の例
散布図はそれぞれの果物 (リンゴ、オレンジ、洋ナシ) の売上の合計を示します。合計売上額は 300 です。
以下の式
Sum([Sales]) OVER (All([Axis.X]))
を Y 軸上に指定すると、すべてのマーカーが再評価され、散布図は次のように変化します。
結果を理解するため、例として売上合計、リンゴを表すマーカーを取り上げます。カスタム演算式は、すべての X 軸スライスの売上合計、つまりリンゴ、オレンジ、洋ナシの売上額の合計 (150+80+70) を示すようにマーカーが再評価されることを表しています。他のマーカーについても同様で、すべてのマーカーは同じ値になります。実際、演算式の OVER (All([Axis.X])) の部分は、X 軸上のスライスが無視されることを意味します。
次の例では、年が色の軸ごとに指定され、データはさらにスライスされます。
Y 軸を次の演算式に変更します。
Sum([Sales]) OVER (All([Axis.Color]))このカスタム演算式は、すべての色のスライスの売上合計を示すように各マーカーが再評価されることを意味し、実際、色によるスライスは無視されます。
例として、洋ナシ、2015 年を取り上げます (洋ナシの青色の星)マーカーの新しい値は、3 年間の洋ナシの売上合計 (40+20+10) を示します。同じ種類の果物のすべてのマーカーは、色 (年) に関係なく同じ Y 軸値を取得します。
上記の例が実際に使用されることはありませんが、OVER ステートメントがいわゆるノード ナビゲーション メソッドと組み合わせてどのように実行されるかを理解するのに役立ちます。
計算カラムにOVER ステートメントを使用する
計算列で OVER ステートメントを使用した場合、その結果はカスタム演算式で使用した場合とは異なります。計算列では、結果のレコード数が少なくなる可能性があります。