こんにちは、あんこ先生です。
選択肢を作る際、どのコントロールを使おうか悩みませんか?
PowerAppsで選択肢と言えば、ドロップダウンコントロール、コンボボックスコントロール、リストボックスコントロールの3点が挙げられます。
どれを使うか悩んだら、ドロップダウンコントロールをオススメします。
なぜなら、①選べるのはひとつだけ、②場所を取らない、③大抵のことはできるからです。
今回は、「意図した選択肢が作れない」、「便利な使い方を知りたい」といった初心者の方を対象にドロップダウンコントロールの使い方と活用事例を紹介します。
この記事を読めば、具体的にできることやその設定方法がわかります。
きっと知らなかったことも書いてあると思いますので、最後までお付き合いください。
Contents
ドロップダウンコントロールの使い方と活用事例
ドロップダウンコントロールとは│DropDown
このドロップダウンコントロールは、設定した項目から入力したい内容を選択する機能です。
選択肢から入力内容を選ぶため、効率的かつ例外を除外することができます。
部署名や役職など、回答パターンが決まっている項目について入力する手間を省けるため、ユーザーの負担を軽減できます。
選択肢は最大500件まで表示できます。
ドロップダウンコントロールの設置方法
リボンの挿入から下記アイコンを選べばドロップダウンコントロールが追加できます。
ドロップダウンで手入力の選択肢を作成する
1点目は、手入力で選択肢を作成する方法です。
選択肢の修正=アプリの修正となるため、なるべく不変となるものに限定しましょう。
作成方法は簡単です。
ドロップダウンコントロールのItemsプロパティに入力するだけです。
Items=[“いちご”,”りんご”,”みかん”]
最初と最後は必ず[]で括ります。
選択肢はテキスト型のため、二重引用符で括り、区切りは , を使います。
ドロップダウンの選択肢をリストの項目にする
2点目は、リストの項目を選択肢にする方法です。
リストの中身を修正すれば選択肢も置き換わるため、アプリの修正が不要で利便性が高いです。
作成方法は手入力と比べ少しだけ複雑です。
- ドロップダウンコントロールのItemsプロパティにリストを指定します。
- Valueプロパティから選択肢とする項目(列名)を選択します。
Valueプロパティはプロパティウィンドウから変更できます。
Items=M_ProductList.Name
Value=Name
これでリストの項目が選択肢になりました。
ドロップダウンの選択肢から重複を排除する
3点目は重複排除の方法です。
リストを選択肢として使うと、時折重複したものができあがることがあります。
重複に意味がないのであれば、UXの観点からも排除すべきです。
重複排除にはDistinct関数を使用します。
ドロップダウンコントロールのItemsプロパティは下記のように記載します。
Items=Distinct(M_ProductList,Category).Value
これで重複排除できました。
最後にValueを指定するところがポイントです。
Distinct関数で重複排除した値を利用する場合は、項目名ではなくValueになるためご注意ください。
Distinct 関数の使い方はコチラをご確認ください。
Power Apps での Distinct 関数 – Power Apps | Microsoft Docs
複数あるドロップダウンの選択肢を連動させる
4点目は選択肢を連動させる方法です。
ひとつめの選択肢で選んだ結果で、ふたつめの選択肢を動的に変化させます。
いわゆる選択肢の絞り込みですね。
例では、ひとつめの選択肢でGroup(地方)を選び、ふたつめの選択肢でそのGroupに属するArea(都道府県)を表示させています。
作成方法は難しそうですが、ひとつめのドロップダウンコントロールで選択した結果で、ふたつめのドロップダウンコントロールのItemsをFilterで絞り込んでいるだけです。
- ひとつめのドロップダウンコントロール
Items=Distinct(_AreaCollection,Group).Value - ふたつめのドロップダウンコントロール
Items=Filter(_AreaCollection,Group=Dropdown001.Selected.Value)
思ったよりもかんたんできましたね。
ひとつめの選択肢が重複していない場合は、Distinct関数は不要です。
ドロップダウンに規則性のある選択肢を設定する
最後は規則性のある選択肢の作成方法です。
例えば分を表す1-60を選択肢とする場合、[“1″,”2″,”3”,”4″…とひたすら入力するのは骨が折れます。
また、月を表す場合、[“1月”,”2月”,”3月”…もできれば入力したくないですよね。
このような規則性のある選択肢をかんたんに作成する方法がありますのでご安心ください。
連続する附番
連番はSequence関数を使います。
第1パラメータで指定した回数分、第2パラメータで指定した値から、第3パラメータで指定した数量だけ増減したテーブルを作成します。
使用例は次の通りです。
- 1-60までのテーブル
Sequence(60).Value
または Sequence(60,1,1).Value - 1からスタートし、5置きに25回繰り返したテーブル
Sequence(25,1,5).Value - 100からスタートし、-5置きに10回繰り返したテーブル
Sequence(10,100,-5).Value
Sequence 関数の使い方はコチラをご確認ください。
Power Apps の Sequence 関数 – Power Apps | Microsoft Docs
連続した日付
カレンダーを作る要領です。
ForAll関数とSequence関数を使います。
- 今日から30日後の日付テーブル
ForAll(Sequence(30,0),DateAdd(Today(),ThisRecord.Value,TimeUnit.Days)) - 52週分のx曜日の日付テーブル
ForAll(Sequence(52,0,7),DateAdd(Today(),ThisRecord.Value,TimeUnit.Days))
月、曜日
一覧として月や曜日の選択肢を作成します。
- 月のテーブル
Calendar.MonthsLong() - 曜日のテーブル
Calendar.WeekdaysLong()
ドロップダウンの選択を解除する
ドロップダウンコントロールは選択を解除することができます。
そのため、解除用の空欄レコードを作る必要はありません。
解除方法は次の通りです。
- AllowEmptySelectionプロパティをTrueにする。
- 選択肢を選択後、もう一度おなじ選択肢をクリックする。
ドロップダウンのまとめ
いかがでしたか?
知らなかった機能もあったのではないでしょうか?
とくに、PowerAppsは日付の選択コントロールが使いづらいため、ドロップダウンコントロールで作成したカレンダーは重宝します。
実際、直近以外選択することってそうそうありませんよね。
今回紹介した機能を使ってすてきな選択肢を作成してみてください!
ドロップダウンコントロールは複数選択に対応していません。
ユーザーに複数選択をさせたい場合は、コンボボックスを使用してください。
使い方はこちらです。