【解説&備忘録】Workout Wednesday 2021Week01
初めまして、現在Apprentice of DataSaberのNaga35と申します!note初投稿&Workout Wednesday(以下WOW)初挑戦です!
DataSaberのパブリック活動の一環として、今回からTableauに関する内容の投稿をさせていただきます。主に、私が作成したVizに関する解説兼備忘録になると思います。これを機に、記事を書くことにも慣れて、誰かのお役に立てられるような情報を発信していけるといいなぁと思っております(* ^ ^ *)
WOWの取り組み方に関しましては、ArakawaさんのWORKOUT WEDNESDAY 参加方法ガイドを参考にしましたので、ぜひ目を通してみてください。
取り組んだ課題
今回取り組んだ課題は、2021Week1です。一見シンプルな棒グラフだと思い「あ、これなら私でも作れるかも……」なんて考えていましたが、現実はそう上手くはいきませんでした……。
設計と機能の考察
初めての挑戦ということで、上記参加方法ガイドに沿って取り組みました。私なりに、こういうことが必要になるのかなと考え、書き込んでみました。実際は、もっとたくさん必要なことがありましたが……。
作成方法
1.サイドバー[データ]ペインの整形
上図はダウンロードしたデータに接続した際の画面です。
まず、サイドバーの[データ]ペインに表示されている、メジャーとディメンションの整形を行います。
①データ型が【数値(整数)】になっている【Year】を【日付】に修正する。
②【Very low food security Percent of households】は使用しないため、【非表示】にする。
③【Food insecurity (includes low and very low food security) Percent of households】は長すぎるため、【名前の変更】より短縮する。(今回は【Food insecurity】に変更)
2.必要パラメータの作成
上記「設計と機能の考察」で挙げた、2つのパラメータを作成します。データペイン上で右クリックし、【パラメーターの作成】から新規作成が可能です。
①【対象年】パラメータ
はじめに、
(1)名前欄には【対象年】と記入
(2)データ型は【整数】を選択
(3)許容値は【範囲】をチェック
(4)値の範囲で、最小値には一番古い年の【1995】を、最大値には一番新しい年の【2019】を、ステップサイズには1年ずつ選択できるようにしたいため【1】を入力し、全てチェック欄にマークを付ける
(5)許容値を【範囲】→【リスト】に変更し、【OK】をクリック
②【比較年】パラメータ
(1)名前欄には【比較年】と記入
(2)データ型は【文字列】を選択
(3)許容値は【リスト】を選択
(4)値のリストには上から順に、【First Year】【Most Recent Year】【Previous Year】を入力し、【OK】をクリック
※それぞれのパラメータは表示させておく。
3.必要計算フィールドの作成
①対象年の値
以下の計算式を入力し、【OK】をクリック
# 対象年の値
IIF(MAX(YEAR([Year])=[対象年]), SUM([Food insecurity]), NULL)
【Year】の整数値と対象年の整数値が同じである場合、その年の【Food insecurity】の合計値を返します。
②比較年の意味づけ
以下の計算式を入力し、【OK】をクリック
# 比較年の意味付け
CASE [比較年]
WHEN "First Year" THEN IIF(FIRST() = 0, TRUE, FALSE)
WHEN "Most Recent Year" THEN IIF(LAST() = 0, TRUE, FALSE)
WHEN "Previous Year" THEN MAX(YEAR([Year])) = [対象年] - 1
END
【比較年】パラメータにおいて、【First Year】が選択された時は最初の値を、【Most Recent Year】が選択された時は最後の値を、【Previous Year】が選択された時は【対象年】から1を引いた値が返されます。
③比較年の値
以下の計算式を入力し、【OK】をクリック
# 比較年の値
IIF([比較年付与], SUM([Food insecurity]), NULL)
選択された【比較年】の【Food insecurity】の合計値を返します。
④増減率
以下の計算式を入力し、【OK】をクリック
# 増減率
WINDOW_MAX([対象年の値])/WINDOW_MAX([比較年の値]) - 1
【増減率=(変化後÷変化前)-1】で求めることができます。今回は(対象年の値÷比較年の値)-1で求めます。
増減率の計算については、こちらの記事が分かりやすかったです。
増減率をパーセントで求めるには、増減を表す比率から1を引くだけ【Excel割合の問題、就職活動】
⑤点の表示
以下の計算式を入力し、【OK】をクリック
# 点の表示
IF ATTR(YEAR([Year])) = [対象年] or [比較年の意味づけ]
THEN SUM([Food insecurity])
ELSE NULL
END
4.ビューの作成
これで必要な準備は整いました。後は、作成したディメンションとメジャーをドラッグ&ドロップしていきます。
①折れ線グラフの作成
【Year】を行シェルフへ、【Food insecurity】を列シェルフへドラッグ&ドロップ。この時、【Year】は連続になっていること。
②点の表示
(1)【点の表示】を行シェルフへドラッグ&ドロップし、【マークタイプ】を【円】に設定する。
(2)【点の表示】を【二重軸】にする。
(3)ビュー右側の軸上で右クリックし、【軸の同期】をクリックする。
(4)この軸は必要無いため【非表示】にしておく。
③点の色を変更
(1)マークカード内で【点の表示】を選択。
(2)【メジャーネーム】の下辺りで右クリックし、【新しい計算】をクリック。以下の計算式を入力し、Enterキーを押す。
#点の色変更
IF [比較年付与] THEN 1 ELSE 0 END
(3)左の【詳細マーク】をクリックし、【色】を選択する。
(4)画面の右側に表示された【色の凡例】から、【色の編集】をクリック。【パレット】から【自動】→【カスタム分化】を選択。0(左)側の色をクリックし、【色を選択】画面から【HTML】に本課題の指定色である【#F0007B】を入力。【OK】をクリック。
(5)1(右)側は、【基本カラー】から【黒】に変更する。
④外観の調整
(1)【Food insecurity】の軸に【%】を付ける。
(1-1)軸の【書式設定】から【スケール】>【数値】>【数値(カスタム)】をクリック。
(1-2)【小数点】を【1】にし、【サフィックス】に【%】を入力。
(2)「Yearの年」の軸から【年】を外す。
(2-1)【書式設定】の【フィールド】を【合計(Food insecurity)】→【年(Year)】に切り替える。
(2-2)【スケール】>【日付】>【カスタム】をクリック。
(2-3)【書式設定(F)】に【yyyy】を入力。
(3)ヘッダーの非表示
【軸の編集】>【軸のタイトル】に記載されている文言を消す。
(4)NULLの非表示
ビューの右下に表示されている【〇〇個のNULL】を右クリックし、【インジケーターを非表示】をクリック。
5.タイトル&ツールヒントの変更
①タイトルの変更
(1)【増減率】と【対象年の値】を【マークカード】>【すべて】>【詳細】にドラッグ&ドロップ。
(2)タイトル部分を右クリックし、【タイトルの編集】をクリック。以下のように入力する。メジャーやパラメータは、【挿入】から選択する。
(3)データペイン上の【増幅率】から【既定のプロパティ】>【数値形式】をクリック。【カスタム】>【書式設定(F)】に【▲0%;▼0%】を入力し、【OK】をクリック。
(4)データペイン上の【対象年の値】から【既定のプロパティ】>【数値形式】をクリック。【数値(カスタム)】を選択し、【小数点】を【0】にし、【サフィックス】に【%】を入力。【OK】をクリック。
(5)データペイン上の【対象年】から【既定のプロパティ】>【数値形式】をクリック。【カスタム】>【書式設定(F)】に【###0;-###0】を入力し、【OK】をクリック。
②ツールヒントの変更
マークカードより【すべて】>【ツールヒント】をクリック。以下のように入力する。ディメンションとメジャーは、【挿入】から選択する。
6.ダッシュボードの作成
①サイズを【固定サイズ】>【デスクトップブラウザ(1000×800)】に設定。
②【シート1】をダッシュボード上へドラッグ&ドロップ。
③【メジャーネームの凡例】と色の凡例は必要がないため、ダッシュボードから削除する。
④パラメータ【対象年】>【その他のオプション】>【タイトルを表示】のチェックマークを外し、【浮動】を選択。パラメータ【比較年】同様に行う。
⑤パラメータ【対象年】、【比較年】共にサイズを縮小し、それぞれ配置する。
以上で完成です!
所感
冒頭でも述べましたが、一見単純そうなVizでも、ここまで作り込むのだなと、改めてTableauの奥の深さを実感しました。
今回学んだことは以下の通りです。
・パラメータの使い方
・IIFやCASEなどの論理関数
・動的なタイトル表示とツールヒントの工夫方法
あまりパラメータを使ったことが無かったため、とても良いトレーニングになりました。また、関数についてはまだまだ知らないものが多く使いこなせていないので、少しずつ意味を調べて理解し、これから様々なVizで使っていけるよう努力します。
ここまでご精読いただき、誠にありがとうございました!
Tableau Public >>https://public.tableau.com/app/profile/.51795649/viz/WOW2021Week2theVarianceAlongtheLine/1