計算カラムにOVER ステートメントを使用する

データに対して計算を実行し、その結果をデータテーブルに追加された新しいカラムに値として表示することができます。計算に使用する演算式では、OVER ステートメントを使用できます。ただし、計算カラムで OVER ステートメントを使用する場合、その動作はカスタム演算式で使用した場合とは異なります。計算カラムでは、OVER 式を使用して異なるグループに対する個別の固定された値を計算し、OVER 式によってデータが「少ない数のレコードにスライスされる」ことがあります。

注: 計算カラムは、データのフィルター方法に関係なく、常にカラムのすべての値に対して計算されます。

計算カラムを操作する場合、カスタム演算式の場合とは違って移動のための軸はありません。代わりに、OVER 演算式を使用してデータ カラム (または階層) を参照します。

以下のデータテーブルでは、演算式

Sum([Sales]) OVER ([Fruit])

が追加されたカラムの値の計算に使用されています。



各ローに対し、果物の種類に対する売上合計が新しいカラムとして表示されています。たとえば、リンゴの売上合計は 200 (30+70+100) で、この値は「リンゴ」の各ローに表示されています。効果は、少ない値 (200 と 100) にスライスされることです。
注: 後でデータがフィルター アウトされても、新しいカラムの値は変更されません。たとえば、一番上のデータ ローがフィルター アウトされても、[リンゴ] の計算カラムの値は 200 のままです。

その他の例

レコード数の少ない計算カラムは、単独のカラムとしてはあまり有用ではないかもしれません。そこで、カラムを追加してみます。ここでは、前の演算式を演算式の一部として使用しています。

[Sales] / (Sum([Sales]) OVER ([Fruit]))



この演算式は、各果物の各年の売上合計に占める各売上トランザクションの比率を計算しています。たとえば、リンゴの売上合計の 15% (30/200) は 2015 年、35% (70 / 200) は 2016 年、残り 50% (100/200) は 2017 年です。

以下の棒グラフでは、計算カラムが [Sum] 集計を使用して [値] 軸上に選択されています。



実際には、この結果は Sum([Sales]) を示す棒グラフで [積重 100% 表示] オプションを使用した場合と同じです。

OVERと計算カラムのノード ナビゲーション メソッドを組み合わせる

カラムの計算に使用する演算式では、ノード ナビゲーション メソッドと OVER ステートメントを組み合わせることができます。この簡単な例では、メソッドの 1 つ、Previous() の使用方法について説明します。

データテーブルには、毎週測定される新生児の体重がラインチャートで視覚化されています。





週ごとの成長に興味があるとします。この計算には次の式を使用します。

[Weight (g)] - Sum([Weight (g)]) OVER (Previous([Week]))

結果は以下のデータテーブルと棒グラフで確認することができます。