リストとは、数値のリスト、名前のリスト、メールアドレスのリスト、行のリストなど、それぞれ同じデータ型の 0 個以上の集まりのことです。
リスト式とは、リストを生成する式、または 1 つ以上のリストを使用して任意の型の結果を生成する式です。
リストはさまざまな方法で作成できます。
- 未加工の値から。
- 式から。
- 既存のテーブルの列にある値から。
- 式から。
Ref値のリストの逆参照により。- リストの加算により、2 つのリストのすべての項目を得る。
- リストの減算により、2 つのリストのうち 1 つだけに固有の項目を得る。
List や EnumList 型の列の値はすでにリストであり、式内でリストが許可される場所で直接使用できます。
[Vacation Dates]は、Employeesテーブルのようなテーブルの現在の行から休暇のリストを返します。[Notification Emails]は、Eventsテーブルのようなテーブルの現在の行から通知メールアドレスのリストを返します。[Related Order Details]は、Ordersテーブルのようなテーブルの現在の行に関連するOrder Details行のリストを返します。
関数でリストを使う
さまざまな関数で入力としてリストを使用できます。
ANY()- リストの任意の 1 つの項目。AVERAGE()- 数値のリストの算術平均。COUNT()- リストの項目数。IN()- リストに項目があるかどうか。INDEX()- リストの特定の 1 つの項目。INTERSECT()- 2 つのリストに共通する項目のリスト。ISBLANK()- リストに項目がないかどうか。ISNOTBLANK()- リストに項目があるかどうか。MAX()- 数値または時間値のリストの最大値。MIN()- 数値または時間値のリストの最小値。ORDERBY()- カスタム オーダーの行のリスト。SELECT()- 選択した行の列の値のリスト。SORT()- 項目を値の順に並べ替えたリスト。STDEVP()- 数値リストの算術標準偏差。SUM()- 数値リストの算術合計。TOP()- リストの最上位の項目のリスト。UNIQUE()- 重複を取り除いた項目のリスト。
リストを使って列を表示、非表示にする
列の Show? 式を使用すると、ユーザーに対して条件付きで列を表示または非表示にできます。Show? 式はリストではなく、Yes/No の結果を生成しますが、リストが Show? 式の中で使用されることは一般的です。
-
IN(USEREMAIL(), SELECT(Users[Email], ("Admin" = [Role])))はメールアドレス(USEREMAIL())が管理者ユーザーのメールリスト(SELECT(...))にあるユーザーにのみ列を表示します。関連情報:IN()、SELECT()、USEREMAIL()
-
IN(CONTEXT("ViewType"), { "deck", "table" })は現在のビュータイプ(CONTEXT(...))がビュータイプのリスト({...})にある場合にのみ列を表示します。関連情報:CONTEXT()、IN()
リストを使用してビューを表示、非表示にする
ビューの Show if 式を使用して、メインメニューやナビゲーション バーに条件付きでビューを表示、非表示にできます。Show if 式はリストではなく、Yes/No の結果を生成しますが、リストが Show if 式の中で使用されることは一般的です。
IN(USEREMAIL(), SELECT(Users[Email], ("Admin" = [Role])))はメールアドレス(USEREMAIL())が管理者ユーザーのメールリスト(SELECT(...))にあるユーザーにのみビューを表示します。関連情報:IN()、SELECT()、USEREMAIL()
リストを使って列の値を提案する
列の候補値式は、ユーザーが列を変更する際に値を提案するために使用できます。候補値式は互換性のある型の要素をもつリストを生成しなければならず、その値はユーザーに対してプルダウンで表示されます。
Customers[Name]は既存の顧客名のリストを作成し、ユーザーがリストから選択できるようにします。なお、このリストは並べ替えられません。並べ替えられたリストを取得するには、SORT(Customers[Name])を使用することに注意してください。関連情報:SORT()
リストを使って列の値を検証する
Valid If 式を使用して列の値を検証できます。Valid If 式がリストの結果を作成する場合、リスト内の値は列の唯一の有効な値とみなされます。ユーザーが列の値を変更しようとすると、リストの値はプルダウン メニューに表示され、ユーザーはそこから選択できます。
Customers[Name]は既存の顧客名のリストを作成し、ユーザーがリストから選択できるようにします。なお、このリストは並べ替えられません。並べ替えられたリストを取得するには、SORT(Customers[Name])を使用することに注意してください。関連情報:SORT()
{ "Ordered", "Prepared", "Shipped", "Delivered" }はユーザーが選択できる注文ステータス値の固定リストを作成します。なお、Enum 列の定義された値も、同様の固定リストを作成するのに使用できます。
Valid If はテーブル内の重複をさけるためによく使用されます。たとえば、Customers テーブルの Customer Name 列の全体で、現在の列の値が唯一の値であることを確認する場合などです。
ISBLANK(
FILTER(
"Customers",
([_THIS] = [Customer Name])
)
- LIST([_THISROW])
)