Tableauでは様々な計算が関数として標準で用意されているので、それらを利用して集計をすることができます。
本ページでは、Tableauの表計算関数の中からよく利用するLOOKUP、RANK、RUNNING関数、WINDOW関数を紹介します。
LOOKUP
LOOKUP関数は現在の行から指定した件数分だけ離れた行の値を返す関数で次のように記述します。
LOOKUP(expression, [offset])
現在の行からoffsetで指定された行にあるexpressionの値を返します。
ターゲット行を特定できない場合はNULLを返します。
スーパーストアのデータを利用した例をみてみましょう。
以下のようなLOOKUP関数を用いた計算式を計算フィールド定義して「LOOKUP」という名称で作成します。
データペインの「年(オーダー日)」を行、メジャーネームを列、メジャーバリューをマークのテキストにドラッグ&ドロップします。
LOOKUPは1つ前の行、すなわち昨年度の売上が参照されていることが分かります。
今度は作成したビューの「年(オーダー日)」を降順にソートしてみます。
今度は翌年の売上が参照されるようになりました。
計算式を変更しなくても、このような値の参照が可能になります。
さらによくある対前年度成長率も集計できます。
前年の値と比較した売上の成長率は「(今年度売上-前年度売上)/前年度売上」で計算します。
以下のようにLOOKUP関数を用いて成長率の計算式を定義して「YOY」という名称で作成します。
計算結果を確認してみましょう。
データペインのに「年(オーダー日)」を行、メジャーネームを列、メジャーバリューをマークのテキストにドラッグ&ドロップします。YOYはパーセンテージ表示にします。
売上の対前年成長率が計算されていることが分かります。
RANK
RANK関数は現在の行の順位を返す関数で次のように記述します。
RANK(expression, [‘asc’ | ‘desc’])
現在の行に対してexpressionの値の大きさを比較して順位を返します。値が同一の場合には同一順位が割り当てられます。
昇順を指定する場合はオプションを ‘asc’に、降順を指定する場合は‘desc’を指定します。特に指定しなければデフォルトで降順になります。集計の際はNULL値は無視されます。
スーパーストアのデータを利用した例をみてみましょう。
売上ランクの計算式を計算フィールド定義して「RANK」という名称で作成します。
計算結果を確認してみましょう。
データペインの「顧客名」を行、メジャーネームを列、メジャーバリューをマークのテキストにドラッグ&ドロップします。「売上」順にソートすると以下の表が完成します。
売上に応じて顧客がランキングされた表が作成されました。
RANK関数では値が同一の場合には順位が同じになります。ユニークな順位を計算したい場合にはRANK_UNIQUE関数を利用します。
RANK_UNIQUE関数を利用したチャートに順位変動を表すバンプチャートが挙げられます。以下のページで作成方法を紹介しています。
YouTubeでも紹介していますのでぜひご視聴ください。
RUNNING関数
RUNNING関数は最初の行から現在の行までの集計値を返す関数です。
RUNNING_fx(expression)
パーティション内の最初の行から現在の行までを対象にfxの集計方法でexpressionの集計値を返します。
fxには合計値を返すSUM、平均値を返すAVG、最大・最小値を返すMAX・MIN等の関数を指定することができます。
スーパーストアのデータを利用した例をみてみましょう。
売上の累積平均の計算式を計算フィールド定義して「RUNNING_AVG」という名称で作成します。
計算結果を確認してみましょう。
データペインの「オーダー日」を行にドラッグ&ドロップして年と月を設定します。
ビューの表に「売上」と作成した「RUNNING_AVG」をそれぞれドラッグ&ドロップします。
表の数値を見てみると、例えば2016年6月のRUNNING_AVGの値は以下のように2016年1月から6月までの売上の平均値になっていることが分かります。
WINDOW関数
WINDOW関数は指定する範囲における集計値を返す関数です。
WINDOW_fx(expression, [start, end])
現在の行から指定したstartだけ前の行からendだけ後ろの行までの範囲で、fxの集計方法でexpressionの集計値を返します。
fxには合計値を返すSUM、平均値を返すAVG、最大・最小値を返すMAX・MIN等の関数を指定することができます。
スーパーストアのデータを利用した例をみてみましょう。
前後3ヶ月間の売上合計の平均値を計算する式を定義して「WINDOW_AVG」という名称で作成します。
計算結果を確認してみましょう。
データペインの「オーダー日」を行にドラッグ&ドロップして年と月を設定します。
ビューの表に「売上」と作成した「WINDOW_AVG」をそれぞれドラッグ&ドロップします。
表の数値を見てみると、例えば2018年6月のWINDOW_AVGの値は以下のように2018年5月から7月までの3ヶ月間の売上合計の平均値になっていることが分かります。
本ページではTableauの表計算関数の中からよく利用するLOOKUP、RANK、RUNNING関数、WINDOW関数を紹介しました。