アーティサン株式会社
  • Power Automate
  • Power Platform
  • SharePoint

Power Automate「ファイルの取得(プロパティのみ)」でファイル名をフィルターする方法|FileLeafRefを使う理由

この記事のポイント

  • Power Automate「ファイルの取得(プロパティのみ)」のフィルタークエリに、出力結果に表示されるNameやFilenameWithExtensionを指定するとエラーになる
  • ファイル名で絞り込むときは内部名FileLeafRefを使い、FileLeafRef eq ‘test.docx’ のように記述する
  • ファイルパスはFileRef、拡張子はFile_x0020_Typeという内部名でも指定できる
  • 出力JSONに見える項目名と、フィルタークエリ(OData)で使う内部名は別物と覚えておくとハマりにくい
この記事を書いた人
小刀稱知哉

小刀稱 知哉ことね ともや

SharePoint Power Platform全般 Copilot Studio 技術アドバイス・教育支援

Power PlatformやSharePointを中心に設計・開発・アドバイス・教育まで幅広く担当しています。内製化をご希望の場合はお気軽にお問い合わせください!

2025 Microsoft MVP(Power Apps・Power Automate) 2026 Microsoft MVP(SharePoint・Power Automate)
PL-200 PL-300 PL-400 PL-600 MS-700 AZ-104 AZ-305 SC-200 SC-100

Power Automateを用いて、SharePointドキュメントライブラリ上のファイルをフィルター(検索)したい場合があると思います。

上記を実装する場合は、Power Automateの「ファイルの取得(プロパティのみ)」アクションのフィルタークエリを使用します。
しかし、フィルタークエリに”{Name}”や”{FilenameWithExtension}”を用いることはできません。

そこで今回は、小ネタとして「ドキュメントライブラリ上のファイルをフィルターする方法」についてお伝えします。

Power Automateを用いて開発を行っている方にご覧いただきたい内容です。

FileLeafRefとは、SharePointドキュメントライブラリで「ファイル名(拡張子付き)」を持つ列の内部名です。Power Automateの「ファイルの取得(プロパティのみ)」でファイル名を指定して絞り込むには、出力結果に表示される{FilenameWithExtension}ではなく、FileLeafRef eq ‘test.docx’ のようにこの内部名でフィルタークエリを書く必要があります。

SharePointのドキュメント管理をPower Automateで自動化していると、今回のように「出力結果の項目名」と「内部名」の違いでつまずく場面がよくあります。フローの設計や内製の進め方について相談したい方は、下記のサービスもご覧ください。

 

最初に考えた方法(NGな方法)

今回は,SharePointドキュメントライブラリ(TestDocument)に「test.docx」というファイルが保存されています。

ドキュメントライブラリ上のファイル
ドキュメントライブラリ上のファイル

Power Automateを用いて上記ファイルを検索することが今回の目的です。

まずは、Power Automateのファイルの取得(プロパティのみ)アクションを用いてファイル一覧を出力しました。

出力結果は以下です。
(必要部分だけ抜き出して表示しています。)

"value": [
    {
      "{Name}": "test",
      "{FilenameWithExtension}": "test.docx",
      "{Path}": "TestDocument/",
      "{FullPath}": "TestDocument/test.docx",
    }
  ]

Power Automateをある程度触っている方ですと、
この出力結果から「{Name}や{FilenameWithExtension}」でフィルタークエリを記載すればよい」と思うのではないでしょうか。

私も同様のことを考えまして、以下のようなフィルタークエリを設定してみました。

 {FilenameWithExtension} eq 'test.docx'

しかし、結果としてはエラーが発生してしまいました。。。
({Name}を用いてフィルタークエリを記載した場合も同様の結果となりました。)

フィルタークエリ(NG)
フィルタークエリ(NG)

上記結果からも分かるように、フィルタークエリに{Name}や{FilenameWithExtension}を用いることはできません。

 

対策

それではどのようにフィルタークエリを記載すればよいかというと、FileLeafRefを用います。

具体的なフィルタークエリとしては以下です。

 FileLeafRef eq 'test.docx'

こちらで正常に動作するようです。
(ちなみにFileLeafRefに関する情報って公式で出てるんですかね、、、  私は公式情報では見つけることができずに、コミュニティ内で発見しました。もし知ってる方いらっしゃれば教えてください!)

フィルタークエリ(OK)
フィルタークエリ(OK)

 

補足

補足ですが、FileLeafRef含め以下プロパティがありますので、必要に応じて使用してください。

内部名

内容

例

FileLeafRef

ファイル名

test.docx

FileRef

ファイルパス

/sites/SampleSite/TestDocument/test.docx

File_x0020_Type

拡張子

docx

 

おわりに

今回は、小ネタとしてドキュメントライブラリ上に保存されたファイル名にてフィルターする方法についてお伝えしました。
意外にハマるポイントだと思いますので、ぜひ参考にしていただけますと幸いです。

最後まで読んでいただき、ありがとうございました!

ファイル名での絞り込みは、承認フローや定期的なファイル整理など、ドキュメントライブラリを使う自動化の土台になる処理です。SharePointとPower Automateを組み合わせた業務の仕組みづくりや、社内で開発できる人材の育成についても支援していますので、必要に応じてご活用ください。

 

こちらも合わせて読みたい