【Tableau】カレンダー風に可視化してみた

beauty

こんにちは、Yuinaです。

今日は、Tableau Publicを使って、美容&健康記録をカレンダー風に可視化していきます。

よろしくお願いいたします。

使用したデータ

使用したデータはChat Gptによる擬似データです。

2024/1~2025/6まであります。

ジャンル	日付       習慣内容 	実施回数 時間(分) 満足度
ボディケア	2024/01/01	リンパマッサージ	1	7	3
スキンケア	2024/01/02	美白ケア	    1	30	4
スキンケア	2024/01/03	UV対策	        2	30	4
メンタルケア	2024/01/04	アファメーション	2	27	5
ボディケア	2024/01/05	骨盤ストレッチ	    2	29	5

作ってみよう

まず、計算フィールドで「曜日」を作成します。

DATENAME('weekday',[日付])

続いて、月ごとの最終週数を作ります。

FIXEDキーワードでは、それぞれの月ごとに計算を実行することを示します。「MONTH([日付])」は日付を月でグループ化します。「MIN(DATEPART(‘week’,[日付]))」は、各月の週番号の最小値を見つけます。

{ FIXED MONTH([日付]):
MIN(DATEPART('week',[日付]))}

次に、週のディメンションを作ります。

CASE DATEPART('week',[日付])
WHEN [月ごとのの最終週数] THEN "Week 1"
WHEN [月ごとのの最終週数]+1 THEN "Week 2"
WHEN [月ごとのの最終週数]+2 THEN "Week 3"
WHEN [月ごとのの最終週数]+3 THEN "Week 4"
WHEN [月ごとのの最終週数]+4 THEN "Week 5"
WHEN [月ごとのの最終週数]+5 THEN "Week 6" END

日付の計算に関してはこちらを参照してみてください。

日付関数
日付は、多くのデータ ソースに共通する要素です。フィールドに認識可能な日付が含まれている場合、そのフィールドは日付または日時のデータ型になります。Viz で日付フィールドを使用すると、日付階層の自動ドリル ダウン、日付固有のフィルター オプ...

シェルフにディメンションを入れていきます。

列に日付(年)、曜日のディメンションを入れます。

行に週のディメンションを入れます。

フィルターに年を入れ、1年分のカレンダーのみが表示されるようにします。

同様に、日付(月)もフィルタに作成します。

年、月のフィルタの設定で単一値(リスト)にします。

習慣内容のディメンションをマークの「ラベル」のカードにドロップします。

土・日・平日で色分けします。

「土日」のディメンションを計算フィールドで作成します。

エラーが表示されたので、解消します。

「曜日」のディメンションのデータ型が文字列なので、

計算できないとのことです。

以下を作成し、データ型を整数型に設定します。

土日の計算フィールドも編集します。

「土日」のディメンションをマーク「色」のカードへドロップします。

大体完成しました。

ちなみに、テーブル内にある「満足度」のフィルタも設定しました。

満足度は、健康や美容による効果を数値で示したもの、と決めました。

満足度スコア(3〜5)に合わせて習慣内容が表示されるので、よかったら確認してみてください。

まとめ

計算フィールドには、こんな使い方もあるのかぁ〜と知れてよかったです!!

ただ、複数の習慣内容が存在する時に

習慣内容の数だけ、

同じ日付が表示されてしまうので解決したいです。

ありがとうございました✨

タイトルとURLをコピーしました