Choices 関数

適用先: キャンバス アプリ モデル駆動型アプリ

検索列で使用可能な値のテーブルを返します。

Description

Choices 関数は、検索列で使用可能な値のテーブルを返します。

Choices 関数を使用して、ユーザーが選択する選択肢の一覧を提供します。 この関数は、編集フォームで Combo box コントロールと共によく使用されます。

ルックアップの場合、Choices が返すテーブルは、ルックアップに関連付けられている外部テーブルと一致します。 Choices を使用することにより、追加データ ソースとして外部テーブルを追加する必要がなくなります。 Choices は、外部テーブルのすべての列を返します。

Choices はテーブルを返すので、FilterSortAddColumns、その他すべてのテーブル操作関数を使って、テーブルをフィルター、並べ替え、整形できます。

現時点で、Choices委任 することはできません。 この制限によりアプリで問題がある場合は、データ ソースとして外部テーブルを追加し、それを直接使用してください。

ShowColumnsSearch、その他のテーブル関数とは異なり、Choices は列名を文字列にして二重引用符で囲む必要はありません。 列を直接参照するのと同じように、式を指定します。

列参照は、データ ソースに対して直接行う必要があります。 たとえば、データ ソースが Accounts でルックアップが SLA の場合、列参照は Accounts.SLA になります。 参照は、関数、変数、またはコントロールを経由することはできません。 この例を拡張し、AccountsGallery コントロールにフィードされる場合は、式 Gallery.Selected.SLA を使って選択されたアカウントの SLA を参照します。 ただし、この参照はコントロールを経由したので、Columns 関数に渡されることはできません。やはり Accounts.SLA を使う必要があります。

現時点では、ルックアップ列を使用できるのは SharePoint および Microsoft Dataverse のみです。

構文

Choices( column-reference [, text-filter ] )

  • column-reference - 必須。 データ ソースのルックアップ列です。 列名を二重引用符で囲まないでください。 参照は、データ ソースの列に対して直接行う必要があり、関数またはコントロールを経由してはなりません。
  • text-filter - 必須。 text-filter で指定されたテキストで始まる選択肢のみを返すことにより、選択肢のリストをフィルターします。 空の文字列を指定すると、すべての選択肢が返されます。

使用例

ルックアップの選択肢

  1. Dataverse にデータベースを作成し、サンプル アプリとデータを含めるのボックスを選択します。

    取引先企業 などの多数のテーブルが作成されます。

    注意: テーブル名はmake.powerapps.comでは単数形で、Power Apps Studio では複数形です。

    取引先企業 テーブルには 取引先責任者 列があり、これは 取引先担当者 テーブルに対するルックアップです。

    Dataverse の連絡先テーブルのフィールドの部分的なリスト。

    各アカウントについて、取引先担当者が取引先責任者として指定されているか、または取引先責任者が空白になっています。

  2. 取引先企業テーブルから アプリを生成します

  3. 左端にある画面とコントロールのリストで、EditScreen1 が表示されるまで下にスクロールし、そのすぐ下にある EditForm1 を選択します。

    左側のナビゲーション バーで、EditScreen1 の EditForm1 を選択します。

  4. 右側のウィンドウのプロパティ タブでフィールドの編集を選択します。

    データ ウィンドウを開きます。

  5. フィールド ウィンドウで、フィールドの追加を選択します。

  6. 取引先責任者フィールドを検索し、そのチェックボックスを選択してから、追加を選択します。

    取引先企業を選択して、データ ウィンドウを開きます。

    取引先責任者フィールドは、フォームの下部に表示されます。 フィールドにエラーが表示された場合は、ビュー タブでデータ ソースを選択し、取引先企業データ ソースの省略記号 (...) を選択し、更新を選択します。

  7. (オプション) 取引先責任者のフィールドをフィールド一覧の下部から先頭にドラッグします。

  8. 取引先責任者のカードで、Combo box コントロールを選択します。

    そのコントロールの Items プロパティは、最初の例のように表示名、または 2 番目の例のように論理名で列を識別する式に設定されます。

    • Choices( Accounts.'Primary Contact' )

    • Choices( Accounts.primarycontactid )

      フォーム コントロールを含むキャンバス画面。取引先責任者カードの Combo box コントロールが選択されており、式 Choices( Accounts.'Primary Contact' ) を持つ Items プロパティが表示されます。

  9. わかりやすくするため、Choices 関数によって返された完全なテーブルを、Data table コントロールで確認できます。 ホーム タブの新しい画面を選択し、空白を選択します。

  10. 挿入タブのData tableを選択します。

  11. Data table コントロールの Items プロパティを次の数式に設定します。

    Choices( Accounts.'Primary Contact' )

  12. Data table コントロールの中央で、フィールドを選んでください ... で始まるリンクを選択してから、表示するフィールド (たとえば、firstname および lastname) のチェック ボックスを選択します。

    データ テーブル コントロールを含むキャンバス画面。Items プロパティは式 Choices( Accounts.'Primary Contact' ) に設定され、テーブルには取引先担当者テーブルの最初のレコード セットの firstname 列と lastname 列が表示されています。