テーブルの結合

コンセプト情報

JOIN コマンド

各テーブルの共通キー フィールドを使用して、異なるレコード構造を持つ 2 つのソート済み Analytics テーブルを結合することができます。第 3 のテーブルに含まれるフィールドは、元の 2 つテーブルにあるフィールドを組み合わせたものです。

メモ

主と副の関係を逆にすると異なる結果が生じるため、結合では主テーブルと副テーブルの特定に注意してください。詳細については、結合または関連付けの一般的な用途を参照してください。

手順

メモ

手順の後に詳細情報が表示されます。[結合]ダイアログ ボックスのオプションを参照してください。

  1. ナビゲーターで、主テーブルを開き、(ナビゲーターで)副テーブルを右クリックして[副テーブルとして開く]を選択します。

    主および副テーブル アイコンが数字 1 ~ 2 で更新され、相互への関連を示します

  2. データ > 結合]の順にクリックします。
  3. メイン]タブ
    1. 結合タイプを選択します。

      結合タイプについては、以下で説明します。

    2. 主キー]リストから主キー フィールドを選択します。
    3. 副キー]リストから副キー フィールドを選択します。
    4. 主フィールド]および[副フィールド]リストから、結合テーブルに含めたいフィールドを選択します。

      メモ

      結合テーブルに含める場合は、主キーおよび副キー フィールドを明示的に選択する必要があります。

      ヒント

      隣接する複数のフィールドを選択するには、Shift キー + クリックを、隣接していない複数のフィールドを選択するには、Ctrl キー + クリックを利用できます。

  4. 保存先]テキスト ボックスに、新しい結合された ACL テーブルの名前を指定します。
  5. (省略可能)[詳細]タブ:
    1. レコードのサブセットのみが処理されることを指定する場合は、[範囲]パネルでオプションのいずれかを選択します。
    2. 出力結果を既存の Analytics テーブルの末尾に追加する場合は、[既存のファイルに追加する]を選択します。
  6. OK]をクリックします。

    新しい結合されたテーブルが出力です。

[結合]ダイアログ ボックスのオプション

次の表は、[結合]ダイアログ ボックスのオプションの詳細を示します。

[メイン]タブ

オプション – [結合]ダイアログ ボックス 説明
結合タイプ

使用する Analytics 結合タイプを指定します。

詳細については、参照してください。 結合後のテーブルに含まれるレコード

一致した主レコードおよび副レコード

(一致する 1 件目の副レコード)

結合された出力テーブルの内容:

  • すべての一致した主レコードおよび最初に一致した副レコード

一致した主レコードおよび副レコード

(重複する副レコードのすべての一致)

結合された出力テーブルの内容:

  • すべての一致した主レコードおよびすべての一致した副レコード
  • 主および副テーブル間の各一致に 1 つのレコード

不一致の主レコード

結合された出力テーブルの内容:

  • 不一致の主レコード

すべての主レコードと、キーに一致する副レコード

結合された出力テーブルの内容:

  • すべての主レコード(一致と不一致の両方)、最初に一致した服レコード

すべての副レコードと、キーに一致する主レコード

結合された出力テーブルの内容:

  • すべての副レコード(一致と不一致)およびすべての一致する主レコード

    重複する副一致の最初のインスタンスのみが主レコードに結合されます。

すべての主レコードおよび副レコード

結合された出力テーブルの内容:

  • すべての主および副レコード(一致と不一致)

    重複する副一致の最初のインスタンスのみが主レコードに結合されます。

副テーブル 副テーブルを選択する代替方法。
主キー

副キー

2 つのテーブルを結合するために使用する共通キー フィールドを指定します。
  • 主キーおよび副キーリストで直接共通キー フィールドを選択できます。
  • 主キー]または[副キー]をクリックすると、[選択したフィールド]ダイアログ ボックスを開き、共通キー フィールドを選択するか、主キーで式を作成できます。

キー フィールドのガイドライン:

  • データ型キー フィールドはどのようなデータ型でもかまいませんが、関連付けするテーブル間で統一されている(データ型が同じになっている)必要があります。

    1 つの例外は、文字および数値キー フィールドを相互に結合できることです。

  • 日付時刻のサブタイプ 日付時刻のサブタイプ(日付、日付時刻および時刻)の結合対象は、同じサブタイプのみです
  • LENGTH
    • 数値キー フィールドの長さは同じにしておくことをお勧めします。
    • 文字キー フィールドの長さが異なる場合、これらのフィールドは自動的に調整されます。
    • 日付時刻キー フィールドの長さは同じでなくてもかまいません。
  • 名前と開始位置キー フィールドの名前と開始位置はテーブル間で異なっていてもかまいませんが、同じデータ要素になっている必要があります。
  • 複数のキー フィールド必要に応じて、1 つのテーブルに 2 つ以上の共通キー フィールドを含めることができます。詳細については、複数のキー フィールドの使用を参照してください。
主フィールド

副フィールド

結合テーブルに含めるフィールドを指定します。
  • 主キーおよび副キーリストで直接フィールドを選択できます。
  • 主フィールド]または[副フィールド]をクリックすると、[選択したフィールド]ダイアログ ボックスを開き、フィールドを選択するか、1 つ以上の主フィールドで式を作成できます。
  • 主フィールドと副フィールドの選択順序は、結合されるテーブルにおけるフィールドの表示順序に対応します。

    グループとして、結合されるテーブルで、主フィールドは副フィールドの前に現れます。

