Rhea's Mistep

Rhea's Mistep

「IT×語学力」を軸に奮闘する文系SE。IT関連、語学、海外などの情報をゆるゆる綴っていきます。

【PowerAutomate】日本語列でエラー?SharePointフィルタークエリ

発生したエラー

アプリの概要

今回は、Microsoft Power Automate(以下PowerAutomate)を使ってSharePointリスト(以下SPOリスト)のアイテムを消すフローを、Microsoft Power Apps(以下PowerApps)に組み込んでいました。

詳細はこちらの記事を参照してください。

resteps.hatenablog.com

エラーの内容

Filter Query(修正後)



上記の"Get Items"では、フィルタークエリを設定することで、変数(Person)に格納した人の名前と一致する値を持つレコードのみを抜き出したSPOリストを取得しています。

しかし、SPOリストの列名をそのまま設定しても動きませんでした。

エラーの原因

このようなエラーが発生した原因は、SPOリストの列名を日本語で作成してしまったからです。

通常は、"OData_xx"の部分は列項目名をそのまま使用可能。これは、列名と内部列名が一致するからです。しかし、日本語で列名を作成した場合は、列名と内部列名が一致しません。PowerAutomateのフィルタークエリでは、内部列名を使用する必要があるため、一工夫が必要です。

解決方法

フィルタークエリの設定手順

1. 日本語で作成した列項目の内部列名を確認
2. "OData_"を先頭に追加

内部列名の確認

日本語で列項目を作成した場合

列項目「担当」の内部列名

対象のSPOリストにアクセスし、右上の歯車マークから順に「設定→リストの設定→列名をクリック→URLを確認」で内部列名を確認します。URLに書かれている最後の部分が内部列名です。上記の場合は、"_x62c5__x5f53_"が内部列名になります。この列の表示列名は「担当」のため、列名と内部列名が異なることが確認可能です。

英語で列項目を作成した場合

列項目「ToDo」の内部列名

ちなみに、表示列名を英語で設定した場合は、URLの部分が表示列名になっています。

"OData_"の追加

日本語で列項目を作成した場合は、"OData_内部列名"で使う必要があります。そのため、今回の例の場合は、"OData_x62c5__x5f53_"がフィルタークエリで使用するときのSPOリストの列名になります。

この列名だと、フィルタークエリが正常に動きました。

お疲れ様でした!