お疲れ様です。きざきまるおです。
皆さんはPowerBIの日付処理をうまく行えているでしょうか?
最初の内はかなり苦戦するかと思いますので、そんな方のお助けになれればと思います。
それではどうぞ。
日付型の分解
動作を確認するために、まずは以下ファイルをPowerBIに取り込みましょう。
日付型のデータは内部的に「yyyy/mm/dd hh:mm:ss」という形になっています。
しかし、テーブル間の操作、スライサーでの絞り込み、DAXでの条件として利用するときには上記の形のままだととても不便に感じると思います。
そのため、まずは日付型を分解することを考えましょう。
以下のカスタム列を作成することで分解することが出来ます。
※1行づつカスタム列を作成してください。
年 = YEAR('orders'[日付])
月 = MONTH('orders'[日付])
日 = DAY('orders'[日付])
時間 = HOUR('orders'[日付])
分 = MINUTE('orders'[日付])
秒 = SECOND('orders'[日付])
営業日
所定の時間以降は次の営業日とするケースが結構あるかと思います。
そんな時は以下カスタム列で乗り切りましょう。
※17:00以降を次営業日というケースを想定しています。
次営業日 =
IF(
'orders'[時間] > 17,
'orders'[日] + 1,
'orders'[日]
)
これを日付型に戻すときは以下カスタム列でOKです。
次営業日_日付 = DATE('orders'[日付].[年], 'orders'[日付].[MonthNo],'orders'[次営業日])
月度の切り替わりが20日の場合もこちらを応用すれば行けます!
年度のスタート
日本の会社だと年度始まりが4月なことも多いですよね。
これをグラフなどで表現するときに困ることがあるかと思います。
そんなときに以下手順を踏めば解決です。
並び順と月のテーブルを準備する。
(今回はExcelで準備しますがどのソースでも問題ないです)
PowerBIへ取り込み後、「月」列を選択して「並び順」で列を並び替える。
最後に月マスタとordersテーブルを「月」列でリレーションを張ります。
するとグラフの月の並び順が4月からになります。
(もちろん表でも4月からになります)
それではまた。