Power Query M 言語のリテラル形式と関数の違い

PowerQuery

Power Query M 言語では、データを操作するためにリテラル形式と関数の両方を使用できます。この記事では、リテラル形式と関数の違いについて説明し、具体的な例を紹介します。

リテラル形式とは?

リテラルとは、プログラム内で直接指定される固定値(=ソースコード内に値を直接表記したもの)のこと。Power Query M 言語では、以下のようなリテラル形式が使用できる。

  1. #date(年, 月, 日):
    • 日付を指定するためのリテラル形式
    • 例: #date(2024, 9, 7) は 2024年9月7日を表す
  2. #datetime(年, 月, 日, 時, 分, 秒):
    • 日付と時刻を指定するためのリテラル形式
    • 例: #datetime(2024, 9, 7, 14, 30, 0) は 2024年9月7日14時30分0秒を表す
  3. #time(時, 分, 秒):
    • 時刻を指定するためのリテラル形式
    • 例: #time(14, 30, 0) は 14時30分0秒を表す
  4. #duration(日, 時, 分, 秒):
    • 期間を指定するためのリテラル形式
    • 例: #duration(1, 2, 30, 0) は 1日2時間30分0秒を表す
  5. #binary(バイナリデータ):
    • バイナリデータを指定するためのリテラル形式
    • 例: #binary({0x74, 0x65, 0x73, 0x74})はバイナリデータを表す
  6. #table(列名, データ):
    • テーブルを指定するためのリテラル形式
    • 例: #table({"Column1", "Column2"}, {{1, "A"}, {2, "B"}}) は2列のテーブルを表す
  7. テキストリテラル:
    • テキストリテラルはダブルクォートで囲まれた文字列
    • 例: “Hello, World!” はテキストリテラルを表す

関数とは?

関数は特定の操作や計算を実行するためのもので、引数を受け取り、結果を返す。リテラルが固定値を直接指定するのに対し、関数は動的な計算や操作を行うために使用される。

例えば、Date.AddDays 関数は日付に指定した日数を追加するために使用される。

サンプルコード

以下に、リテラル形式と関数を使用したサンプルコードを示す。

詳細な説明

  1. BaseDate:
    • 基本の日付を設定します。この例では、#date(2024, 9, 7) を使用しています。
    • #date(年, 月, 日) はリテラル形式で日付を指定する方法です。
    • リテラルとは、プログラム内で直接指定される固定値のことです。
    • # 記号は、Power Query M 言語でリテラル値を示すために使用されます。
    • 例: #date(2024, 9, 7) は 2024年9月7日を表します。
  2. DatePlus10Days:
    • Date.AddDays 関数を使用して、基本の日付に10日を追加します。
    • 結果は 2024-09-17 になります。
  3. DateMinus5Days:
    • Date.AddDays 関数を使用して、基本の日付から5日を引きます(つまり、5日前の日付を取得します)。
    • 結果は 2024-09-02 になります。
  4. CurrentDate:
    • 現在の日付を取得します。
  5. DatePlus30Days:
    • Date.AddDays 関数を使用して、現在の日付に30日を追加します。
    • 結果は現在の日付から30日後の日付になります。
  6. TextLiteral:
    • テキストリテラル "Hello, World!" を設定します。
  7. BinaryLiteral:
    • バイナリリテラル #binary({0x74, 0x65, 0x73, 0x74})を設定します。
    • 0x74, 0x65, 0x73, 0x74は英字(ASCIIコード)でtestです。
  8. TableLiteral:
    • テーブルリテラル #table({"Column1", "Column2"}, {{1, "A"}, {2, "B"}}) を設定します。
  9. in ブロック:
    • in の後に指定されたレコード形式で、すべての変数の結果を返します。

まとめ

リテラル形式は固定値を簡潔に指定するために便利ですが、動的な計算や操作を行う場合には関数を使用します。Power Query M 言語では、リテラル形式と関数を組み合わせて柔軟にデータを操作できます。

コメント

タイトルとURLをコピーしました