技術情報ブログ
Power Platform
2024.02.14

【小ネタ】Power Automate×SharePoint:3つ以上の項目でソートするビューを作成する方法

【小ネタ】Power Automate×SharePoint:3つ以上の項目でソートするビューを作成する方法
小刀稱知哉

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

SharePointのビューを作成する際、アイテムの並べ替え(=ソート)を行うことができます。
ただし、ビューの編集画面からは、最大で2つの項目までしか並べ替えをすることができません。

そこで今回は、小ネタとして「3つ以上の項目でソートするビューを作成する方法」についてお伝えします。

 

前提:標準のビューの編集画面

今回は,SharePointリスト(SortList)に以下データが存在しています。

SortList
SortList

また、各列の設定情報は以下です。

列名(外部名)

列名(内部列名)

データ型

タイトル

Title

1行テキスト

順序1_昇順

Sort1_Asc

数値

順序2_昇順

Sort2_Asc

数値

順序3_降順

Sort3_Desc

数値

一般的に、特定の項目を用いて並べ替えを行いたい場合は、ビューの編集画面から設定を行います。

しかし、以下画面をご覧いただくと分かると思いますが、標準の設定画面からは最大で2つの項目までしか設定することができません。

並べ替えセクション
並べ替えセクション

 

設定方法

今回のゴールは、3つの項目(順序1_昇順・順序2_昇順・順序3_降順)でソートするビューを作成することです。
また、今回はPower Automateを用いてビューを作成していきます。

設定手順を以下に示します。

 

SharePointで、新しいビューを作成する

まずは、今回のビューを作成します。

※注意※
Power Automateでビューを新規作成することもできるのですが、一度手動でビューを作成し、Power Automateで上書きするほうが設定ミスなども減らすことができます。
よって、今回は最初にビューを手動で作成します。

SharePointで新しいビューを作成します。

  • ビュー名:3つの項目でソート

  • 並べ替え:順序1_昇順・順序2_昇順

並べ替えセクション
並べ替えセクション

 

Power Automateで、現在のビュー情報を取得する

それではPower Automateを作成していきます。
使用するアクションは「SharePoint に HTTP 要求を送信します」です。

以下の設定を行います。

サイトのアドレス:対象のSharePointのサイト

方法:GET

URL:_api/web/lists/getbytitle(‘SortList’)/views/getbytitle(‘3つの項目でソート’)/ViewQuery

※lists/の右側にあるgetbytitle()にはSharePointリスト名、views/の右側にあるgetbytitle()にはSharePointビュー名をそれぞれ記載してください。
※ViewQueryを設定すると、ビューの情報が取得できます。

現在のビュー情報を取得
現在のビュー情報を取得

実行結果をご覧いただくと、現在のビューに関する設定情報を取得することができます。

{
  "d": {
    "ViewQuery": "<OrderBy><FieldRef Name=\"Sort1_Asc\" /><FieldRef Name=\"Sort2_Asc\" /></OrderBy>"
  }
}

 

Power Automateで、現在のビューを上書きする

では最後に、現在のビューを上書きしていきます。
使用するアクションは「SharePoint に HTTP 要求を送信します」です。

以下の設定を行います。

サイトのアドレス:対象のSharePointのサイト

方法:PATCH

URL:_api/web/lists/getbytitle(‘SortList’)/views/getbytitle(‘3つの項目でソート’)

ボディ:

{
    "ViewQuery": "<OrderBy><FieldRef Name=\"Sort1_Asc\" /><FieldRef Name=\"Sort2_Asc\" /><FieldRef Name=\"Sort3_Desc\" Ascending=\"FALSE\"/></OrderBy>"
}

※既存ビューを上書きするので、PATCHを用います。
※lists/の右側にあるgetbytitle()にはSharePointリスト名、views/の右側にあるgetbytitle()にはSharePointビュー名をそれぞれ記載してください。

ポイントとしては、ボディ部分の設定です。

  • 項目名は内部列名を使用してください。

  • 降順にしたい場合は、Ascending=”FALSE”を設定してください。

設定の詳細は以下URLをご参照願います。

OrderBy 要素 (Query)

ビュー情報を上書き
ビュー情報を上書き

※フロー作成時のTipsですが、前の手順で使用したアクションは削除せずに残しておくことをおすすめします。 使わないアクションは「終了」アクションの下に配置すると実行されません。

それでは本フローを実行し、結果を確認しましょう。
正常に動作していることが分かるかと思います。

SortList
SortList

 

補足

補足ですが、上記手順にてビューを上書きした後に、手動でビューの編集画面から何らか設定を更新した場合、3つ目以降の並び替え情報は削除されてしまいます。
手動でビューの内容を更新した場合は、再度上記手順で並べ替え設定を行ってください。

 

おわりに

今回は、小ネタとして「3つ以上の項目でソートするビューを作成する方法」についてお伝えしました。

標準の編集画面では2つまでしか設定できませんが、今回の方法を知っていると、3つ以上の項目でもソートができるようになります。
使う場面は多いと思いますので、ぜひ参考にしていただければと思います。

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

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

小刀稱知哉

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

1990年4月9日生まれ

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

趣味は読書

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

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

Power Apps・Power Automateの勉強方法(1)

2024.04.03

非エンジニア【(元)自治体職員】が半年間ローコード開発をしてみたら

2024.03.27

Power Automateのベストプラクティス・アンチパターン(5)【Apply to each×コンカレンシー×変数の設定はNG】

2024.03.20

Power Apps×Teams:Teams上からPower Appsを実行する方法

2024.03.13

Power Apps:SharePointリストと連携したカレンダーアプリを自作してみよう

モデル駆動型アプリ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デザインtemplateテンプレート運用選択肢列参照列ChatGPTOpenAIオープンAIチャットGPTgalleryギャラリースクロールコンテナショートカットキーshortcut keyconcat関数文字制限フロー実行開発環境環境本番環境ライセンス環境構築手順pipelineCI/CDパイプラインDevOpsMicrosoft 365簡易在庫管理時間外通知ファイルフィルター クエリドキュメント ライブラリfilter querysortソートmultiple item複数項目シェアポイント便利機能カレンダーCalendarTeamsローコード開発非エンジニア体験談勉強内製化
PageTop
ページトップに戻る