Power Apps のデータの並び替えと検索機能について(三島 正裕の Microsoft Power Platform 業務効率化コラム 第4回)
目次
はじめに
Microsoft Power Platform 業務効率化コラムを書かせていただいている三島です。業務改善やDX推進のヒントになる話題を皆様にお届けしたいと思います。
今回は、Power Apps でのデータの並び替えと検索機能について解説をしたいと思います。Power Apps で、データからアプリを自動作成した場合、データの一覧画面が作成されますが、データの並び順は作成時に自動で設定されるため、後から修正をしなくてはならない場合があります。この並び順をコントロールしているのが “SortByColumns” です。
ギャラリーの並び順を設定する
“SortByColumns” の使い方は、最初に”テーブル名”、続いて並び替える”列名”、そして”昇順または降順”をカッコの中にセットします。昇順と降順の指定はオプションですが、昇順が既定値となります。昇順の場合は”SortOrder.Ascending”、降順の場合は” SortOrder.Descending”と指定します。例えば、”Gyomu”テーブルを”日時”で昇順に並べたい場合は、下記のようにセットします。
検索機能の設定をする
参照しているテーブルの内、指定した文字列を含むレコードのみを表示する方法もあります。それがSearch関数です。Search関数を使う場合は、最初に”テーブル名”、続いて絞込み条件となる”文字列”、最後に検索する”列名”を指定します。検索する列名はカンマ区切りで複数指定することができます。絞込み条件が空の場合は全レコードが返されます。例えば、”Gyomu”テーブルで、”担当者”列に”担当者A”を含むレコードのみ抽出したい場合は、下記のようにセットします。
ギャラリー プロパティ Items の設定をする
並び替えと、検索機能について説明したところで、自動作成されたアプリを見てみましょう。先程説明をさせていただいた関数はギャラリーのプロパティ”Items”にセットされています。ギャラリーを選択すると、プロパティには以下のようにセットされているはずです。
少し複雑な組み方になっていますが、一つひとつ分解しながら見ていきましょう。最初に”SortByColumns”が使われています。最初の()カッコにセットされるのはテーブルですが、”Search”が使われていますので、”Search(” から “)” までがテーブルです。
Searchでは、入力フォーム”TextSearchBox1.Text”([検索アイテム]と表示されている箇所)に入力された文字列を、”上司コメント”、”報告内容”、”担当者”列で検索して、一致する文字列を含んでいたレコードのみ、Gyomuテーブルから返します。この結果を基に、”SortByColumns”は”上司コメント”でデータを並び替えています。
さて、データの並び替えですが、昇順または降順をセットする箇所に “If” がセットされていますね。”If” は、セットされている条件がtrue(真)の場合とfalse(偽)の場合で処理を分けることができる関数です。条件としてセットされているのは”SortDescending1″です。この値がtrueの時は降順(SortOrder.Descending)、falseの時は昇順(SortOrder.Ascending)となります。ところで、条件式にセットされている”SortDescending1″はどこで定義されたものなのでしょうか?
その場所はアプリのヘッダーにある「上下矢印アイコン」のプロパティにあります。アイコンをクリックすると、OnSelectプロパティに以下の文がセットされていることがわかります。OnSelectプロパティはアイコンを押した時のアクションを設定することができます。このアイコンのプロパティOnSelectには UpdateContext という変数を作成する関数がセットされています。
カッコの中は、最初が変数名、”:” コロンで挟んで2つ目が変数にセットする値です。この変数には先頭に ”!” が付いていますが、これはNot演算子と呼ばれるものです。今回は変数 “SortDescending1” の前に ”!” がありますので、値が true の場合は false 、 値が false の場合は true がセットされます。
それでは検索機能の仕様を少し変更してみましょう。検索する列は”担当者”のみ。並び順は”日時”と設定してみます。
この仕様を基にギャラリーのプロパティ”Items”を修正すると、下記のようになります。
検索機能をテストしてみる
試しに、検索フォームに “A” と入力をしてみます。ギャラリーに表示されるデータが、担当者にAを含むデータのみに絞り込まれ、「上下矢印アイコン」を押す度に日付で昇順降順に並び変わることが確認できると思います。
さいごに
今回はギャラリーにセットされているデータの”並び替え”と”検索”の設定について触れてみました。 “SortByColumns”、”Search”、”If”、”UpdateContext”、”Not演算子”。ギャラリーのプロパティ1つだけの設定なのに、様々なものが含まれていましたね。複雑そうに見えますが、ゆっくりでも、今回のように一つずつ意味を確認しながら進めていくと、意外とスムーズに理解が進むかもしれません。Power Platform に関しましては、お気軽にディーアイエスサービス&ソリューションにお問い合わせください。それでは次回もお楽しみに。
筆者プロフィール
ディーアイエスサービス&ソリューション株式会社
クラウドサービス 担当 三島 正裕(みしま まさひろ)
2002年入社。島根県出身。
Microsoft 365 に関する製品導入や初学者向けの教育支援を担当。Power Platform を中心に教育コンテンツの開発やサービス企画をする傍ら、社内向けの業務アプリ開発にも取り組んでいる。
本コラムは2023年9月現在の情報を基に作成しています。
三島 正裕の Microsoft Power Platform 業務効率化コラム
- 第1回:ローコード開発ツール Power Apps に触れてみよう
- 第2回:Excelで作成している業務報告書をスマホアプリにするには
- 第3回:Power Apps でテキストラベルを使ってみよう
- 第5回:Power Apps のフォームコントロールについて
- 第6回:Power Appsの 一覧・詳細・編集作成画面について
- 第7回:Power Apps の編集フォームにユーザー情報を表示する
- 第8回:Power Apps アプリにドロップダウンで選択肢を追加する
- 第9回:Power Apps アプリで更新通知をメールする
- 第10回:Power Apps アプリの保存と共有について
- 第11回:Power Apps でタイムカードアプリを作成する① SharePointリストの作成方法について
- 第12回:Power Apps でタイムカードアプリを作成する② Power Apps アプリの作成方法について
- 第13回:Power Automate で設定した時間にアラートメールを送信する
- 第14回:Power Automate でアダプティブカードを使用した残業申請フローを作成する