鷹尾祥(アキラ)のExcel BI ブログ

Excelの革新的機能であるパワーピボット/パワークエリ/DAXについて紹介します。

PowerQuery 日付型データ① (基本)

今回はパワークエリの日付型データがテーマです。
それぞれ計算式のサンプルを載せますので実際に手を動かして試してみてください。

デモ用テーブルの用意

まず、デモ用のテーブルを用意します。今回はデータソースは使用せず、以下の手順で空のクエリから作成します。

データメニュー → データの取得 → その他のデータソースから → 空のクエリ

f:id:modernexcel7:20191027174143p:plain

f:id:modernexcel7:20191027174306p:plain

PowerQueryエディターが開きます。

f:id:modernexcel7:20191027174457p:plain

数式バーが表示されていない場合は以下の手順で表示させます。

表示メニュー → 数式バーにチェックを入れる

f:id:modernexcel7:20191027175032p:plain

数式バーに以下の式を入力して、デモ用テーブルを作成します。

= #table({"Number"}, {{1},{2},{3}})

f:id:modernexcel7:20191102235508p:plain

これでテーブルが作成されました。

f:id:modernexcel7:20191102235617p:plain

日付・時刻型

ここから先はカスタム列で計算式を追加し、確認していきます。

列の追加 → カスタム列 を選択します。

f:id:modernexcel7:20191102235740p:plain

以下、下図のようにカスタム列にサンプル式を入力し、それぞれ確認してください。

f:id:modernexcel7:20191103092215p:plain

日付(date)

書式:    #date(年, 月, 日)

サンプル式: #date(2019,7,12)

f:id:modernexcel7:20191103093821p:plain

時刻(time)

書式:    #time(時,分, 秒)

サンプル式: #time(18,30, 45)

f:id:modernexcel7:20191103093853p:plain

日付/時刻(datetime)

書式:    #datetime(年,月,日,時,分, 秒)

サンプル式: #datetime(2019,7,12, 18,30, 45)

f:id:modernexcel7:20191103093919p:plain

日付/時刻/タイムゾーン(datetimezone)

書式:    #datetimezone(年, 月, 日, 時, 分, 秒, +時間, +分)

サンプル式: #datetimezone(2019,7,12, 18,30, 45, 3, 30)

f:id:modernexcel7:20191103093944p:plain

期間(duration)

書式:    #duration(日数, 時間, 分, 秒)

サンプル式: #duration(10, 1, 2, 3)

f:id:modernexcel7:20191103094007p:plain

※ 期間型のデータは上記の日付や時刻に比べると性格が異なります。日付や時間型データに加減算をするときに使用します。

Excelワークブックへの取り込み

ここまで来たら閉じて読み込むを実行して、Excelワークシートテーブルに読み込みます。

f:id:modernexcel7:20191103092719p:plain

そうすると、Power Query Editorでは日付として表示されていたデータが全て数字になってしまいます。

f:id:modernexcel7:20191103092808p:plain

これは、Power Queryのデータ型が「すべて(Any)」型であったことが原因ですので、もう一度クエリを開いてそれぞれの列の型変換を行います。

f:id:modernexcel7:20191103093101p:plain

型の設定が済んだら、もう一度閉じて読み込むを実行すると、日付の表示に変わります。

f:id:modernexcel7:20191103093233p:plain

参考

以下、MS社の公式リファレンスです。画面左上のFilter by Text#dateと入力し、検索してみてください。
Power Query M function reference - PowerQuery M | Microsoft Docs



今回は、日付・時刻型のデータ作成がテーマでしたが、次回は日付・時刻型データの計算(XX日後、月・四半期のの最初の日付の取得など)がテーマです。