技術情報ブログ
Power Platform
2021.12.01

Dataverse for Teams・Power Apps:ドロップダウンメニューの順番を並び替えたい

Dataverse for Teams・Power Apps:ドロップダウンメニューの順番を並び替えたい

 

はじめに

こんにちは、アーティサンの小鷹です。

本記事では、Dataverse for TeamsをデータソースとしたPower Appsアプリ上でドロップダウンの順番を変更する方法について触れます。

Dataverse for Teamsテーブルにデータを登録する際、Power Appsアプリを使用するパターンが多いかと思います。

テーブルのデータ型によっては、ドロップダウン コントロールなどユーザーが選択しやすい形を選んだり、選択肢の表示順を並べ替えて登録しやすいようにカスタマイズすることがあります。
筆者は、以前にこのカスタマイズで引っ掛かったことがあります。その時に行った対応を今回ご紹介していきます。

 

使用するデータ型

選択肢型または参照型を使用します。
手軽に作成できるのは選択肢型ですが、並べ替えが比較的簡単にできるのは参照型です。

今回は、参照型の並べ替え方法を扱います。選択肢型の並べ替えは次回の記事でご紹介する予定です。

 

用意したサンプル

Dataverse for Teamsにテーブルを用意し、参照型の列を用意しました。

参照元のテーブルには、以下のように「参照列 – 1」から「参照列 – 10」までのテキストがバラバラに入っています。

Dataverse for Teams - 参照型のデータ(オリジナル)
Dataverse for Teams – 参照型のデータ(オリジナル)

このテーブルを、Power Appsのアプリと連携させました。

Power Apps_サンプルアプリ
Power Apps_サンプルアプリ

特に並べ替えを行わない場合は、このようにテーブルのデータがそのままの順番で表示されます。
この項目を昇順で並べ替えて表示させたい時の方法について、次から詳しく触れていきます。

 

Sort関数またはSortByColumns関数で並び変える

Power Appsでドロップダウンやリストボックスなどの表示順を変えたい時は、Sort関数またはSortByColumns関数を使用します。

この2つの関数は並べ替えを行うという動き自体は同じですが、Sort関数は1つの列に基づいて並べ替えるのに対して、SortByColumns関数は複数の列に基づいて並べ替えできる点が異なります。

詳細は下記のページをご確認ください。
Power Apps の Sort および SortByColumns 関数 – Power Apps | Microsoft Docs

今回並べ替えに必要な列は1列だけなので、Sort関数を使用して説明します。

 

参照列を並び替える

Sort関数を使用した次の数式を使用して、参照列を並べ替えます。

Sort(Choices(<並べ替える列名>),<並べ替えの基準となる列名>,Ascending)

コントロールのitemプロパティにこのように設定します。

Power Apps_Sort関数
Power Apps_Sort関数

※ エラーが出る場合、<並べ替えの基準となる列名>の列の型に関数が対応していない可能性があります。
この時、<並べ替えの基準となる列名>の部分にText関数を使用するとエラーが解消することがあります。

この数式を使用した結果は以下の通りです。

Power Apps_ドロップダウン_参照列
Power Apps_ドロップダウン_参照列

<並べ替えの基準となる列名>は、「参照列 – 1」など文字が格納されているテキスト型の列です。
並び変える基準にテキスト列を選択すると、ソート順がテキストになり、「参照列 – 1」の次に「参照列 – 10」が並びます。

 

順に並べ替えて「参照列 – 1」の次に「参照列 – 2」が来るようにしたい時は、参照元のテーブルに並べ替え用の整数列を追加します。

Dataverse for Teams_参照用テーブル
Dataverse for Teams_参照用テーブル

 

Sort関数の <並べ替えの基準となる列名>に追加した整数列を指定します。

Power Apps_ドロップダウン_完成形
Power Apps_ドロップダウン_完成形

「参照列 – 1」から順に「参照列 – 10」まで昇順に並べ替えることができました。

 

尚、Sort関数で並べ替えする時に委任に関する警告が現れます。

Power Apps_委任に関する警告
Power Apps_委任に関する警告

委任できない操作ということで、既定で500件までしかデータを受け取ることが出来ません。

ただ、今回のシナリオのように、選択肢だけで500件を超えるようなデータ量を指定する可能性が無い場合は警告を無視しても問題ないでしょう。(警告が出ていてもアプリは問題なく動きます)

SortByColumns関数では委任に関する警告が出ないので、そちらを使用する方法もあります。

 

まとめ

  • Power Appsでドロップダウンの並べ変えを行いたい場合は、Sort関数またはSortByColumns関数を使用する

  • 1つの列に基づいて並べ替える時はどちらの関数でもいいが、複数の列に基づいて並べ替えしたい時はSortByColumns関数を使用する

  • 参照列の項目でテキストを数字順に並べ替えたい時は、別途整数列を設ける

今回は参照型のドロップダウンの並べ替えについて触れましたが、いかがでしたでしょうか。

次回ご紹介する選択肢型の並べ替えは、参照型とは異なりコレクションを用いた一工夫が必要です。
分かりやすいよう同じ形式のサンプルでご紹介しますので、ぜひ併せてお読みください。

アーティサン株式会社では、Power Appsの技術支援も行っております。もし作成に行き詰った時やアドバイスが欲しい時はお気軽にお問合せ下さい。

 Power Platform(Power Automate、Power Apps)とSharePointの技術支援や開発を担当の小鷹枝里子

小鷹 枝里子

2016年12月、メーカーの事務兼CADオペレーターから未経験のIT業界に飛び込もうとアーティサンに入社。

今は主に Power Platform(Power Automate、Power Apps)とSharePointの技術支援や開発を担当しております。

山形県出身、神奈川県在住。何となく海に近い所に住むのが好きです。インドア派なので滅多に海行かないんですけどね。

趣味はゲームで、最近はのんびりスマホゲームや某狩りゲームをやってます。

推しのうまい棒は納豆味。

シェアする
記事カテゴリ
最新記事
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
ページトップに戻る