計算カラムにOVER ステートメントを使用する
データに対して計算を実行し、その結果をデータテーブルに追加された新しいカラムに値として表示することができます。計算に使用する演算式では、OVER ステートメントを使用できます。ただし、計算カラムで OVER ステートメントを使用する場合、その動作はカスタム演算式で使用した場合とは異なります。計算カラムでは、OVER 式を使用して異なるグループに対する個別の固定された値を計算し、OVER 式によってデータが「少ない数のレコードにスライスされる」ことがあります。
計算カラムを操作する場合、カスタム演算式の場合とは違って移動のための軸はありません。代わりに、OVER 演算式を使用してデータ カラム (または階層) を参照します。
以下のデータテーブルでは、演算式
Sum([Sales]) OVER ([Fruit])
が追加されたカラムの値の計算に使用されています。
その他の例
レコード数の少ない計算カラムは、単独のカラムとしてはあまり有用ではないかもしれません。そこで、カラムを追加してみます。ここでは、前の演算式を演算式の一部として使用しています。
[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]))
結果は以下のデータテーブルと棒グラフで確認することができます。