DEFINE RELATION コマンド
2 つの Analytics テーブル間の関連付けを定義します。
メモ
最大 18 の Analytics テーブルを関連付け、それらのテーブルのフィールドは単独のテーブルに存在しているかのように扱うことができ、任意に組み合わせてデータにアクセスし分析することが可能です。 関連するテーブルの各ペアの個別の DEFINE RELATION コマンドを指定する必要があります。
構文
DEFINE RELATION キーフィールド名 WITH 関連テーブル名 INDEX インデックス名 <AS リレーション名>
パラメーター
名前 | 説明 |
---|---|
キーフィールド名 |
親テーブルのキー フィールド。 指定できるキー フィールドは、各リレーションにつき 1 つのみです。 メモ 親テーブルと孫テーブルの関係を作成するときには、テーブル名.フィールド名の形式で完全修飾キー フィールド名を指定する必要があります。 3 つのテーブルを関連付けるで、Vouchers.created_by を参照してください。 |
WITH 関連テーブル名 |
関連テーブルの名前。 |
INDEX インデックス名 |
関連テーブルのキー フィールドのインデックスの名前。 テーブルを関連付ける前に、キー フィールドを基に関連テーブルにインデックスを作成する必要があります。 |
AS リレーション名 省略可能 |
一意のリレーション名。 デフォルトでは、子テーブルの名前がリレーション名となります。 同じ子テーブルに対し、さらに関連付けを追加して定義する場合は、一意な名前を指定する必要があります。 |
例
2 つのテーブルの関連付け
以下の例では、顧客番号フィールド(CustNum)をキー フィールドに指定して、現在開いているテーブルを Customer テーブルと関連付けます。
DEFINE RELATION CustNum WITH Customer INDEX Customer_on_CustNum
Customer_on_CustNum は、キー フィールドの子テーブル インデックスの名前です。 子テーブル インデックスはテーブルを関連付けるときに必要です。
子テーブル インデックスが DEFINE RELATION コマンドを実行するときに存在していない場合は、エラー メッセージが表示され、関連付けが実行されません。
ヒント
Analytics のユーザー インターフェイスで関係を定義する場合、子テーブル インデックスが自動的に作成されます。
2 つのテーブルを関連付ける前に子テーブル インデックスを作成できます。
必要に応じて、2 つのテーブルを関連付ける直前に子テーブル インデックスを作成できます。 次の例は、Ar テーブルを Customer テーブルに関連付ける前に、Customer 子テーブルでインデックスを作成する方法を示します。
OPEN Customer INDEX ON CustNum TO Customer_on_CustNum Open Ar DEFINE RELATION CustNum WITH Customer INDEX Customer_on_CustNum
以下の例は、ACL_Rockwood.ACL サンプル プロジェクトで 3 つのテーブルを関連付けます。
- Vouchers_items 親テーブル
- Vouchers 子テーブル
- Employees 孫テーブル
Vouchers テーブルを関係の中間テーブルとして使用すると、各伝票項目を、項目を処理した従業員に関連付けることができます。
OPEN Vouchers INDEX ON voucher_number TO "Vouchers_on_voucher_number" OPEN Vouchers_items DEFINE RELATION voucher_number WITH Vouchers INDEX Vouchers_on_voucher_number OPEN Employees INDEX ON employee_number TO "Employees_on_employee_number" OPEN Vouchers_items DEFINE RELATION Vouchers.created_by WITH Employees INDEX Employees_on_employee_number
構文ロジックの説明
- Vouchers テーブルを開き、voucher_number フィールドにインデックスを作成します。
- Vouchers_items テーブルを開き、voucher_number をキー フィールドとして使用し、Vouchers テーブルに関連付けます。
- Employees テーブルを開き、employee_number フィールドにインデックスを作成します。
- Vouchers_items テーブルを開き、Vouchers.created_by をキー フィールドとして使用し、Employees テーブルに関連付けます。
メモ
Vouchers.created_by は 2 番目の関係でキー フィールドとして使用できます。最初の関係で Vouchers_items と Vouchers を既に関連付けているためです。
備考
メモ
このコマンドの動作の詳細については、Analytics のヘルプを参照してください。