【急にTableau担当者に任命された方向け】はじめてのTableau講座vol.3 Excelを再現せよ
さして知識もないのに急にTableau担当者になった皆さんこんにちは。
あなたたちが直面する命題は、おじさん達からの「これまでExcelでやってたあのデータをTableauに出来ないの?」という問いかと思います。
TableauとExcelでは得意分野が違う
渡されたデータはよくある「月別の売上実績と前年比の数表」だったりしませんか?
そして、前年比または前月比ってTableauで出すにはどうすりゃええねんと思いませんか?
まず前年比とは、前年の同じ月を100%とした場合、今年の月がどのくらい増減したかをパーセンテージで表すものとして本記事では定義します。
前年の売上が100万円、今年の売上が150万円なら、前年比は150%です。
こういった比率はExcelのデータでよく見られます。
Excelは表計算ソフトですので、○○比とかを出すのは得意なのですね。
複雑な関数を駆使しなくても、ここのセルとここのセルを比較すれば○○比の出来上がり。とても直感的に数表が作れてしまいます。
しかしTableauはBIツールです。データをビジュアル化して見やすく理解しやすいものにするのが得意。なんでもグラフにしてくれます。
でも、グラフに前年比を付けるには、まず数表が必要になりますよね。そう、Tableauが苦手な奴です。
Tableauだって前年比を作りましょう!
Tableauが苦手なもの、それは数表。
元々Tableauは集計したデータを図で表すツールなので、非集計のデータをそのまま扱うのはあまり得意ではないのです。
数字を入れたはずなのに勝手にグラフにしてくれるところを見ても自明です。
ではどうすればいいか。
本日のお題は「地域別月別売上前年比」を作る、です。
こちらはExcelで作成した地域別売上前年比です。まずはピボットテーブルで月別売上を作り、その下に数式で前年同月比(「=当年売上/前年売上」的な数式)を作成しました。作業時間はおよそ1分です。


これと同じものをTableauで作成しましょう。
まずは列にオーダー日の年月、行に地域を入れ、売上をドロップします。

するとこうなるかと思います。

で、どうしたら前年比を作れるのでしょうか?
そうです、TableauにはExcelみたいに自由にセルがあるわけではないので、集計セルの下の空いているセルに数式を入れればいい、とはならないんですね。
ではどうするのか?
前年売上と前年比は数式で作ります
まず前年売上を調べる数式を作成して、前年売上と当年売上を比較する数式を作成、その作成した数式を数表に追加するのです。なるべく間違いのない前年比を出すために、二段階の数式を推奨します。(前年売上はツールヒントに表示させるなど、他にも色々使えます)
Excelなら一発なのですが、Tableauの苦手なところですね。
①前年売上を調べる数式を作る
前年売上を調べるにはLOOKUP()関数を使います。これはデータを順番に並べた時に、12個前の数字を探して持ってくる、という数式です。
マイナスをプラスに変えれば、12個後の数字を持ってくることも出来ます。
これで月別の売上集計の場合は、12ヶ月前の数字を持ってきてくれます。
データペインを右クリックして「計算フィールドの作成」を選ぶか、売上を右クリックして「作成」から計算フィールドを選びましょう。
どちらでも出来るものは同じです。



LOOKUP(SUM([売上]),-12)の式の前に「ZN」という関数を入れています。
これは「値がNULLの場合は0を入れる」という関数です。必ず入れておきましょう。
②前年比を調べる数式を作る
前年売上が取れたら、当年売上と比較して前年比を出すための計算フィールドを作ります。

これを月別粒度で集計されている数表に追加すれば、数表と同じ粒度で売上を集計してくれて、二つを比較してくれます。前年売上のほうは元の数式にSUMが入っているのでこれ以上SUMは付けません。
この売上前年比をビューに入れましょう。カードのテキストにそのまま入れても大丈夫です。

これで売上と前年比が並びました。

さて、こちらの数表でところどころ数字が抜けているセルがありますね。
毎月売上があれば全部埋まり、綺麗に前年比が出るのですが、このままではうまく行きません。

ではこの一年後となる2015年の四国はどうなっているか、見てみます。

これを棒グラフにしてみましょう。右上の表示形式アイコンから、真ん中の積み上げ棒グラフを選びます。

カラフルな積み上げ棒グラフが出来ました。
このままでは見づらいので、地域は色ではなくフィルターにドラッグし、確認のため四国のみ表示させましょう。

では、2015年の1月と2月はどのように表示されているでしょうか。

前年比57.6%???
なんでやさっきまで0やったやん、と言いたくなる気持ちをグッとこらえて、LOOKUP関数を思い出してください。
これはデータを順番に並べた時に、12個前の数字を探して持ってくる、という数式です。
そう、つまりデータを順番に並べた時に、売上が欠損している月は飛ばされてしまいます。さっきまでは四国以外の地域で売上があったので飛ばされることはありませんでしたが、四国のみに絞った場合はこのように欠損値は飛ばされてしまいます。
Excelでもピボットテーブルで月別売上を集計したら、データの無い月は表示されないのと同じことです。
空の列を表示しましょう
Tableauには便利な機能があり、データがなくても表示させることが可能です。
分析メニュー>表のレイアウト>空の列を表示を選んでください。

するとこのようにデータの無い月もきちんと表示してくれます。

前年比が棒グラフというのがなんとなく気持ち悪いので、折れ線グラフに変更します。

【注意】この時、前年比の計算フィールドにZN関数を入れていなければ、途切れ途切れの線グラフになってしまいます。その場合はNULL値のインジケーターを右クリックして、「既定の位置でデータを表示する」を選択してください。

最後に売上前年比の軸を右クリックして二重軸を選択すれば、完成です。


出来ました!色はTableauが勝手に良い感じにしてくれます。
地域の色が入っていない?さっきフィルターに変えちゃいましたからね。
戻す場合はマークから売上のみを選択し、色に入れて下さい。

今度こそ完成!
これで最初のExcelと同じものが作成できました。

このように、Excelでならすぐに作れるグラフでも、Tableauは少し苦手なものがあります。
Excelが巨大な方眼紙でどのセルにでも自由に値を入れられるのに対し、Tableauは常に集計結果を表示させるものだからです。
このあたりの違いを意識しながら、Tableauに慣れていきましょう。
