エクセル月報Tableau化 2024年4月号 -Tableau日付処理-

どうもmamma_dsです。エクセル月報をTableau化したいお話をよく聞きます。エクセルは自由すぎますね、手間はかかりますけど。実際に自由すぎるエクセルをTableau化した事例(多少変えてますが)をご紹介していきたいと考えております。2024年4月号は月報の日付処理です。

今月のTableau月報 -Tableauでの日付処理-

指定した月で、売上と利益の推移を確認します。月報月を基準として、過去1年間の月ごとのデータを可視化。また前年同月とも比較をします。

今月の月報ポイント

・自動(月が変わっても)で先月までデータを可視化
・先月から過去2年分のデータをソートして可視化する

活用する機能

・パラメーター:月報月の選択
・datediff:月報月からの月数を確認
・fixed:棒グラフをソートするために活用
・累計:簡易表計算で累計を計算

データに関しての補足説明

サンプルスーパーストアのデータを使っていますが、月報にするためにオーダー日を細工しています。
今日を基準にオーダー日をずらしています。具体的にはオーダー日の最大値と今日との差をオーダー日に足しています。これで、疑似的にデータが日々更新されているかのように見せています。

DATE(DATEADD('day',DATEDIFF('day',{fixed:max([オーダー日])},now()),[オーダー日]))

Viz(Tableau月報)の作り方

パラメーターで月報月を選択できるようにする

パラメーターを活用して、いつの月報を表示するのか指定できるようにします。月報なのでデフォルトで先月を選択するようにします。よって、いつ見ても先月までのデータを可視化できるようにします。

パラメーターの設定

今日(now())との差分を示せるように整数でパラメータを作成します。このようにすることで、今日を基準として、いつの月報を表示したいのか選択できます。さらに、月が替わると、何もしなくても、常に先月の月報が可視化されます。1年前等の古い月報を可視化したいときは、さらにパラメータを追加する必要があります。

月報月から過去2年間の判定

前年同月比較をしていますので、過去2年間の判定が必要となります。先ほどのパラメーター[月報月]が基準となります。

([月報月]-24 < DATEDIFF('month',now(),[オーダー日(月報用)])) and
(DATEDIFF('month',now(),[オーダー日(月報用)]) <= [月報月])

DATADIFFは日時の差分を算出する関数です。[オーダー日(月報用)] - now()(今) の計算をしています。

月報月から過去1年の判定

今年と前年を色分けするために、過去1年の判定を行っています。計算は過去2年の数値が変わるだけです。

([月報月]-12 < DATEDIFF('month',now(),[オーダー日(月報用)])) and
(DATEDIFF('month',now(),[オーダー日(月報用)]) <= [月報月])

 

売上累計推移(前年同月比較)、利益累計推移(前年同月比較)の可視化

一見、可視化は簡単そうに見えるのですがソートがちょっと難しいです。単順に月でソートすると1月~12月になってしまいます。そうではなく、月報月を基準(月報月が一番右側にくる)とします。

月報月を基準にソートする方法

ちょっと難しいが、以下のような計算フィールドを作成する

{fixed DATETRUNC('month',[オーダー日(月報用)]):
    max(DATEDIFF('month', DATEADD('month',[月報月],now()), [オーダー日(月報用)]))}

「月ソート用の確認」シートを見て頂くと結果がわかりやすいと思う。

計算フィールドできたら、オーダー日(月報用)で並び替えを行う

月ソート用で並び替えを行う

売上推移(前年同月比較)、利益推移(前年同月比較)の棒グラフ作成

棒グラフも「月ソート用」でソートすればそれほど難しくなく作成できる

Language »