JOIN コマンド
2 つの Analytics テーブルのフィールドを連結して 1 つの新しい Analytics テーブルにします。
メモ
曖昧一致を使用して、テーブルを結合するには、FUZZYJOIN コマンドを参照してください。
構文
JOIN PKEY 主テーブルのキー フィールド|PKEY ALL} {FIELDS 主テーブルのフィールド|FIELDS ALL} {SKEY 副テーブルのキーフィールド |SKEY ALL} <WITH 副テーブルのフィールド|WITH ALL> {キーワードなし|MANY|UNMATCHED|PRIMARY|SECONDARY|PRIMARY SECONDARY} <IF テスト> TO テーブル名 <LOCAL> <OPEN> <WHILE テスト> <{FIRST 範囲|NEXT 範囲> <APPEND> <PRESORT> <SECSORT> <ISOLOCALE ロケールコード>
パラメーター
名前 | 説明 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PKEY 主テーブルのキー フィールド | PKEY ALL |
主テーブルのキー フィールド(複数可)または式。
|
||||||||||||||||||||||||
FIELDS 主フィールド | FIELDS ALL |
結合先の出力テーブルに含める、主テーブル内のフィールドまたは式。
メモ 結合テーブルに含める場合は、主キー フィールドを明示的に指定する必要があります。ALL を指定すると含まれます。 |
||||||||||||||||||||||||
SKEY 副テーブルのキーフィールド | SKEY ALL |
副テーブルのキー フィールド(複数可)または式。
|
||||||||||||||||||||||||
WITH 副フィールド | WITH ALL 省略可能 |
結合先の出力テーブルに含める、副テーブル内のフィールドまたは式。
メモ 結合テーブルに含める場合は、副キー フィールドを明示的に指定する必要があります。ALL を指定すると含まれます。 結合タイプ "UNMATCHED" を使用する場合には、"WITH" は指定できません。 |
||||||||||||||||||||||||
キーワードなし | MANY | UNMATCHED | PRIMARY | SECONDARY | PRIMARY SECONDARY |
実行する結合の種類。 キーワードなし(結合タイプのどのキーワードも指定しない)
MANY
UNMATCHED
PRIMARY
メモ キーワード、BOTH は、PRIMARY を指定することと同じです。 SECONDARY
PRIMARY SECONDARY
|
||||||||||||||||||||||||
IF テスト 省略可能 |
各レコードを処理するために真である必要がある条件式。コマンドは、その条件を満たすレコードに対してのみ実行されます。 メモ IF パラメーターは、任意の範囲パラメーター(WHILE、FIRST、NEXT)が適用された後に、テーブルに残るレコードに対してのみ評価されます。 メモ ほとんどの結合タイプで、IF 条件が主テーブルにのみ適用されます。 例外は多対多結合で、IF 条件が副テーブルも参照できます。 |
||||||||||||||||||||||||
TO テーブル名 |
コマンドの結果を送信する場所:
|
||||||||||||||||||||||||
LOCAL 省略可能 |
Analytics プロジェクトと同じ場所に出力ファイルを保存します。 メモ Analytics テーブルである出力ファイルを含むサーバー テーブルに対してコマンドを実行するときにのみ適用されます。 |
||||||||||||||||||||||||
OPEN 省略可能 |
コマンドを実行した後、コマンドによって作成されたテーブルを開きます。コマンドが出力テーブルを作成する場合にのみ有効です。 |
||||||||||||||||||||||||
WHILE テスト 省略可能 |
各レコードを処理するために真である必要がある条件式。条件が false と評価するか、テーブルの最後に達したら、コマンドは実行を中止します。 メモ WHILE を FIRST または NEXT とともに使用する場合は、1 つの制限に達するとすぐに、レコードの処理が停止します。 |
||||||||||||||||||||||||
FIRST 範囲 | NEXT 範囲 省略可能 |
処理するレコード数:
範囲は処理するレコード数を指定します。 FIRST と NEXT を省略すると、すべてのレコードがデフォルトで処理されます。 |
||||||||||||||||||||||||
APPEND 省略可能 |
コマンドの出力を既存ファイルに上書きしないで、そのファイルの末尾に追加します。 メモ コマンドの出力と既存のファイルの構造が同一であるようにする必要があります。
出力は、既存ファイルとの間でファイル構造が違っている場合でも、Analytics によって既存ファイルに追加されます。出力と既存のファイルの構造が一致しない場合は、データが混在、不足、不正確になります。 |
||||||||||||||||||||||||
PRESORT 省略可能 |
コマンドを実行する前に主キー フィールドで主テーブルを並べ替えます。 メモ GROUP コマンドの内部では PRESORT を使用することができません。 並べ替えの代わりのインデックス主テーブルは、並べ替える代わりにインデックスを付けることができます。大きなテーブルでは並べ替えよりインデックス作成を行った方が、テーブルの結合に必要な時間を短くすることができます。 また、インデックス付きの共通のキー フィールドを使用して 2 つのテーブルを結合する場合は、PRESORT と SECSORT を省略します。 |
||||||||||||||||||||||||
SECSORT 省略可能 |
コマンドを実行する前に副テーブルのキー フィールドで副テーブルを並べ替えます。 メモ SECSORT は GROUP コマンド内では使用できません。 並べ替えの代わりのインデックス副テーブルは、並べ替える代わりにインデックスを付けることができます。大きなテーブルでは並べ替えよりインデックス作成を行った方が、テーブルの結合に必要な時間を短くすることができます。 また、インデックス付きの共通のキー フィールドを使用して 2 つのテーブルを結合する場合は、PRESORT と SECSORT を省略します。 |
||||||||||||||||||||||||
ISOLOCALE ロケールコード 省略可能 |
メモ Analytics の Unicode 版にのみ適用されます。 システム ロケールは「言語-国」の形式で入力します。たとえば、カナダ フランス語はコード「fr_ca」を入力します。 次のコードを使用します。
ISOLOCALE を使用しない場合は、デフォルト システム ロケールが使用されます。 |
例
業者である可能性がある従業員を検索するための方法として、2 つのテーブルを結合する
次の例は、共通キー フィールドとして住所(Address および Vendor_Street フィールド)を使用し、Empmast および Vendor テーブルを結合します。
JOIN コマンドは、新しいテーブルと、一致する主および副レコードを作成します。これにより、同じ住所の従業員と業者のリストが作成されます。
OPEN Empmast PRIMARY OPEN Vendor SECONDARY JOIN PKEY Address FIELDS Empno First Last Address SKEY Vendor_Street WITH Vendor_No Vendor_Name Vendor_Street TO "Employee_Vendor_Match" OPEN PRESORT SECSORT
このバージョンの JOIN コマンドは、主テーブルと副テーブルのすべてのフィールドを結合された出力テーブルに含めます。
OPEN Empmast PRIMARY OPEN Vendor SECONDARY JOIN PKEY Address FIELDS ALL SKEY Vendor_Street WITH ALL TO "Employee_Vendor_Match" OPEN PRESORT SECSORT
一致する顧客がない売掛金レコードを検出する方法として、2 つのテーブルを結合します。
次の例では、Ar テーブルと Customer テーブルを、顧客番号(CustNo)を共通のキー フィールドとして用いて結合します。
JOIN コマンドは、結合タイプ UNMATCHED を使用して、主テーブルの不一致レコードを含む新しいテーブルを作成しています。その結果、どの Customer レコードとも関連付けられていない Ar レコードの一覧が生成されます。
OPEN Ar PRIMARY OPEN Customer SECONDARY JOIN PKEY CustNo FIELDS CustNo Due Amount SKEY CustNo UNMATCHED TO "CustomerNotFound.fil" OPEN PRESORT SECSORT
備考
メモ
このコマンドの動作の詳細については、Analytics のヘルプを参照してください。