技術情報ブログ
Power Platform
2024.02.07

【小ネタ】Power Automate×SharePoint:ドキュメントライブラリ上のファイルをフィルターする方法

【小ネタ】Power Automate×SharePoint:ドキュメントライブラリ上のファイルをフィルターする方法
小刀稱知哉

こんにちは。アーティサン株式会社の小刀稱(ことね)です。

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

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

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

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

 

おわりに

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

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

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当:小刀稱知哉

小刀稱知哉

大分県出身(温泉大好き)、現在は東京都在住

1990年生まれ

30才でメーカーの技術営業からIT業界にジョブチェンジ!!!

趣味は読書

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当しております!

持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305/SC-200

シェアする
記事カテゴリ
最新記事
2024.11.20

【小ネタ】Power Automate×SharePoint:ファイルやフォルダを削除する方法(ゴミ箱・完全削除)

2024.11.06

Power Automateのベストプラクティス・アンチパターン(7)【エラー発生時、管理者へ通知する方法】

2024.10.23

【内製化支援ツール】Power Platform Advisor の紹介

2024.10.09

非エンジニア【(元)自治体職員】が自治体のDX推進リーダーに任命されたつもりで、Power Platformの活用を考えてみた

2024.09.18

Power Automateのベストプラクティス・アンチパターン(6)【Power Automate上でExcelファイルを編集する際の注意点】

モデル駆動型アプリPower AppsPower PlatformSharePointExcelPower AutomateC#attributevalidationローコードAngularAccessInfoPathMatTableAngular Materialデータ構造SortByColumns関数TypeScriptHTMLEF CoreマイグレーションFramework CoreAttribute directivesO/Rマッパーazure sql databaseCase式HTTP RequestCSSxUnit.Net Core 3.1VSCode.Net Core Test ExplorerDataverse for Teamsitem関数Google MapsMarker ClustererRANK()関数Dynamics 365 SalesMicrosoft TranslatorマーカークラスタリングライブラリtailwindcssマルチテナントドロップダウンメニューBreakpointObserverメディアクエリスマホPCレスポンシブ入門初心者中級者キャンバスアプリDatePickerDropdownviewビューアクセス制限承認リマインドSetForAllUpdateContextロードマップ技術It情報技術メッセージIDメールfirst()関数nest入れ子動的リストcollectionコレクション複数の添付ファイル承認フローformエクスポートインポートカスタマイズcomponentダイアログコンポーネントdialogTips新機能変数検索Microsoft 365グループセキュリティグループ送信元メールの送信差出人インスタントクラウドフロー自動化したクラウドフロー委任VBAエラーエクセルerror復元restorePower BI個人列ユーザー列SharePoint Onlineリスト非表示アプリ[市民開発者構築自動化したクラウド フローフローの種類インスタント クラウド フロースケジュール済みクラウド フローレスポンシブ レイアウトresponsive layoutデータ行の制限引き継ぎ退職所有者を変更異動LoopMicrosoftdesignJSONデザイン運用選択肢列参照列ChatGPTOpenAIオープンAIチャットGPTgalleryギャラリースクロールコンテナショートカットキーshortcut keyconcat関数文字制限フロー実行開発環境環境本番環境ライセンス環境構築手順pipelineCI/CDパイプラインDevOpsMicrosoft 365簡易在庫管理時間外通知ファイルフィルター クエリドキュメント ライブラリfilter querysortソートmultiple item複数項目シェアポイント便利機能カレンダーCalendarTeamsローコード開発非エンジニア体験談勉強内製化市民開発管理ガバナンスerror notificationエラー通知削除フォルダゴミ箱完全削除
PageTop
ページトップに戻る