パワークエリを活用する際に不可欠なM言語では、レコード、リスト、テーブルの3つの要素が重要な役割を果たします。
この記事では、M言語を理解するための第一歩として、この3つの要素について解説します。
リスト
リストとは、縦(列方向)にならんだデータになります。
M言語においてリストは、{ } と , を使って作成をすることができます。
リストの作成
パワークエリエディタで以下の式を記入します。
= {"株","㈱","カブ","カブ"}
シンプルなリストが作成されました。
リストには文字だけでなく、リストの中にリストを記入する事もできます。
リスト内にリストを作成
= {{"株","株式会社"},{"㈱","株式会社"},{"カブ","株式会社"},{"カブ","株式会社"}}
レコード
レコードとは、横(行方向)にならんだデータになります。
M言語でレコードは、[ ] と , = を使って作成をすることができます。
レコードの作成
パワークエリエディタで以下の式を記入します。
= [変換前 = "株" ,変換後 = "株式会社"]
一見すると、こちらも縦のデータに見えますが、「変換前、変換後」が列名で、「株、株式会社」が値になります。
そして、リストの中にレコードも入れることができます。
リスト内にレコードの作成
= {
[変換前 ="株",変換後="株式会社"],
[変換前 ="カブ",変換後="株式会社"],
[変換前 ="㈱",変換後="株式会社"],
[変換前 ="カブ",変換後="株式会社"]
}
テーブル
これまで説明してきた、リストは列、レコードは行 しか表現できないのであれば、行と列の両方まとめて表現するのがテーブルです。(Excelでよく見る縦横の表ですね)
テーブルについても、M言語で直接記入して作成することができます。
(複雑になるので、あくまで参考です)
テーブルの作成
= #table({"変換前","変換後"},
{
{"株","株式会社"},
{"㈱","株式会社"},
{"カブ","株式会社"},
{"カブ","株式会社"}
})
パワークエリエディタにテーブルが作成されました。
最後に、もっと使用頻度の無いと思われる、レコードの中にレコードを入れるパターンの場合
レコード内にレコードの作成
= [変換前 = [変換前="㈱"],変換後 = [変換後="株式会社"]]
実務において、これらM言語を直接入力する機会はありませんが、置換リストで「List.Accumulate関数」を使う時には、「リスト内にリスト」、あるいは「リスト内にレコード」のパターンで作成されることが多いので、覚えておくと応用ができます。
コメント