式の間接参照はもう一方のテーブルに含まれる特定の行から列の値を取得します。式の間接参照はテーブル間の参照を使用し、このテーブルの Ref
型の列の値を使用して、別のテーブルの特定の行を見つけ、その行の列から値を取得します。
以降のセクションでは、式の間接参照の詳細について説明します。
式、数式に不慣れな場合は式: 必須事項をご確認ください。
フォームと意味
式の間接参照のフォームは次のとおりです。
[ref-column].[value-column]
ref-column
はこのテーブルの Ref
型の列名、value-column
は他のテーブルの列名です。
Ref
型の列の構成によって、参照先の行が存在するテーブルがわかります。
Ref
列の値は、Ref
列のソーステーブルの行のキー列の値でなければなりません。
一般的な間接参照式は、Order Deliveries サンプルアプリで確認できます。Orders
テーブルは、式の間接参照、[Customer ID].[Email]
を使用して、お客様 ID に基づいて Customers
テーブルからお客様のメールを取得します。この式の間接参照は次のように考えることができます。
-
Customers
列の構成を特定したソーステーブルに移動します。 -
ソーステーブルで、現在の行の
Customer ID
列と一致するキー列値を持つ行を見つけます。 -
ソーステーブルの該当行から、
Email
列の値を取得します。
逆参照リスト
Ref
の基本タイプである List
型や EnumList
型の列値は、個々の参照を間接参照することで新しい値のリストを作成します。このオペレーションは逆参照リストと呼ばれます。
逆参照リストは Ref
リストの列名(Related Orders
など)と必要な列値の列名(Order Date
など)をそれぞれ角かっこ([
, ]
)で囲み、並べて記述することで実行されます。[Related Orders][Order Date]
のようになります
Related Orders
列値のリストで指定された列から Order Date
列値のリストが表示されます。
逆参照リストを構築するもご覧ください。
連鎖されている式の間接参照
間接参照を間接参照できます。
たとえば、Customer
行、Order
行の子行、Order Detail
行の孫行からなる 3 階層があるとします。Order Detail
行は Order
行への参照が含まれます。Order
行は Customer
行への参照が含まれます。
間接参照式チェーンにより、Order Detail
行から、Customer
行の列の値に直接アクセスできます。つまり、Order Detail
行から Order
行へ間接参照でき、Order
行から Customer
行へ単一の式で間接参照できます。
[Order Id].[Customer Name].[Email]