Power Query M: 日付型または日付/時刻型の値から有用な値を抽出する
こんにちは!フォンと申します。
株式会社メディアフュージョンのPower BI関連製品の開発を担当しているベトナム出身のエンジニアです。
蓄積された経験をPower BIに興味のあるや利用者などに共有したいです。
Power BI に、一貫した書式の日付または日付/時刻データ型の列を含むデータ セットがあるとします。これらの値から意味のある要素を抽出するにはどうすればよいでしょうか?
Power Query エディターには、日付または日付/時刻型の値一部を抽出したり、有用な値を計算したりするための組み込み関数が用意されています。この記事では、一般的な抽出ケースをいくつか紹介します。さらに、役立つ可能性のある他の多くの変換関数については、Microsoft の公開ページを参照してください。
・日付/時刻型フィールドから日付あるいは時刻を抽出する
・日付型の値から月の名前や曜日名などを作成する(例;月曜日、火曜日。。。)
・日付型の値からの経過時間を計算する(例;従業員の年齢や入社時期など計算します)
まずは、日付/時刻型のデータ列を含むサンプルテーブルを作成します。
① 日付/時刻型フィールドから日付あるいは時刻を抽出する
(1)「列の追加」タブ > (2)「DateTime」列を選択 > (3)日付 >(4)日付のみ
(5)は「日付」の列が出力された結果です。
(1)「列の追加」タブ > (2)「DateTime」列を選択 > (3)時刻 >(4)時刻のみ
(5)は「時刻」の列が出力された結果です。
② 日付型の値から月の名前や曜日名などを作成する
・月の名前の場合は「列の追加」タブで「日付」列を選択して、 メニューの「日付」> 「月」>「月の名前」を選択して、「月の名前」列が出力されます。
・曜日名の場合は「列の追加」タブで「日付」列を選択して、 メニューの「日付」> 「日」>「曜日名」を選択して、「曜日名」列が出力されます。
③ 日付型の値からの経過時間を計算する
(1)「列の追加」タブ > (2)「日付」列を選択 > (3)日付 >(4)期間
結果は「期間」の列が出力されます。しかし、この値は合計日数です。
例えば、年齢の値を計算したいので、合計年数に変換します。
(1)「期間」列を選択 > (2)「期間」 > (3)「合計年数」
結果は「合計年数」列が出力されます。しかし、年数がまだ四捨五入されていません。変換が必要です。
(1)「合計年数」列を右クリックします > (2)変換 > 四捨五入 > (3)切り捨て
結果は「合計年数」列で値が四捨五入されました。