見出し画像

Tableau×経理 ~期間比較を制覇せよ~

DATA Saberに認定されたのでますます経理ネタを投下せねば、とTIPSもりもりのダッシュボード作ってみたものの、あまりに論点が多すぎたのでちょっとずつ小出し方式に転換です。

経理で使う指標

経理部が作成するクロス集計表に必ずある指標は多分、こんな感じではないでしょうか。
当月/前月/前月比/当期/前期/前期比/単月予算/単月予算比/累計予算/累計予算比
他にも、曜日を揃えた前年比、コロナ前の対2019年比、などもある、とTableau経理部の中で議論しました。
これらの指標をTableau上でいかに効率よく作るか。やり方は色々あると思うので、ここでは1つの方法をご紹介します。

Tableauでの設定

パラメータ(基準日の選択)

・基準日(粒度は年月)
 ※専用のExcelファイルを作ってリスト設定すると楽チン

Excelに選ばせたい日付の一覧を。上書きすれば更新も楽チン

計算フィールド①(前年同月)

前期の計算で利用するので「前年同月」フィールドを1つ作ります
!前年同月=DATEADD("year",-1,[p基準日])

計算フィールド②(該当月判定)

各種判定フィールドを作ります。月単位の粒度にそろえるためにDATETRUNCTします。
!判定_当月=DATETRUNC("month",[オーダー日])=DATETRUNC("month",[p基準日])
!判定_前年同月=DATETRUNC("month",[オーダー日])=DATETRUNC("month",[!前年同月])
ここまでは簡単です。

計算フィールド③(該当期間判定)

次は累計集計のためのフィールドを作ります。例えば、2023年2月を選んだら、4月始まりの会計年度だったら4~2月を集計対象にしたい、といった判定です。(ちょっと改行やコメント込みで長いのでコード方式で)

//基準日から演算した当期期首<=対象日付
MAKEDATE(
    //年は1~3月かどうかで場合分け
    IIF(MONTH([p基準日])<4,year([p基準日])-1,YEAR([p基準日])),
    //月日は固定(会計年度が4月スタートの前提)
    4,1
)<=[オーダー日]
AND
//月単位で見たときに基準日が属する月以下
DATETRUNC("month",[オーダー日])<=DATETRUNC("month",[p基準日])

前期の場合は、[p基準日]を[!前年同月]に読み替えます。
会計年度が異なる場合は4行目、6行目の「4」の部分を修正します。
イベントのStart、Endも同様の方式でとれると思います。

計算フィールド④(個別メジャー)

計算フィールドを作っておくと集計はとっても簡単
!売上_当月=IF [!判定_当月] THEN [売上] END
当期、前年同月、前期、前年同期比の場合は、[!判定_当月]の箇所を読み替えるだけです。

計算フィールド⑤(集計)

計算フィールド④でいきなりSUMすることも考えたのですが、経理に限らず分析案件だとどういう使い方をするか分からないので、集計も別途作ります。
!売上_前年同月比=ZN(SUM([!売上_当月]))-ZN(SUM([!売上_前年同月]))
ミソはちゃんとZNを付けること!(計算フィールド④で対象がないとNULLとなって計算できなくなるので)

Appendix

ソート

経理で作成するExcel表ではやらないこととして、並び替えがあります。(並び替えも簡単にできるように作ることもできますが、そもそも収支表は所定の並び順で見るものなのであまりそういうことはしないです)

CASE [pソート]
WHEN "当月" THEN ZN(-SUM([!売上_当月]))
WHEN "前年同月比" THEN -[!売上_前年同月比]
WHEN "当期" THEN ZN(-SUM([!売上_当期]))
WHEN "前年同期比" THEN -[!売上_前年同期比]
WHEN "項目" THEN NULL
END

パラメータ[pソート]に応じて上記を計算させます。
ミソは項目別に並び替えるときにNULLを返すところでしょうか。
全部NULLなので基の項目のソートに戻ります(多分)。
ここでも、該当データがない場合の備えて、一部の項目にはZNを付けます。
降順昇順はここではマイナスをつけていますが、フィールドの並び替えの設定でもやれます。

年度

経理は会計年度でものごとを考えるので、暦年(1~12月)だと不都合なことが色々あります。
Tableauの会計年度を設定するやり方もありますが、ここを設定するとシンプルな「年」を出そうと思っても「年度(しかもアメリカ方式)」になって使いにくかったので、自分は「年度」フィールドを別途作成しています。
!年度=YEAR([オーダー日])+IIF(MONTH([オーダー日])<4,-1,0)
ちなみに、会計年度をちゃんと設定するとクオーターの表記は正しくQ1~Q4が対応するので、四半期分析をするなら会計年度を設定した方がよいかもしれません。

まとめ

経理でよく使う日付周りのTIPSでしたが、いかがでしたでしょうか。
もう知ってるよ、という方が多いかもしれませんが、悩んでいる、という方もまだいるかもしれませんのでご参考に。

こういうネタやってくれ、がありましたらお気軽にコメントください!
次回以降のネタ候補のイメージはこんな感じです↓↓
・クロス集計表の中に棒グラフやヒートマップを混ぜる
・予算データのつなぎ方(リレーションかブレンドか)

この記事が気に入ったらサポートをしてみませんか?