日付データを半期毎でグループ化する(計算フィールドで調整する)

メモ:

Tableau で、半期ごとのグループを作成する方法の続きです。日付項目を1年減算したり日付項目をばらして文字列として扱ってみましたが一長一短あります。

動作環境:

  • Tableau Desktop 2020.2

日付項目を1年減算

メニューにある「分析」 - 「計算フィールドの作成」を選択します。

計算フィールドの作成メニュー

表示されたダイアログに次の式を入力します。

date(dateadd('year',-1, [出庫日]))

計算フィールドの名前を「DispDate」として「OK」ボタンをクリックします。

計算フィールドの作成

式に間違いがなければ、データペインの[ディメンション]に「DispDate」と追加されます。

ディメンションの追加状態

テキスト表で結果を確認してみると1年減算されたデータが用意されていることを確認できます。

テキスト表による結果確認

年が1年ずれているので、年度の表示も正しくなります。

年度表示の確認

しかし、この方法の場合閏年のデータが適切に表示されなくなることや見かけ上の日付ができることで利用する側が理解し気を付ける必要が出てきます。

日付フィールドを分解し文字列として扱う

日付を文字列として扱う時点で時系列に扱えないという問題が発生することが考えられますがこれも一つの方法になります。

メニューにある「分析」 - 「計算フィールドの作成」から年度フィールドを作成します。

if month([出庫日])>=4 then str(year([出庫日]))+"年度"
else str(year([出庫日])-1)+"年度"
end

同じように上期・下期を表す半期フィールドも作成します。

if month([出庫日])>=4 and month([出庫日])<=9 then "上期"
else "下期"
end

最後に月を表す月フィールドも用意します。

str(month([出庫日]))+"月"

式に間違いがなければ、データペインの[ディメンション]に「年度」「半期」「月」の3項目が追加されます。

フィールドの追加状況

作成したフィールドを階層にしたいのでデータペインの「年度」を右クリックし、「会計年度」という名前で階層を作成します。

階層の作成

作成した階層に「半期」,「月」のフィールドを追加します。

階層にフィールドを追加

作成した階層を基にテキスト表を作成します。年度表示は良いようですが、「半期」や「月」の表示が狙った形になっていません。

テキスト表による確認

これらは、「半期」,「月」の項目を並べ替えることで対応できます。

「半期」,「月」を並べ替え

階層は実現していますが作成したフィールドは文字列であり日付型ではないので注意が必要です。