【M言語はむずかしくない!】今回は、空のクエリから、3種類の括弧を使ってテーブルを作成します。テーブルを作成した後は、M関数も作成を行います!その際、M関数を使いやすくする方法についてもあわせて解説します!!
前回は2種類の括弧を使い、エディタ内で各種参照を行いました
角括弧 / [] ➡ リスト、列の抽出
波括弧 / {} ➡ レコードの抽出
前回で、M言語における2種類の括弧の役割がおぼろげながら見えてきたと思います
今回、3種類の括弧を使ってテーブルを作成した後は、過去に紹介した方法とは別の方法でM関数を参照する方法についても解説します!
3種類の括弧に慣れると、M言語がグンと理解し易くなりますし、応用も効きます!
ぜひ、実際に手を動かして取り組んでみてください
まずは、空のクエリを作成するところから行います
なお、
他のクエリも後程参照したいので、演習を行う際には、既存クエリが存在するファイルを使用してください
目次
準備作業/空のクエリを作成
まずは空のクエリから作成します
「データタブ」➡「データの取得」の順でクリックします
その後、下の画像にて黄色に印をつけた箇所を上から順にクリックします

そして、下の画像にある「空のクエリ」をクリックします

するとエディタが開き、空のクエリが立ち上がります

リスト作成
リストは波括弧 / {}を使用して作成します
①値が1個
では、数式バーに={“a”}と入力してみます

リストができ、値がリストに1つ入りました
②値が2個
では、={1,2}と入力してみます

リストができ、値がリストに2つ入りました
③値が10個
こちらは、実際に使う機会がないとは思いますが、エディタ内でデータの構造化が行われていることを肌で感じてもらうために紹介します
={1..10}と入力すると、1から10まで自動的に値が作成されます

④リストが2個:各値1個
波括弧の中にコンマ / ,を介して2つ波括弧を入れると、リストが2個できます
入力はこちらのように入力します
= {{“a”},{“b”}}

上の画像の上下どちらかの”List”をクリックすると、適用したステップ画面に「ナビゲーション」が追加されます

上のGIF画像を見ると、ファイルやフォルダからデータを取得する時に出てくる「ナビゲーター」画面の意味合いが良く分かると思います

⑤リストが2個:各値2個
入力はこちらのように入力します
= {{“a”,”b”},{1,2}}

上の画像の、下のリストをクリックすると、下の画像のようにリスト内容が表示されます

レコード作成
角括弧 / []を使用して作成します
①値1
こちらは=[見出し1=値1]と入力します

①値2
こちらは=[見出し1=値1, 見出し2=値2 ]と入力します

レコードは行方向で通常並んでいますが、今回のように数式バーに直接入力した時は、表示のされ方が列方向になります
テーブル作成
テーブルを作成する場合には、これまでの解説で登場しなかった丸括弧 / ()も使用します
そして、丸括弧のまえに=#tableをつけてます
=#tableとコードを書くことにより、丸括弧 / ()内の内容がテーブルになります
ちなみに#の後に続く、tは小文字のtですので、その点は注意しておきましょう!
①1列:値1
こちらは、=#table({列名1},{{値1}})と入力します

②1列:各列値2
こちらは、= #table({列名1},{{値1},{値2}})と入力します

③2列:各列値2
こちらは、
= #table({列名ⅰ,列名ⅱ},{{ⅰ値1,ⅰ値1},{ⅱ値2,ⅱ値2}})
波括弧の組み合わせが多くなので、上の内容をコピーして修正してみる方法でもいいかもしれません

M関数の用法を参照・作成/列名変更
M関数参照
では、エディタ画面の左から他のクエリを開きます

他のクエリが開いたら、どの列でもいいので、列名変更を行ってみます

すると、数式バーには「Table.RenameColumns」というM関数が表示されているはずです

表示を確認したら、M関数の丸括弧の部分を、下のGIF画像のように全部削除してください

すると、下の画像のようにTable.RenameColumns関数の解説が表示されます

上の画像の解説画面を下にスクロールしていくと、使用例が出ています
これは「CustomerNum」という列名を「CustomerID」に変えるという使用例です

上の画像の使用例には、黄色の印が2か所あります
黄色の箇所の間には、もう一つM関数が入っています
こちらは、通常のテーブルの内容に置き換えておきます
黄色の間の箇所を、置き換えた内容が以下です
Table.RenameColumns(
テーブル名,
{列名変更前, 列名変更後}
)
こちらの内容をコピーして活用し、先ほど空のクエリにて作成したテーブルの列名を変更しましょう!
M関数作成
まずは、「Table.RenameColumns(」の部分を、空クエリで作成したテーブルの前にコピーします

そして、残りの箇所を上の画像の後ろにコピーします
コピーする時には、3行に分かれている内容を1行に集約しておいてください
,
{列名変更前, 列名変更後}
)
コピーした後の画像がこちらです

こちらを既存の列名/氏名と新列名/名前に置き換えます
置き換えた後は、下の画像のように「氏名」の列名の列が「名前」に変更されています

<まとめ>
今回は、大きく分けて2つのことを行いました
1つ目は、3種類の括弧を使用して、空のクエリにて「リスト」「レコード」「テーブル」を作成しました
2つ目は、空のクエリで作成した「テーブル」にて列名を変更するM関数を使用しました
M関数を使用する前に、他クエリで列名変更を行い、記録されたM関数から解説を表示しました

そして、こちらの使用例をカスタマイズして、M関数を使用しました
今回は2回に分けて、3種類の括弧について解説しましたが、括弧の意味・役割をおぼろげながらでも理解できていると、紹介した使用例なども活用しやすくなります
ぜひ、今回の解説を機に3種類の括弧に強くなっていきましょう!
長文に最後までお付き合い頂き誠にありがとうございました
次回は「each」コードについて慣れていきましょう!


コメントを残す