データセット内の選択された行の列から値のリストを返します。
使用例
SELECT(生徒[ファースト ネーム], TRUE, FALSE)
は、生徒全員のファースト ネーム(重複あり)のリストを返します。生徒[ファースト ネーム]
に相当します。
SELECT(生徒[ファースト ネーム], ([クラス年度] = "2020"), FALSE)
は、2020 年度クラスの生徒のファースト ネームのリスト(重複あり)を返します。SELECT(生徒[ファースト ネーム], ([クラス年度] = "2020"))
に相当します。
SELECT(生徒[ファースト ネーム], ([クラス年度] = "2020"), TRUE)
は、2020 年度クラスの生徒のファースト ネーム(重複なし)のリストを返します。
SELECT(注文[注文 ID], ([顧客] = [_THISROW].[顧客]))
は、当該顧客の注文を返します。具体的には、注文
データセットの行のうち、顧客
列の値が現在のフォームの顧客
列の値に等しい行の注文 ID
列の値(行キー)を返します。FILTER("注文", ([顧客] = [_THISROW].[顧客]))
に相当します。関連情報: FILTER()
SELECT(製品[名前], ([価格] < 100), TRUE)
は、$100 未満の製品の重複のない名前を返します。
構文
SELECT(データセットの列, 行の選択, [重複の有無])
データセットの列
- 検索するテーブルまたはスライス(「データセット」)と値を収集する列の仕様。データセット名[列名]
の形式(例:注文[注文 ID]
)にします。見た目は列リスト式と同じですが、この引数は式ではありません。行の選択
-Yes/No
式。データセットの各行について評価され、TRUE
またはFALSE
を返します。行の列値を結果に含める必要がある(TRUE
)か除外する(FALSE
)かを示します。重複の有無
-Yes/No
式。FALSE
に設定すると行の選択で該当したすべての値が結果リストに含まれ、TRUE
に設定すると重複する値が除外されます。指定しなければ、FALSE
と想定されます。
トラブルシューティング
2 番目の引数である行の選択
の式の中で、任意の列の参照は、式を実行するデータセットではなく検索先のデータセットの観点から解釈されます。現在の行の列を参照するには、_THISROW
を逆参照する必要があります。
たとえば、注文の詳細行からアイテムの説明を取得する場合について考えてみましょう。
SELECT(注文の詳細[説明], ([注文 ID] = [注文 ID]), TRUE)
目的は、注文の詳細
データセットから当該注文の独自 ID と注文 ID
列値が同じ行を選択することです。しかし、行の選択
の式(([注文 ID] = [注文 ID])
)の中で、どちらの列も確認先である注文の詳細
行を参照しています。この記述では、式は常に TRUE
になります。
現在の行の列を参照するには、次のように _THISROW
を逆参照して目的の列を取得します。
SELECT(注文の詳細[説明], ([注文 ID] = [_THISROW].[注文 ID]), TRUE)