Power Query M 数式言語のクイック ツアー
このクイック ツアーでは、Power Query M 数式言語クエリの作成について説明します。
注意
M は大文字と小文字を区別する言語です。
Power Query エディターを使用してクエリを作成する
高度なクエリを作成するには、Power Queryの詳細エディターを使用します。 マッシュアップ クエリは、let
式でカプセル化された変数、式、値で構成されます。 変数には、#"Variable name"
のように、# 識別子と引用符で囲まれた名前を使用することで、スペースを含めることができます。
let
式は、次の構造に従います。
let
Variablename = expression,
#"Variable name" = expression2
in
Variablename
詳細エディターで M クエリを作成するには、次の基本的な手順に従います:
let
ステートメントで始まる一連のクエリ式のステップが作成されます。 各ステップは、ステップ変数名によって定義されます。 M 変数には、#"Step Name"
として # 文字を使用することで、スペースを含めることができます。 数式のステップには、カスタム式を使用できます。 Power Query の式言語では大文字と小文字が区別されることに注意してください。各クエリ式のステップは、変数名でステップを参照することによって、前のステップに基づいて作成されます。
in
ステートメントを使用してクエリ式のステップを出力します。 一般に、最後のクエリ ステップは、最終的なデータ セットの結果として使用されます。
式と値の詳細については、「式、値、および let 式」を参照してください。
シンプルな Power Query M 式のステップ
Power Query エディターで次の変換を作成し、製品名を適切な大文字と小文字 (この例ではすべて最初の文字を大文字に変換) に変換したとします。
Item 列に入力された単語の最初の文字を大文字に変換した結果を表示している Power Query エディターのスクリーンショット。
まず、テーブルは次のようになります:
OrderID | CustomerID | Item | Price |
---|---|---|---|
1 | 1 | fishing rod | 100 |
2 | 1 | 1 lb. worms | 5 |
3 | 2 | fishing net | 25 |
Item 列の各単語の最初の文字を大文字に変換して、次のテーブルが生成します:
OrderID | CustomerID | Item | Price |
---|---|---|---|
1 | 1 | Fishing Rod | 100 |
2 | 1 | 1 Lb. Worms | 5 |
3 | 2 | Fishing Net | 25 |
元のテーブルを結果テーブルに投影する M 数式の手順は、Power Query の詳細エディターでは次のようになります:
テーブルを作成し、最初の文字を大文字に変換するためのための M 数式がすべて記載された Power Query の詳細エディターのスクリーンショット。
Power Query エディターに貼り付けることができるコードを次に示します:
let Orders = Table.FromRecords({
[OrderID = 1, CustomerID = 1, Item = "fishing rod", Price = 100.0],
[OrderID = 2, CustomerID = 1, Item = "1 lb. worms", Price = 5.0],
[OrderID = 3, CustomerID = 2, Item = "fishing net", Price = 25.0]}),
#"Capitalized Each Word" = Table.TransformColumns(Orders, {"Item", Text.Proper})
in
#"Capitalized Each Word"
各式のステップを確認してみましょう。
Orders: Orders のデータを含むテーブルが作成されます。
#"各単語を大文字にする": 各単語を大文字にするには、Table.TransformColumnsを使用します。
in #"Capitalized Each Word": 各単語の最初の文字を大文字にしてテーブルを出力します。