はじめに
こんにちは、アーティサンの小鷹です。
本記事では、Dataverse for TeamsをデータソースとしたPower Appsアプリ上でドロップダウンの順番を変更する方法について触れます。
Dataverse for Teamsテーブルにデータを登録する際、Power Appsアプリを使用するパターンが多いかと思います。
テーブルのデータ型によっては、ドロップダウン コントロールなどユーザーが選択しやすい形を選んだり、選択肢の表示順を並べ替えて登録しやすいようにカスタマイズすることがあります。
筆者は、以前にこのカスタマイズで引っ掛かったことがあります。その時に行った対応を今回ご紹介していきます。
使用するデータ型
選択肢型または参照型を使用します。
手軽に作成できるのは選択肢型ですが、並べ替えが比較的簡単にできるのは参照型です。
今回は、参照型の並べ替え方法を扱います。選択肢型の並べ替えは次回の記事でご紹介する予定です。
用意したサンプル
Dataverse for Teamsにテーブルを用意し、参照型の列を用意しました。
参照元のテーブルには、以下のように「参照列 – 1」から「参照列 – 10」までのテキストがバラバラに入っています。
このテーブルを、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プロパティにこのように設定します。
※ エラーが出る場合、<並べ替えの基準となる列名>の列の型に関数が対応していない可能性があります。
この時、<並べ替えの基準となる列名>の部分にText関数を使用するとエラーが解消することがあります。
この数式を使用した結果は以下の通りです。
<並べ替えの基準となる列名>は、「参照列 – 1」など文字が格納されているテキスト型の列です。
並び変える基準にテキスト列を選択すると、ソート順がテキストになり、「参照列 – 1」の次に「参照列 – 10」が並びます。
順に並べ替えて「参照列 – 1」の次に「参照列 – 2」が来るようにしたい時は、参照元のテーブルに並べ替え用の整数列を追加します。
Sort関数の <並べ替えの基準となる列名>に追加した整数列を指定します。
「参照列 – 1」から順に「参照列 – 10」まで昇順に並べ替えることができました。
尚、Sort関数で並べ替えする時に委任に関する警告が現れます。
委任できない操作ということで、既定で500件までしかデータを受け取ることが出来ません。
ただ、今回のシナリオのように、選択肢だけで500件を超えるようなデータ量を指定する可能性が無い場合は警告を無視しても問題ないでしょう。(警告が出ていてもアプリは問題なく動きます)
SortByColumns関数では委任に関する警告が出ないので、そちらを使用する方法もあります。
まとめ
Power Appsでドロップダウンの並べ変えを行いたい場合は、Sort関数またはSortByColumns関数を使用する
1つの列に基づいて並べ替える時はどちらの関数でもいいが、複数の列に基づいて並べ替えしたい時はSortByColumns関数を使用する
参照列の項目でテキストを数字順に並べ替えたい時は、別途整数列を設ける
今回は参照型のドロップダウンの並べ替えについて触れましたが、いかがでしたでしょうか。
次回ご紹介する選択肢型の並べ替えは、参照型とは異なりコレクションを用いた一工夫が必要です。
分かりやすいよう同じ形式のサンプルでご紹介しますので、ぜひ併せてお読みください。
アーティサン株式会社では、Power Appsの技術支援も行っております。もし作成に行き詰った時やアドバイスが欲しい時はお気軽にお問合せ下さい。
地方自治体ローコード導入・運用支援サービス(Power Apps・Power Automate)
Microsoft社が提供するローコード技術であるPower Platformを用いて、自治体様のDX化を支援します。
X-SP | SharePoint デザイン・機能拡張サービス
デザイン×機能を兼ね備えたSharePointを提供いたします。
SharePointの利便性を向上し、操作性と視認性を兼ね備えたデザインでユーザーの業務効率化・ストレス低減を提供します。
内製化支援サービス | Power Platform(Power Apps・Power Automate)
Power Platform(Power Apps・Power Automate)開発や運用をスムーズに内製できるよう支援いたします。
DX人材育成プログラム | Power Apps・Power Automte 教育
Microsoft社が提供するローコード技術であるPower Platformを用いて、社内のDX化を推進するための人材を育成いたします。
Power Apps/Power Automateアプリ開発・導入支援サービス
Microsoft社が提供するPower Apps / Power Automateの導入支援として、高度なアプリも最速で作れる業務アプリ作成支援サービスを提供いたします。
SharePointモダン化コンサルティングサービス
従来のSharePoint から移行・モダン化したい方に向けて、事前調査からサイト作成・活用支援までトータルなコンサルティング・技術支援を提供いたします。
小鷹 枝里子
2016年12月、メーカーの事務兼CADオペレーターから未経験のIT業界に飛び込もうとアーティサンに入社。
今は主に Power Platform(Power Automate、Power Apps)とSharePointの技術支援や開発を担当しております。
山形県出身、神奈川県在住。何となく海に近い所に住むのが好きです。インドア派なので滅多に海行かないんですけどね。
趣味はゲームで、最近はのんびりスマホゲームや某狩りゲームをやってます。
推しのうまい棒は納豆味。