キャンバス アプリのカスケード ドロップダウン

キャンバス アプリのカスケード ドロップダウン

このチュートリアルでは、カスケード ドロップダウンがどのように機能するかについて説明します。

カスケード ドロップダウンは、相互に依存する 2 つ以上のドロップダウンです。

Power Apps でカスケード ドロップダウンを使用すると、特に大量のデータをフィルターする場合にエンド ユーザーのエクスペリエンスが向上します。

目次

顧客参照テーブルの追加

新しい画面にドロップダウンを追加することから始めましょう。

マスター画面を複製して新しい画面を追加します。これは、過去のチュートリアルで説明したテクニックです。この画面を「アイテム検索」と呼びます。

キャンバス アプリのカスケード ドロップダウン

次に、画面にデータテーブルを追加しましょう。

キャンバス アプリのカスケード ドロップダウン

必要なレコードの表示を開始するには、テーブルにデータ ソースを追加する必要があります。右側のプロパティ ペインから Table1 をデータ ソースとして追加しましょう。

キャンバス アプリのカスケード ドロップダウン

次に、「フィールドの編集」をクリックして、必要なフィールドを追加しましょう。このテーブルでは、名、姓、場所、VIP レベルを使用します。

キャンバス アプリのカスケード ドロップダウン

テーブルに必要なレコードが含まれたので、これが顧客参照テーブルとして機能します。

キャンバス アプリのカスケード ドロップダウン

ここでの目標は、場所と VIP レベルに基づいてこのテーブル内のレコードをフィルターできるようにすることです。そこでドロップダウンが登場します。

最初のドロップダウンの追加

[挿入] リボンの下の [入力] に移動し、[ドロップダウン] をクリックします。

キャンバス アプリのカスケード ドロップダウン

デフォルトでは、ドロップダウンの値は 1、2、3 になります。

キャンバス アプリのカスケード ドロップダウン

ドロップダウンの項目を変更するには、右側のペインに移動し、顧客参照テーブルに使用したデータ ソース (Table1) を接続します。

キャンバス アプリのカスケード ドロップダウン

次に、[値] で、ドロップダウンで使用する列を選択します。この場合は、Location を使用しましょう。

キャンバス アプリのカスケード ドロップダウン

それが完了すると、ドロップダウンにすべての可能な場所が表示されます。ただし、重複も多数見られます。

キャンバス アプリのカスケード ドロップダウン

これは、現時点では、レコードが何回表示されたかに関係なく、単に Location 列のすべてのレコードを取得しているだけであるためです。これらの重複を取り除くために、Distinct 関数を使用します。

Distinct 関数は、特定の列のレコードを評価し、重複を削除します。

そこで、ドロップダウンを強調表示して、Items プロパティを選択しましょう。次に、Distinct 関数を使用して、Table1 と Location を参照します。

キャンバス アプリのカスケード ドロップダウン

この数式を固定すると、ドロップダウンには重複のない一意の項目のみが含まれるようになります。

キャンバス アプリのカスケード ドロップダウン

このドロップダウン内のレコードを参照しやすくするために、アイテムがアルファベット順に表示されるように並べ替えてみましょう。通常はソースが必要な SortByColumn 関数を使用します。この例では、ソースは「場所」列内の個別の項目のリストになります。

キャンバス アプリのカスケード ドロップダウン

列も必要です。この場合、結果自体から項目を並べ替える関数が必要です。基本的に、この結果は、先ほど参照したソース、つまり個別の項目のリストから取得されます。したがって、Result を参照します。

キャンバス アプリのカスケード ドロップダウン

これで、すべての一意の場所がこのドロップダウンに並べ替えられました。

キャンバス アプリのカスケード ドロップダウン

データテーブルをドロップダウンに接続する

次のステップは、このテーブルをドロップダウンに依存させることです。このために、フィルター関数を使用します。

そこで、データ テーブルを強調表示し、Items プロパティに移動して、Filter 関数を使用しましょう。Filter 関数は通常、ソースと論理テストを必要とします。この場合、ソースは Table1 です。論理テストに関しては、ユーザーがドロップダウンから選択した値と同等であることが必要です。

キャンバス アプリのカスケード ドロップダウン

左側のペインを見ると、ここで参照するドロップダウンが Dropdown4 であることがわかります。

キャンバス アプリのカスケード ドロップダウン

これが論理テストに使用する要素です。選択された項目に基づいて結果のみを表示したいため、Dropdown4.Selected.Result を使用します。

キャンバス アプリのカスケード ドロップダウン

ここではドロップダウンでオーストラリアが選択されているため、テーブルにはオーストラリアを場所として含むレコードのみが表示されます。

キャンバス アプリのカスケード ドロップダウン

2 番目のドロップダウンの追加