主テーブルをあらかじめ並べ替える

副テーブルをあらかじめ並べ替える

キー フィールドで主テーブルまたは副テーブルを並べ替えます。
  • 1 つまたは両方のキー フィールドが既に適切に並べ替えられているか、インデックスが付いている場合は、[事前並べ替え]をオフにできます。
  • 事前並べ替えを行うと、テーブルの結合に時間がかかるため、必要な場合にのみこの機能を使用してください。
  • 副テーブルのキー フィールドは、昇順で並べ替えられているか、インデックスが付けられている必要があります。
ローカル

サーバー テーブルに接続している場合は、結合テーブルを保存する場所を指定します。

  • ローカルを選択]では、Analytics プロジェクトと同じ場所、または移動先の場所に出力テーブルを保存します。
  • AX サーバーの Prefix フォルダーに出力テーブルを保存する場合は、[ローカル]を選択解除されたままにしておきます。AX Server
出力テーブルを開く 操作の完了時に、出力結果を含んでいる Analytics テーブルを自動的に開くかどうかを指定します。
もし次の

(省略可能)レコードを処理から除外する条件を作成できます

  • If]テキスト ボックスに条件を入力するか、または[If]ボタンをクリックし、式ビルダーを利用して WHILE ステートメントを作成することができます。
  • ほとんどの Analytics 結合タイプで、条件は主テーブルのみを参照できます。
  • 結合タイプの一致する主および副レコード(すべての副一致)では、条件は主テーブルまたは副テーブル、あるいはその両方を参照できます。

    メモ

    式ビルダー]で副テーブルフィールドにアクセスするには、[対象テーブル]ドロップダウンリストで副テーブルを選択します。

    If 条件は、任意の範囲オプション(先頭次へWhile)が適用された後に、テーブルに残るレコードに対してのみ評価されます。

変換先 出力テーブルの名前と場所を指定します。
  • 出力テーブルを Analytics プロジェクト フォルダーに保存するには、テーブル名のみを入力します。
  • プロジェクト フォルダー以外の場所に出力テーブルを保存するには、絶対ファイル パスや相対ファイル パスを指定したり、[保存先]をクリックし、別のフォルダーに移動します。

    たとえば、C:\Results\Output.fil または Results\Output.fil のように指定します。

保存する出力テーブルの場所に関係なく、そのテーブルが開いているプロジェクトにまだ存在しないときは、プロジェクトに追加されます。

Analytics によってテーブル名があらかじめ設定されている場合は、その設定されている名前を受け入れることも、あるいは変更することもできます。

メモ

Analytics のテーブル名は、最長で 64 文字の英数字(拡張子 .FIL を含まない)に制限されます。名前にはアンダースコア文字(_)を使用できますが、他の特殊文字やスペースは使用できません。名前の先頭を数字にすることはできません。

[詳細]タブ

オプション – [結合]ダイアログ ボックス 説明
範囲パネル 処理される主テーブルのレコードを指定します。
  • すべて(デフォルト)主テーブルのすべてのレコードが処理されます。
  • 先頭 – このオプションを選択してテキスト ボックスに数を入力すると、主テーブル内の先頭レコードから処理が開始され、指定した件数のレコードのみが処理対象とされます。
  • – このオプションを選択してテキスト ボックスに数を入力すると、主テーブル ビュー内で現在選択されているレコードから処理が開始され、指定した件数のレコードのみが処理対象とされます。

    行内のデータではなく、左端の列の実際のレコード番号が選択されている必要があります。

  • While – WHILE ステートメントを使用して、条件に基づいて主テーブル内のレコードの処理を制限するには、このオプションを選択します。
    • While]テキスト ボックスに条件を入力するか、または[While]ボタンをクリックし、式ビルダーを利用して WHILE ステートメントを作成することができます。
    • WHILE ステートメントでは、指定した条件が true と評価される間のみ、レコードを処理することができます。
    • While オプションは、"すべて"、"先頭"、または "" オプションと組み合わせて使用することができます。1 つの制限に達するとすぐに、レコードの処理が停止します。

メモ

"先頭" または "" オプションで指定されたレコード数は、テーブル内の物理的な順番またはインデックス順のレコードを参照するもので、ビューに適用されたフィルターやクイック ソートは一切無視します。ただし、分析操作の結果ではすべてのフィルターを考慮します。

ビューでクイック ソートが実行されている場合、"" は "先頭" のように動作します。

既存のファイルに追加する 出力結果が既存の Analytics テーブルの最後に追加されることを指定します。

メモ

出力結果と既存のテーブルの構造が同一であるかどうかが不確かな場合は、[既存のファイルに追加する]を選択解除されたままにしておくことをお勧めします。

追加およびデータ構造の詳細については、既存テーブルへの出力結果の追加を参照してください。

OK 処理を実行します。
  • 文字キー フィールドと数値キー フィールドを対応付けて結合を行う場合、または長さが異なる文字キー フィールドで結合を行う場合は、それらのフィールドを一致させるよう試みることを提示するメッセージが表示されます。
  • 上書きを確認するメッセージが表示されたら、適切なオプションを選択します。

    最後に追加]オプションが表示されることを期待していたのに表示されない場合は、[いいえ]をクリックして操作をキャンセルし、既存テーブルへの出力結果の追加を参照してください。