【Tableau】DATA saber解説 Ord5(HandsOn - Intermediate II)
さて、今回もKTさんの解説動画を見ながら「???」が生まれた点について解説していきたいと思います!
今回一番つまずいたのは、Q9で月を色で分けるところ・・・。
解説動画はコチラ。
Q1.文字列のメジャー
ここでは条件が多いので、IF分岐という手段を使います!
(前の章でセットを学んだことで嬉し気にセットを使おうとしましたが…3つ以上の条件でセット…?はて…?と秒速で躓きました。)
さて、計算式が完成して何か違和感を感じました。
「文字列の不連続値・・・だけどメジャー(集計値)の枠にさっき作った計算式あるな…???」
ここまでTableaurを学んできた私の認識としては
不連続値=ディメンション=非集計値
連続値=メジャー=集計値
だったのですが、ここにきてそうじゃなかったの!?と大焦り^^;
結論から言うと「必ずしも"="ではなく、=の部分は"寄り添う"という風に認識すべし」です。
「≒」ってことですね。
ではどうして今回このようなことになったかというと・・・
計算式の中を見てみるとSUM([売上])を使っているので、集計値となっています。
ですので、SUM([売上])という集計値を持って計算された結果が文字列になっているということです。
Q2.パラメーター
パラメーターは作るだけでは機能しない!計算式にいれたり、ビンを作成する際などに使う!
(ビンについては後ほど説明します)
例)
利益、売り上げを切り替えたい:パラメーター作成
カテゴリ別にみたいとき:フィルターでOK
「3つ以上の条件でパラメーターの計算式をつくりたい場合」
解説で使用されていたIIFは2つの分岐なので使うことができません。
この場合はCASE関数を使えばよいです!
CASE[作成したパラメーター] WHEN "当年" THEN [売上]
WHEN "昨年" THEN [2013年度売上]
ELSE "一昨年" THEN [2012年度売上] END
[作成したパラメーター]が"当年"のとき[売上]を返してね、"昨年"のときは[2013年度売上]、"一昨年"のときは[2012年度売上]を返してね。
Q3.ビン
KTさん「これはビンを使う問題でしたね!」
カメ「・・・。(ビン……….。ググろうか….。)」
はい、ではビンについて説明します🐢
【ビン】
ビンはメジャーから作成できます。ディメンションからは作成できません!
ビンとはすごく簡単に言うと、数字をバケツにいれて区切ったようなものをいいます!
ヒストグラムという、ある特定のデータを区間ごとに区切って、区切った区間の個数や数値のばらつきを棒グラフに似た形の図で表現グラフでビンは使われます。
【ヒストグラムと棒グラフの違いって?】
ヒストグラム:連続したデータの度数を伝える分布、ツールであるため、棒と棒が隙間なく並んでおり、連続している意味合いがあることを表現している。
棒グラフ:ひとつひとつの棒が表す内容はそれぞれ独立した意味を持ち、棒と棒の間には隙間がある。
ビンのサイズは手動で指定もできますし、作成したパラメーターをいれることもできます。
Q9.
移動平均を求めてグラフを作るところまではすんなりと行きました。
これで終わってもよかったのですが、KTさんの動画にあるように
確かに色つけほうがわかりやすいな~、ということで動画を見ながらチャレンジしましたが、これまた分からない^^;
「オーダー日の月をそのまま色に入れたらいいんじゃないの~!?」
なるほど・・・?
今入れたのは不連続の月なのでこのようなことになってしまいます。
横軸がオーダー日の週ですが、ツールヒントを見てみると横一本のグラフがすべて同じ月のデータになってしまっています。
月ごとの傾向を見るため連続値を入れているので、色に入れるのも連続値でなければなりません。
「じゃあ連続値で月を入れればいいのか~🎶」
ほーん?
(´;ω;`)
色に入っている月をダブルクリックして詳細を見てみます。
「DATETRUNC('month', [オーダー日])」
不連続の月は「DATEPART('month', [オーダー日])」
連続の月は「DATETRUNC('month', [オーダー日])」
となっていました。
DATEPART
日付のある部分を数値で取り出す。
デフォルトでは不連続。
計算フィールドで作成した場合はメジャーとして作成されます。(集計値になるのでそりゃそうだ)
DATETRUNC
日付をある単位でまるめた日付時刻にする。
デフォルトでは連続。
◎取り出す、丸める、とは・・・
【取り出す】
[オーダー日] の月を数値として取り出しています。
1月は1、2月は2…といったように、1から12までの数字となります。
曜日を数値で取り出せば(日曜始まりの場合)
日曜が1、月曜が2…となります。
【丸める】
[オーダー日]を月で丸める場合には、日付で丸めるので、
何日の何時でも、その月の1日00時00分00秒に丸めます。
話を戻しますが、じゃあどうしたらよいのか…。
ずばり、「DATEPART('month', [オーダー日])」を集計値にする、です。
それぞれの月に色を付けたい、だけど不連続だとおかしくなる…のであればその値を集計の連続値にしてしまえばよいのです!
計算フィールドにDATEPART('month', [オーダー日])をいれるだけです。
合計値になっているので、中央値or最小値or最大値にします。
動画では中央値を選択していますが理由としては
中央値はその週に含まれる月のうち過半数を選ぶことになるからです。
(そのまま[オーダー日]の月を色に入れて、集計関数(MEDIAN)を式の先頭にいれるのでもよいです。)
そして連続値になっているので不連続にして分けてあげることで
各月に色が付きます!!
Q12.
問題文が複雑なので、かみ砕いていきます!
全地域の売上をマーケティング施策によりそれぞれ10%ずつ向上させたいと考えています。
しかしマーケティング費用も限られているため、全カテゴリに対して施策を打つことができません。
施策を打つと元の売上から10%,20%と10%単位で向上できると仮定して、
最も少ない%で全地域の売上10%UPを達成できるマーケティング効率のよいカテゴリはどれでしょうか?
また、その際何%UPする必要があるでしょうか?
なお、基準になる売上は2016年のものとします。
問題文通り上から作っていくのではなく、①から順番に作成してみてください。
①パラメーター名[シミュレーション対象カテゴリ]
カテゴリは文字列なので、文字列で。
②パラメーター名[売上%増加]
0~1まで0.1ずつ増加させていくので、浮動小数点で。
③ ①と②を使った計算式を作ります。
結構この式が理解できなくて私は悩みました…。
IIF ([カテゴリ]=[シミュレーション対象カテゴリ],[売上]*(1+[売上%増加]),[売上])
⇒もしカテゴリが[シミュレーション対象カテゴリ]と同じだった時、売上×(1
+[売上%増加])を返してね、それ以外は売上を返してね。
もう少し分かりやすく言うと…
(家電を選択/10%を選択 した場合を例に)
もし、カテゴリが家電だったら、家電の売上×1.1倍の結果を表示してね。それ以外の家具と事務用品は、売上をそのまま表示してね。
最後の「それ以外は売上を返してね」の理解に時間がかかりました...。
売上%増加のパラメーターを動かすと、棒グラフ全体が伸びますが、選択しているカテゴリのみ増加して、残り2つのカテゴリはそのままの値となっています。
カテゴリを色に入れたらよく分かると思います。
積みあがっている3つのカテゴリのうち、1つのみ増加、それ以外の売上はそのまま返されているということです。
今回はこの辺で…🐢
過去の記事はコチラをどうぞ。