最終的にはドロップダウンをカスケードしたいので、少なくとも 2 つ以上のドロップダウンが必要であることを意味します。それでは、2 番目のドロップダウンを追加しましょう。今回は、VIP レベルに基づいてレコードをフィルタリングするために使用されます。

この例では、新しいドロップダウンは Dropdown5 です。

キャンバス アプリのカスケード ドロップダウン

もう一度、データ ソース (Table1) をタップする必要があります。次に、VIP レベルを値として使用します。

キャンバス アプリのカスケード ドロップダウン

VIP Level 列の項目にも重複がある可能性が高いため、もう一度 Distinct 関数を使用して、プロセス内で Table1 と VIPLevel を参照します。

キャンバス アプリのカスケード ドロップダウン

これにより、ドロップダウンに重複がないことが保証されます。

キャンバス アプリのカスケード ドロップダウン

では、これらの項目も整理してみましょう。最初のドロップダウンと同様に、SortByColumn を使用し、今回は Location ではなく VIPLevel を参照します。

キャンバス アプリのカスケード ドロップダウン

この式を適用すると、ドロップダウン内の項目が適切な順序になります。

キャンバス アプリのカスケード ドロップダウン

次に、データ テーブルに戻って、最初のドロップダウンに基づいてフィルタリングしているだけでなく、2 番目のドロップダウンにも基づいてフィルタリングしていることを確認する必要があります。データ テーブルとフィルター関数の利点は、フィルター条件を必要なだけ追加できることです。

したがって、元の式に戻ると、VIPLevel = Dropdown5.Selected.Result を追加するだけで済みます。

キャンバス アプリのカスケード ドロップダウン

数式を保存したら、両方のドロップダウンから項目を選択できるようになり、データ テーブルが両方に基づいてレコードをフィルター処理します。たとえば、[場所] ドロップダウンでシンガポールを選択し、[VIP レベル] ドロップダウンで 1 を選択すると、これらのパラメータに一致する 2 つのエントリが表示されます。

キャンバス アプリのカスケード ドロップダウン

VIP レベルを 4 に変更すると、フィルターに一致する結果が 1 つ表示されます。

キャンバス アプリのカスケード ドロップダウン

ここで、場所としてシンガポールで VIP レベル 5 を選択すると、テーブルが空になることに注目してください。

キャンバス アプリのカスケード ドロップダウン

これは、シンガポールには VIP レベル 5 に属する人がいないことを意味します。これは理解できますが、一致するレコードがない場合、2 番目のドロップダウンに 5 が表示されないようにしたいのです。結局のところ、それがカスケード ドロップダウンのすべてなのです。

カスケードドロップダウンの作成

現時点では、2 番目のドロップダウンの Items プロパティは Table1 を参照し、VIPLevel 列から個別の項目を取得し、実際の結果を使用して並べ替えています。

キャンバス アプリのカスケード ドロップダウン

私たちが望んでいるのは、Table1 全体を調べるのではなく、最初のドロップダウンで選択されたものにデータ ソースが絞り込まれることです。たとえば、ユーザーが [場所] ドロップダウンからシンガポールを選択した場合、VIPLevel ドロップダウンにはテーブル全体ではなく、シンガポールに一致する項目のみが表示されます。

そこで、ここに Filter 関数を追加して、Location が Dropdown4.Selected.Result と同等であるという条件に基づいて Table1 がフィルターされるようにします。

キャンバス アプリのカスケード ドロップダウン

ここでドロップダウンを確認すると、最初のドロップダウンでシンガポールが選択されており、2 番目のドロップダウンには 5 が表示されなくなっていることがわかります。

キャンバス アプリのカスケード ドロップダウン

今回カナダを確認してみると、VIPレベル以下の3は存在しないことがわかります。

キャンバス アプリのカスケード ドロップダウン

これを元のデータ ソース (Table1) と照らし合わせて再確認すると、カナダには VIPLevel 3 に一致するものがないことがわかります。これは、私たちの公式が機能することを意味します。

キャンバス アプリのカスケード ドロップダウン


Power Apps の概要: 定義、機能、機能、および重要性
Power Apps 環境: アプリ要素を適切にセットアップする
PowerApps の関数と数式 | Power Apps の概要 はじめに

結論

カスケード ドロップダウンは、特に大量のデータを扱う場合に、エンド ユーザーのエクスペリエンスを確実に向上させることができます。これにより、結果をフィルタリングする際に何も得られない余分な項目を処理する必要がなくなるため、エンド ユーザーは必要なレコードをより迅速に見つけることが容易になります。

必要に応じて他のドロップダウンをドロップできることに注意してください。ドロップダウンを 2 つだけに制限する必要はありません。これは、データ ソースにさらに多くのフィールドがある場合、フィルタリングの精度に応じてドロップダウンをさらに追加できることを意味します。

ではごきげんよう、

ヘンリー


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて