Power AutomatePower Automate for cloud数式自動生成

【Power Automate】コピペで使えるフィルタークエリ生成ツール

Power Automate

Power AutomateのSharePointコネクタの「複数の項目を取得」アクションなどで使用するフィルタークエリを選択式で生成し、コピペできるようにしてみました。
生成AIに聞くのが応用効くので一番いいですが、プロンプト考えるの面倒なので選択式で数式をコピーできるようにしました。

改善・機能追加要望あればコメントなどで教えてください。

フィルタークエリ生成ツール

テキストボックスに入力した値を比較して、フィルタークエリの数式を生成します。

lt

使用時の注意:
・列名は内部名で指定し、文字列を指定するときは''(シングルコーテーション)で囲ってください。
・startswithのBとsubstringofのAには文字列を入力してください。
・フィルタークエリを複数条件(or, and)にしたいときは、生成された数式をorやandでの両側につなげて入力してください。

複数条件の例

列の内部名を取得する方法

SharePointリストの内部名をアルファベット(シングルバイト文字)で命名している場合は内部名=表示名となるので問題ないですが、内部名を日本語(マルチバイト文字)で命名した場合は内部名≠表示名となりフィルタークエリに表示名を入力するとエラーになります。

あとはExcelをインポートした際にも内部名が正しく設定されないので、ExcelからSharePointリストを作成する際はこちらの手順で作成しましょう。

SharePointリストの列の設定から確認する

SharePointリストの画面で右上の設定アイコンをクリック→リストの設定でSharePointリストの列名一覧を確認できます。

内部名を確認したい列をクリックします。

選択後遷移した画面のURLの末尾Field=の後が列の内部名です。

日本語で列を命名してしまうと、以下のようにデコードされてしまいます。

Power QueryでSharePointリストの構成情報を取得する

以下の記事の方法で内部名含むSharePointリストの構成情報を取得できます。

複数の列でフィルタークエリを使用する場合はこちらの方法がおすすめです。

フィルタークエリの他にも列名がデコードされることにより数式の可読性が落ちる場合が多々あるので、列作成の時には英語で列を命名し、作成後に表示名を変更しましょう。

参考

Power Automate のフローに対する [アイテムの取得] と [ファイルの取得] SharePointアクションの詳細な分析 | Microsoft Learn

コメント

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