Power Apps の choice 機能Choices function in Power Apps

ルックアップ列で使用可能な値のテーブルを返します。Returns a table of the possible values for a lookup column.


Choices 関数は、ルックアップ列で使用可能な値のテーブルを返します。The Choices function returns a table of the possible values for a lookup column.

Choices 関数を使用して、ユーザーが選択する選択肢の一覧を提供します。Use the Choices function to provide a list of choices for your user to select from. この関数は、編集フォームでコンボ ボックス コントロールと共によく使用されます。This function is commonly used with the Combo box control in edit forms.

ルックアップの場合、Choices が返すテーブルは、ルックアップに関連付けられている外部テーブルと一致します。For a lookup, the table that Choices returns matches the foreign table that's associated with the lookup. Choices を使用することにより、追加データ ソースとして外部テーブルを追加する必要がなくなります。By using Choices, you eliminate the need to add the foreign table as an additional data source. Choices は、外部テーブルのすべての列を返します。Choices returns all columns of the foreign table.

Choices はテーブルを返すので、FilterSortAddColumns、その他すべてのテーブル操作関数を使って、テーブルをフィルター、並べ替え、整形できます。Because Choices returns a table, you can use Filter, Sort, AddColumns, and all the other table-manipulation functions to filter, sort, and shape the table.

現時点では、選択肢委任することはできません。At this time, you can't delegate Choices. この制限によりアプリで問題がある場合は、データ ソースとして外部エンティティを追加し、それを直接使用してください。If this limitation poses a problem in your app, add the foreign entity as a data source, and use it directly.

ShowColumns Search 、その他のテーブル関数とは異なり、 Choices では列名を文字列にして二重引用符で囲む必要はありません。Choices doesn't require column names to be strings and enclosed in double quotes, unlike the ShowColumns, Search, and other table functions. 列を直接参照するのと同じように、式を指定します。Provide the formula as if you were referencing the column directly.

列参照は、データ ソースに対して直接行う必要があります。Column references must be direct to the data source. たとえば、データ ソースが Accounts でルックアップが SLA の場合、列参照は Accounts.SLA になります。For example, if the data source is Accounts and the lookup is SLA, the column reference would be Accounts.SLA. 参照は、関数、変数、またはコントロールを経由することはできません。The reference can't pass through a function, a variable, or a control. この例を拡張し、AccountsGallery コントロールにフィードされる場合は、式 Gallery.Selected.SLA を使って選択されたアカウントの SLA を参照します。Furthering this example, if Accounts is fed to a Gallery control, use the formula Gallery.Selected.SLA to reference the SLA for the selected account. ただし、この参照はコントロールを経由したので、Columns 関数に渡されることはできません。やはり Accounts.SLA を使う必要があります。However, this reference has passed through a control, so it can't be passed to the Columns function - you must still use Accounts.SLA.

現時点では、参照列は SharePoint と Common Data Service でのみ使用できます。At this time, you can use lookup columns only with SharePoint and Common Data Service.


Choices( column-reference )Choices( column-reference )

  • column-reference – 必須。column-reference – Required. データ ソースのルックアップ列です。A lookup column of a data source. 列名を二重引用符で囲まないでください。Don't enclose the column name in double quotes. 参照は、データ ソースの列に対して直接行う必要があり、関数またはコントロールを経由してはなりません。The reference must be directly to the column of the data source and not pass through a function or a control.


ルックアップの選択肢Choices for a lookup

  1. Common Data Service でデータベースを作成し、 [サンプルアプリとデータを含める] ボックスをオンにします。Create a database in Common Data Service, and select the Include sample apps and data box.

    Accounts などの多数のエンティティが作成されます。Many entities, such as Accounts, are created.

    : エンティティ名は、Power Apps Studio の make.powerapps.com と複数形で単数形になっています。Note: Entity names are singular on make.powerapps.com and plural in Power Apps Studio.

    Common Data Service for Apps の Account エンティティのフィールドの一部を一覧表示します。 "主要連絡先" はルックアップフィールドです。

    Accounts エンティティには Primary Contact 列があり、これは 連絡先 エンティティに対するルックアップです。The Accounts entity has a Primary Contact column, which is a lookup to the Contacts entity.

    Common Data Service の Contact エンティティのフィールドの部分的な一覧

    各アカウントについて、連絡先が主連絡先として指定されているか、または主連絡先が "ブランク" になっています。For each account, a contact is designated as the primary contact, or the primary contact is blank.

  2. Accounts エンティティからアプリを生成します。Generate an app from the Accounts entity.

  3. 左端近くにある画面とコントロールの一覧で、EditScreen1 が表示されるまで下にスクロールし、そのすぐ下にある EditForm1 を選択します。In the list of screens and controls near the left edge, scroll down until EditScreen1 appears, and then select EditForm1 just under it.

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

  4. 右側のペインの [プロパティ] タブで、 [フィールドの編集] を選択します。On the Properties tab of the right pane, select Edit fields.


  5. [フィールド] ウィンドウで、 [フィールドの追加] を選択します。In the Fields pane, select Add field.

  6. "主要連絡先" フィールドを検索し、チェックボックスをオンにして、 [追加] を選択します。Search for the Primary Contact field, select its check box, and then select Add.

    Accounts を選択して [データ] ウィンドウを開く

    主要連絡先フィールドがフォームの下部に表示されます。The Primary Contact field appears at the bottom of the form. フィールドにエラーが表示されている場合は、 [表示] タブの [データソース] を選択し、アカウントデータソースの省略記号 (...) を選択して、最新の情報に [更新] を選択します。If the field shows an error, select Data sources on the View tab, select the ellipsis (...) for the Accounts data source, and then select Refresh.

  7. (省略可能) Primary Contact フィールドをフィールド一覧の下部から先頭にドラッグします。(optional) Drag the Primary Contact field from the bottom to the top of the list of fields.

  8. Primary Contact のカードで、コンボ ボックス コントロールを選択します。In the card for Primary Contact, select the Combo box control.

    このコントロールのItemsプロパティは、最初の例のように表示名で列を識別する数式、または2番目の例のように論理名を使用して、列を識別する数式に設定されます。The Items property of that control is set to a formula that identifies the column by either its display name, as in the first example, or its logical name, as in the second example:

    • Choices( Accounts.'Primary Contact' )Choices( Accounts.'Primary Contact' )

    • Choices( Accounts.primarycontactid )Choices( Accounts.primarycontactid )

      フォーム コントロールを含むキャンバス画面。

  9. 説明のために、データテーブルコントロールのchoice関数によって返される完全なテーブルを表示できます。For illustration purposes, we can view the complete table returned by the Choices function in a Data table control. [ホーム] タブの [新しい画面] を選択し、 [空白] を選択します。On the Home tab, select New screen, and then select Blank.

  10. [挿入] タブの [データ テーブル] を選択します。On the Insert tab, select Data table.

  11. データテーブルコントロールのItemsプロパティを次の数式に設定します。Set the Items property of the Data table control to this formula:

    Choices( Accounts.'Primary Contact' )Choices( Accounts.'Primary Contact' )

  12. データテーブルコントロールの中央で、開始するリンクをクリックして [フィールド...] を選択し、表示するフィールドのチェックボックスをオンにします ( firstnamelastnameなど)。In the middle of the Data table control, select the link that starts Choose the fields..., and then select the check boxes for the field or fields that you want to show (for example, firstname and lastname).

    データ テーブル コントロールを含むキャンバス画面。