Data saber Boot Camp :IntermediateⅡ編
こんばんわ。週末ようやく退院した息子がなんと今度は流血事件を起こしました(-o-;
バランスを崩して口を強打したわけなんですけど、急いで血だらけの服のまま歯医者で見てもらいました。歯に別状はないようで、今は唇が膨れ上がってたらこ唇になって食べ物が食べづらそうです。苦笑 一難去ってまた一難。しばらくTableauから離れてしまいましたが、気合いを入れ直して頑張ります!
**********************************************************************************************
今回はIntermediateⅡにたくさん出てくる計算式問題をメインにまとめていきたいと思います。なんたって計算式問題は大の苦手!!
ここでしっかりまとめて覚えていきたいと思います。
---------------------------------------------
Data saber Boot Camp :IntermediateⅡ編
Q1・・・If-elseif-else文
Q2・・・パラメーター+If-else文
Q7・・・表計算ランク付け+ハイライト
Q12・・・パラメーター+IIF文+ブレットグラフ
---------------------------------------------
▼Q1
ーサブカテゴリの売上を以下のように分類し、それぞれのサブカテゴリがどこに属するかわかりやすいように表現してください。また、サブカテゴリはカテゴリごとにまとめておいてください。(2000万円以上/1000万円以上/500万円以上/500万円以下)
シンプルに下記のようにグラフ化したあと、ここで使うのがIf-ELSEIF-ELSE文です。
※昔受験勉強の時に、青のペンで書くと記憶に残りやすいって言われませんでした…?
▼If-ELSEIF-ELSE文(IF複数条件)
IF (条件1) THEN (条件1に合致した時に返す値)
ELSEIF (条件2) THEN (条件2に合致した時に返す値)
ELSEIF (条件3…) THEN (条件3…に合致した時に返す値)
ELSE (いずれの条件にも合致しない場合に返す値)
END
↓↓↓
※今回、計算フィールドに書き込む計算式
IF SUM([売上])>= 20000000 then "2000万以上"
ELSEIF SUM([売上])>= 10000000 then "1000万以上"
ELSEIF SUM([売上])>= 5000000 then "500万以上"
ELSE "500万以下"
END
↓↓↓
つまり
もし、合計(売上)が20000000以上だったら、"2000万以上"という文字列を返してね
そうでない場合、
もし合計(売上)が10000000以上だったら、"1000万以上"という文字列を
もし合計(売上)が5000000以上だったら、"500万以上"という文字列を
そのいずれの条件にも合致しない場合は、"500万以下"という文字列を返してね
おわり♪
という内容ですね!
エクセル関数ならこんな感じで指定の数値を入れるだけで計算式を組んでくれるけど、
Tableauは自分で公式まで書かないといけないからハードル高いですよね。。
例:エクセル VLOOKUP
文系脳のわたしには死ぬほど辛いです…涙
でもここを乗り切らないと、Advanceにいけませんからね。踏ん張りどころです。
あとは、その計算フィールドで作成したピルを色に入れると棒グラフが
2000万円以上/ 1000万円以上/ 500万円以上/500万円以下で色分けされました!
綺麗だし、気持ちいい!
凡例にも●●円以上~と各名称が表示されてわかりやすいですね。
クラスターを使って分けたりすると凡例名称が”クラスター1、2、3”とかになってよくわからないけど、こうやって計算フィールドを使って名称を指定すると良いんですね。
最後に、アナリティクス→リファレンスラインからそれぞれの価格ラインを引いてあげるとよりカテゴリ&サブカテゴリごとの売上が分かりやすくなりました。
ちなみにKTさんはTableau Boot campの動画の中で、計算式を書かずに表現する方法を紹介してくれています。私のように計算式がニガテ!という人はこっちの解き方も覚えておくことをおすすめします。
DATA Saber Boot Camp Week4 "HandsOn - Intermediate II" - YouTube
Q2
ー売上と利益に関するダッシュボードを作りたいのですが、スペースが狭すぎて見づらくなってしまいました。
売上と利益を同時に見る必要はなく、ボタンを押して切り替えるようなレイアウトにすることはできませんか?なお、本設問ではVizの形や配置を変える必要はありません。
たしかに見づらいですね~
この『カテゴリ別売上・利益推移』と『サブカテゴリ別売上と利益』の2つのグラフが、売上/利益を縦に分けて見せているので、ボタン操作で切り替えて見せられるようになればいいね、ということですね。
今回は【パラメーター】とシンプルな【IF関数】を使います。
まずは『カテゴリ別売上・利益推移』『サブカテゴリ別売上と利益』それぞれのページで、画面切り替えの設定をしましょう。
いずれかのページ上で、まずは”売上/利益の画面切り替え用のボタン”をパラメーターを使って作成します。
(↓こういうやつを作りたいんです)
↓パラメーターの使い方、このサイトの記事がとてもわかりやすかったです
では早速作ってみましょう。
”パラメーターの作成”を選択し、下記のような内容で設定します。
出来たパラメーターフィールドをマークの「詳細」に入れると
まずは画面右のように、希望していた”売上/利益の画面切り替え用のボタン”が表示されました。
今のままだとただのお飾りなので、これが機能するように仕込んでいこうと思います。
それでは”売上/利益が切り替わる計算式”を計算フィールドで作っていきます。
▼If文
IF (条件) THEN (条件に合致した時に返す値)
ELSE (条件に合致しなかった時に返す値)
END
↓↓↓
※今回、計算フィールドに書き込む計算式
IF[売上・利益の切り替え]="売上" THEN SUM([売上])
ELSE SUM([利益])
END
↓↓↓
つまり
もし、[売上・利益の切り替え(←パラメーターボタンのこと)]が、
[売上]を選択したら”#売上”を返してね。
そうでない場合は、"#利益”を返してね。
おわり♪
という文ですね。
この計算式で作成したフィールドを行の”売上””利益”と入れ替えます。
するとパラメーターで選択した項目に合わせて、
1画面内で”売上/利益”を切り替えて表示出来るようになりました!
今回『カテゴリ別売上・利益推移』ページで行ったことを
『サブカテゴリ別売上と利益』でも同じように調整します。
そしてダッシュボードに戻ってみると、見事パラメーターの選択にあわせて
『カテゴリ別売上・利益推移』『サブカテゴリ別売上と利益』の売上/利益グラフが
切り替わり表示されるようになりましたね。
▼Q7
各地域ごとの売上TOP3サブカテゴリを見たとき、全ての地域で存在している(TOP3にランクインしている)サブカテゴリはありましたか?
なお、TOP5で見たい人やTOP10で見たい人もいるようなので、ビュー上で変更できるように工夫して下さい。
今回は計算式関係ない問題ですが、結構使えそうな技が詰まっていたので備忘録として入れておきます。
まずは”売上”を列に、”地域”と”サブカテゴリ”を行に入れてみると下記のようになります。一応これでも各地域の売上TOP3のサブカテゴリはわかりますが、
見づらいですよね。
かといって、サブカテゴリをフィルターに持っていって
売上上位3位まで表示に絞ると、地域ことではなく”全体の売上のうち上位3位までのサブカテゴリ(椅子・本棚・コピー機)で絞った結果”が表示されてしまいました。
これだと期待した結果ではないですね。
各都道府県それぞれの売上TOP3を知りたいので、列の”売上”をコピーして
そのうち1つを”簡易表計算”→”ランク”に設定します。
ただこのままだと、表全体のランキング数値になってしまうため
(※カテゴリは17個なのに、普通に35位とかあるのでアレ?となります)
各地域ごとのランキングに修正するために”表計算の編集”→次を使用して計算で”ペイン(下)”を選びます。
そうすると、各地域ごとに1~17位が表示されました。
次に、表計算からランクにしていた”売上”のピルを不連続に変更して
列から行に移動するとランクがサブカテゴリの前に表示されました。
それを利用して、ピルごとフィルターに持っていってランク3までで絞ると、
各地域の売上TOP3のサブカテゴリを見ることが出来るようになりました。
ただし問題では、
なお、TOP5で見たい人やTOP10で見たい人もいるようなので、ビュー上で変更できるように工夫して下さい。
とも言っていますね。
なので、ビューワーが自分で選択できるようにしてあげたいと思います。
フィルターの”売上”を不連続→連続に変更すると
さきほどはチェックボックスだったランクフィルターが、下記のようにバーで最大値を選択できるようになります。
これでようやく、ビューワーが上位何位の売上結果までを見たいかを
調節することができるようになりました。
(※また下記は、サブカテゴリ→ハイライターを表示を選択して、選択したサブカテゴリがどの地域のランキングに入っているかをひと目でわかるようにしています)
▼Q12
全地域の売上をマーケティング施策によりそれぞれ10%ずつ向上させたいと考えています。しかしマーケティング費用も限られているため、全カテゴリに対して施策を打つことができません。
施策を打つと元の売上から10%,20%と10%単位で向上できると仮定して、
最も少ない%で全地域の売上10%UPを達成できるマーケティング効率のよいカテゴリはどれでしょうか?
また、その際何%UPする必要があるでしょうか?
なお、基準になる売上は2016年のものとします。
はい、問題文が長くなってまいりました。
これはつまり”2016年を対象に、どのカテゴリーを何%伸ばせば、全地域の売上10%アップを達成出来るか”という問いですね。
IntermediateⅠのQ3、Q11でも登場したブレッドグラフを使って解いていきたいと思います。
まずは、単純にオーダー日をフィルターに入れて、基準値となる2016年に絞って
見てみることにします。列に地域を、行に売上をいれて一応見てみます。
ふむふむ、これが2016年の基準となる地域別の売上か。
まずは、全カテゴリに対して施策は打てないと言っているので
対象のカテゴリを選択して施策をかけていく必要がありますね。
その”カテゴリを分けて表示させるためのパラメーター”を作りたいと思います。
作り方としては、
データ型はカテゴリなので”文字列”に。
許容値は”リスト”を選択し、
値は、カテゴリの内容をそのまま挿入します。
名称は、『対象のカテゴリ』としました。
次に、”売上を10%ずつ向上させるアクション”をパラメーターで作ってみたいと思います。
考え方としては、
アクションとして使う数値はパーセンテージ%なので
データ型は整数ではなく”浮動小数点数”に。
表示形式も同じく”パーセンテージ%”に設定。
許容値は”範囲”で選択し、
最小値は、向上施策を行うことでマイナス‐になることな無いと考えて”0”を。
最大値は、+100%を超えることはないと考えて”1”。
ステップアップサイズは、10%ずつで設定したいので”0.1"としています。
名称は、『売上向上施策』としました。
ここからは、このパラメーターを動かすための計算式を計算フィールドに入れていきます。
▼IIF文
IIF ( <件式>, <結果>, <それ以外> )
IIF文はExcel関数のIFに近いと言われていて、
返す答えがTrueかFalseの2択になります。
条件が正しければ前者の答えが、間違っていれば後者の答えを返します。
↓↓↓
※今回、計算フィールドに書き込む計算式
IIF([カテゴリ]=[対象のカテゴリ] , [売上]*(1+[売上向上施策]),[売上])
↓↓↓
つまり
もし、カテゴリが[パラメーターで選択された対象のカテゴリ]と一致したら、
”売上×(1+[売上向上施策]) , [売上])”を返してね、
それ以外は通常の”売上”を返してね
という文です。
こちらは名称を『売上UP』としておきます。自分でわかれば何でもいいんですけどね。
計算式で作成した上記『売上UP』を行の”売上”入れ替えます。
そして次に基準となる”2016年の売上の110%を達成したかどうかを判断する”ために
リファレンスラインをひくことにします。
設定は、分布。
範囲は、セルごと。
値は目標となる110%にして、対象は”(2016年の)売上”です。
いつものように下を塗りつぶしにすると分かりやすいですね。
あとは110%のリファレンスラインを超えて、目標を達成した時に色が変わる仕様にしたいので下記の公式をマークの”色”に入れます。
SUM([売上UP])>SUM([売上])*1.1
→”売上UP(自分で作った計算フィールドの名称)”よりも、売上×1.1(110%)が大きくなったら、色をつけてくださいという指示ですね。
これで、パラメーター『売上向上施策』を10%ずつ動かしていくと
各地域の売上が延びていくのがわかりますね。
110%を達成した地域は赤く色が付きますので、分かりやすいです。
それにしてもブレットグラフがよくでてきますね。
これだけでてくるので、最終試験でもきっとでてくるのでしょう。
しっかりマスターしておきたいところです。
もう少し細かく見ていきたい問題があったのですが、
かなり長くなってしまったので、一旦こちらで終了とします。
IntermediateⅡはもしかしたら、試験前か後に振り返りのための
追加編を作成するかもしれません。
ではまた。