今回はM関数を使用して、事前にエクセルシートに記入した複数の値を基にしてデータのフィルタリングを行う方法を解説します

M関数を活用する事例となっておりますので、M関数に慣れる機会になれば幸いです
今回使用するM関数は「List.Contains」という関数です
このList.Containsを「each」と組み合わせて活用します
ちなみにM言語では、大文字と小文字を認識するのでContainsのCの入力には注意が必要となります
目次
今回の使用するデータとやりたいこと
ダミーの値でフィルタリング
フィルタリングを行うためのリスト作成
数式バーにリストの組み込み
<まとめ>
今回の使用するデータとやりたいこと
今回使用するデータは、次の画像のデータです
*下の画像では業種IDが4番までしか写っていませんが、実際は12番まであります

上のデータの「業種ID」をいくつかエクセルシート上にフィルタ項目として指定し、指定した業種IDのレコードのみをシートに読み出したいと思います

上のGIF画像では、事前に「2」「4」をシートに読込んである状態から、フィルタ項目に5を足すことで「2」「4」「5」を読み込みました
今回の処理のポイントは、一度ダミーの値にてフィルタリングしてから、作成されたコードにM関数を組み込むことになります
では、解説を本格的にはじめたいと思います
ダミーの値でフィルタリング
まずは、前述の元データをPower Queryエディタ(以降エディタ)に読込ます

次に、新たにできたクエリを「参照」して更に新たなクエリを作成しておきます
参照して作成したクエリの「業種ID・列」にて、次の画像のように適当な値をフィルタリングしておきます

すると、数式バーが次の画像のようになっているはずです

フィルタリングを行うためのリスト作成
エディタ上でフィルタリングを行うためのリストは、エクセルシート上にある前述のフィルタ項目を「ドリルダウン」して作成します
まず、エクセルシート上の業種IDを指定したフィルタ項目をエディタ上に読込みます

次に上の画像の見出しの箇所/フィルタ項目で、右クリックをします

「ドリhttps://analytic-vba.com/power-query/advanced/parameter-drill-down/ルダウン」という項目が出てくるので、こちらをクリックします
すると、次の画像のようにエディタ上にリストが作成されています
*下の画像では作成したリストの名前を「Filter」にかえてあります
