1. HOME
  2. ブログ
  3. Tableau 特殊チャート
  4. Tableau(タブロー)のWINDOW_SUMとLOOKUPの使い方を理解しながらZチャートを作成してみた

BLOG

ブログ

Tableau 特殊チャート

Tableau(タブロー)のWINDOW_SUMとLOOKUPの使い方を理解しながらZチャートを作成してみた

※注意)弊社代表の独断と偏見です。

 

Tableau(タブロー)のWINDOW_SUMとLOOKUPの使い方を理解しながらZチャートを作成してみた

 

 

 

今回のテーマ

本日も、モヤモヤする関数(モヤ関)の代表格であるWINDOW_SUMLOOKUPを題材にZチャートを作りながらその2つの関数の挙動を理解してみます。Zチャートについては、すでにできる100の新法則 Tableau タブロー ビジュアルWeb分析 データを収益に変えるマーケターの武器 できる100の新法則シリーズで手順(新法則の100)で詳しく紹介されておりますので、ぜひ、そちらもあわせてご覧ください!

なお、弊社企画のセミナー講義中でも多くの受講生がこの関数で戸惑うことが多かったので、一度、こちらの記事で整理しておきます。

 

 

 

目次)

  1.  WINDOW_SUMのオフセット時の挙動
  2.  LOOKUPのオフセット0の時の挙動を確認
  3.  DATEDIFF( )の挙動を確認してみる
  4.  Zチャートの完成

 

 

 

 

1. WINDOW_SUM()のオフセット時の挙動

WINDOW_SUM(計算式, 開始, 終了) をひとことで言うと、指定された範囲(開始、終了)にある値の計算値を返します。実は、単純です。しかし、WINDOW_SUM(SUM(売上),-11,0)と書かれたりすると途端に思考が止まってしまいますよね。-11ってどこだ? 0ってどこだよ。という感じですよね。

 

前提)

0:現在位置を表す

-11:そこから11遡る

そんなイメージで、まずはざっくりとらえてください。

 

◇ WINDOW_SUM(SUM([売上]),-2,0)

こんな式を作ってみてください。

予想は、現在位置からみて-2遡った範囲を合計する、そして、遡る方向は、表計算方向に従う。

そんな結果になるはずです。

早速、確認してみましょう。

 

 

例1)-2から0の範囲はどこだ?

上段は、単なる各年の売上です。

下段は、今回のWINDOW_SUM(SUM([売上],-2,0))の式を配置しました。

 

現在位置:2016とした場合

-2は、2014となります。

 

つまり、2014 – 2016の売上合計となります。

実際に手計算した結果(54,399,562 + 62,020,935 + 72,884,966 = 1,893,055,463)と同じはずです。

 

 

WINDOW_SUM()に関しては、計算方向性とその時の範囲を認識できれば自在に扱えるはずです!

実際に、Zチャート部分の上方パーツを算出するときに使います。

 

 

 

 

2.  LOOKUPのオフセット0の時の挙動を確認する

LOOKUPの基本概念と基本動作については、こちらを参照(LOOKUP項目)ください。

基本動作を説明しております。

 

 

本日は、Zチャートを作る上で理解が必要な、LOOKUP(MIN(オーダー日),0) の挙動を確認します。

まずは、同じように計算フィールドを作ってみます。

 

この時の挙動は、現在位置で、もっとも日付の若いオーダー日を取得するはずです。

 

 

例)LOOKUP(MIN([オーダー日],0)) この0はなんだ?

現在値 = 現在評価対象となっている位置

 

結果は、各月のもっとも若い日付が取得されました。

つまり、0を指定したことにより、現在位置での評価がなされております。

 

 

こちらの関数は、Zチャートの日付範囲を決定する上で重要な役割を持っております。

ぜひ、この場で理解しておいてください。

 

 

 

 

3.  DATEDIFF()の挙動を確認してみる

DIFFDATE(”日付形式”, 日付1,日付2)で日付差を算出します。

 

同じように計算式フィールドを作ってみましょう。

日付2 – 日付1 という計算になります。

従って、5月 – 1月 で4の正の値が返されます。

 

当然、負の値が返されるケースもありますので注意してください。

DATEDIFF(“month”,date(“2017/05/01”),date(“2017/01/01”)) の場合は、-4になります。

大事な点は、差分がマイナスになるのか、プラスになるのか、そこを強く認識してください。

 

累計パーツで利用しますので、ぜひ、しっかりと理解しておいてください。

 

 

 

4.  Zチャートの完成

それでは、一気にZチャートを完成させてみたいと思います。

今回は、2016/01 – 2016/12の範囲でチャートを完成させます。

今まで出てきたことが理解できれば大丈夫です。

 

 

完成図)

 

ポイント3つ

 

◇日付制御フィルタ

オーダー日を使ってフィルタ(2016/01 – 2016/12)すると、Zチャートはうまく作れません。

この場合、2015/01 – 2015/12で参照する必要がある売上データもフィルタされてしまうからです。

フィルタされてしまうと、WINDOW_SUM(SUM([売上]),-11,0)で、-11遡れなくなってしまいます

 

ここは、オーダー日でのフィルタを使わずに、特別に、LOOKUP(MIN([オーダー日]),0)という

計算フィールドを使いながら下記のように日付範囲指定(2016/01 – 2016/12)するとうまくいきます。

LOOKUPの計算式フィールド

 

この計算式フィールドを、下記のように、フィルタへ投入。

こうすることで、WINDOW_SUM([売上],-11,0)で、2015年02月から12月のデータにもアクセスできるようになります。

 

 

 

◇移動合計の計算式

WINDOW_SUM(SUM([売上]),-11,0)

・2016/01が現在位置の場合

そこから-11遡ります。

つまり、2015/02から2016/01までの範囲が合計されることになります。

・2016/12が現在位置の場合

そこから-11遡ります。

つまり、2016/01から2016/12までの範囲が合計されます。

ここで、累計パーツの最終地点と合流します。

 

 

 

◇累計の計算式

if DATEDIFF(“month”,date(“2016/01/01”),[オーダー日]) >= 0 THEN
[売上]
END

 

累計は、2016/01から開始できれば大丈夫です。

2016/01 – 2016/01 = 0 なので、0以上で指定します。

そして、これを簡易表計算の「累計」で利用してください。

* 繰り返しになりますが、単純に「売上」を累計にしても今回はうまくいきません。

理由はすでに述べておりますが、オーダー日のフィルタを使わずに2016/01からの累計を差分を利用して指定する必要があります。

 

 

 

 

まとめ)

 

今回は、WINDOW_SUMの挙動と、LOOKUP()の挙動を理解しながら

Zチャートを作成してみました。

特に、WINDOW_SUMの合計範囲をしっかり頭の中でイメージできることが大切です。

同じように、LOOKUPで指定されるオフセットが具体的にどこに該当するのか、そこを理解できると活用の幅がぐっと広がると思います。

これを機に、ぜひ、トライしてみてください!

 

 

 

 

 

関連記事