9
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Power Apps】コンボボックスの選択肢を動的に変化させてみた

9
Posted at

はじめに

Power Appsでアプリを作成していると、「選択肢を状況に応じて変化させたい」というニーズに出会うことがあると思います。
例えば、「都道府県」を選択したら、その都道府県に属する「市区町村」だけが別のコンボボックスに表示されるようなイメージです。

本記事では、Power Apps初心者である筆者の備忘録も兼ねて、簡単に実装する方法を解説します!

この記事はTDCソフト株式会社Advent Calendarの18日目です:christmas_tree:

事前情報

  • コンボボックスで使用する選択肢はExcelのテーブルデータを使用
  • SharePointリストに紐づくフォームコントロールは作成済み

下記で解説しているExcleとShrePointリストのデータを使用しています。
詳細については、TDCソフト株式会社Advent Calendar 17日目の記事をご参照ください!

完成イメージ

カテゴリーで「果物」「野菜」「穀類」のいずれかを選択すると、そのカテゴリーに紐づく商品名の選択肢だけが表示されるようになります

今回使用したテーブルデータ

:notepad_spiral: 商品管理テーブル

ID 商品名 カテゴリ 在庫数 価格(円) 入荷日
1 リンゴ 果物 120 150 2025/6/10
2 バナナ 果物 80 90 2025/6/12
3 みかん 果物 150 130 2025/6/11
4 キウイ 果物 60 180 2025/6/13
5 トマト 野菜 200 120 2025/6/9
6 きゅうり 野菜 100 80 2025/6/9
7 レタス 野菜 100 190 2025/6/10
8 キャベツ 野菜 150 150 2025/6/10
9 穀類 50 1000 2025/6/12
10 パン 穀類 120 100 2025/6/13

実装の解説

①カテゴリーの設定

1|Itemsプロパティの設定

Distinct関数を使って、商品管理テーブルのカテゴリ列の値を選択肢とします

Distinct(商品管理テーブル, カテゴリ)

Distinct関数:Distinct(テーブル, 列名)
指定したテーブルやコレクションから重複を除いた一意な値の一覧を取得

2|OnChangeプロパティの設定

以下の手順でカテゴリーを選択したときの挙動を設定します

  • コンボボックスで選択されたカテゴリーと一致するレコードのみを抽出
    • Filter関数
  • 抽出したレコードから商品名の一覧を取得(ここでの重複は除く)
    • Distinct関数
  • 取得していきた一覧を「商品名取得用テーブル」として格納
    • Collect関数

ポイント:point_up:
OnChangeプロパティが呼び出される度に「商品名取得用テーブル」の値が追加されていくため、Collect関数の使用前にClear関数でリセットしておく!

Clear(商品名取得用テーブル);
Collect(
    商品名取得用テーブル,
    Distinct(
        Filter(
            商品管理テーブル,
            カテゴリ = DataCardValue2.Selected.Value
        ),
        商品名
    )
)

Clear関数:Clear(コレクション名)
指定したテーブルやコレクションの中身をすべて削除

Collect関数:Collect(コレクション名, レコード)
指定したテーブルやコレクションに新しいレコードを追加

Filter関数:Filter(テーブル, 条件)
指定したテーブルやコレクションから条件に合うレコードだけを抽出

②商品名の設定

1|Itemsプロパティの設定

①カテゴリーのOnChangeプロパティで設定した「商品名取得用テーブル」を商品名の選択肢とします

商品名取得用テーブル

2|OnChangeプロパティの設定

商品名を選択したとき挙動に関して、今回は特に設定の必要がないのでデフォルトのままで問題ありません

false

さいごに

コンボボックスの選択肢を動的に変化させる方法を紹介しました。
今回は簡易的なものでしたが、ここから派生させてコンボボックスが3つ、4つと動的にしたい項目を増やすことも可能です!
この記事がみなさんの何らかの解決の糸口となれば嬉しいです。

Power Appsでのファイル容量制限について解説している記事もぜひご覧ください:hatching_chick:

参考サイト

9
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?