JMPの使用法 > データの再構成 > データテーブルの結合
公開日: 11/25/2021

データテーブルの結合

[テーブル]>[結合(Join)]を選んで、2つのデータテーブルを1つの新しいテーブルに結合できます。2つのデータテーブルの結合方法全般の解説については、2つのデータテーブルを結合して1つの新しいデータテーブルを作成するには、以下の手順で操作します。を参照してください。テーブルは、次の3つの方法で結合できます。

行番号に従って結合します。詳細については、行番号による結合の例を参照してください。

直積を使います。2つの元のデータテーブルの行の可能な組合せをすべて含む新しいテーブルが作成されます。詳細については、直積結合の例を参照してください。

それぞれのデータテーブルに存在する列の値を対応させて結合します。詳細については、対応する列の値による結合の例を参照してください。

メモ: [テーブル]メニューの[JMPクエリービルダー]オプションには、単純な結合を実行する前にデータを照会するためのオプションがあります。[JMPクエリービルダー]を使用したデータテーブルの照会と結合を参照してください。

2つのデータテーブルを結合して1つの新しいデータテーブルを作成するには、以下の手順で操作します。

1. 結合対象の2つのデータテーブルを開きます。

2. [テーブル]>[結合(Join)]を選択します。

表示されるウィンドウの「...と結合するテーブル」の下に、開いているすべてのテーブルの名前が表示されます。

図6.22 「結合(Join)」ウィンドウ 

The Join Window

3. 「...と結合するテーブル」で、アクティブなテーブルと結合するテーブルを選択します。

4. 「対応の指定」で、テーブルの結合方法のオプションを選択します。

5. 「出力テーブル名」の下のテキストボックスに新しいテーブルの名前を入力します。

6. (オプション)その他のオプションを使用して結合の操作をカスタマイズします。

7. [OK]をクリックして、データテーブルを結合します。

結合(Join)のオプション

ダイアログを開いたままにする

[OK]をクリックした後も「結合(Join)」ウィンドウを開いたままにします。

スクリプトを元のテーブルに保存

同じ設定を使用して再びデータを結合できるように、スクリプトを元のテーブルに保存します。

主テーブルの順序を保存

対応する列を基準に並べ替えるのではなく、元のデータテーブルの順序を結合後のテーブルでも維持します。デフォルトでオンになっています。

結合するテーブルのデータで主テーブルを更新

元のテーブルのデータが、同じ名前を持つ列のデータで更新されます。更新された結果は、出力先の新しいデータテーブルに表示されます。

次のことを注意してください。

データは、欠測値では置き換えられません。

出力テーブルは、元のテーブルと同じ列を持ちます。そのため、[結合するテーブルのデータで主テーブルを更新]を使う場合は、[テーブル結合のために列を選択]は適用されません。

[結合するテーブルのデータで主テーブルを更新]オプションは、行番号または対応する列による結合の場合にだけ選択できます。

同名の列をマージ

2つ目のテーブルの列データで、元のテーブルにある同じ名前の列のデータが置き換えられます。最初のテーブルの欠測値は、2番目のテーブルの非欠測値で置き換えられます。

対応する列の値で結合する場合、[同名の列をマージ]をオンにすると、[対応フラグ]もオンになります。結合してできた新しいテーブルには、「対応フラグ」という名前の名義尺度の列が含まれます。

この列に「主テーブル」が表示された場合は、最初の(元の)テーブルからのデータであることを示します。

この列に「副テーブル」が表示された場合は、2番目のテーブルからのデータであることを示します。

この列に「両方」が表示された場合は、最初と2番目の両方のテーブルに含まれるデータであることを示します。

対応フラグ

対応する列の値で結合する場合に、「対応フラグ」列を作成するかどうかを指定します。[同名の列をマージ]を選択した場合は、自動的に選択されます。

計算式のコピー(「主テーブル」および「結合するテーブル」)

主テーブルまたは結合するテーブルの計算式を出力列に含めます。デフォルトでオンになっています。

自動評価しない(「主テーブル」および「結合するテーブル」)

新しいテーブルの作成中に列の計算式が自動に評価されないようにします。デフォルトでオンになっています。

対応する列の値で結合

両方のテーブルでそれぞれ選ばれた列の値をキーとしたマッチマージを行います。次の手順を行います。

1. 「元の列」における各テーブルのリストから、列名を強調表示します。各リストの強調表示された列が、上から順にペアになります。行は、すべての列のペアで値とデータタイプが一致した場合だけ結合されます。

2. [対応]をクリックします。選択した列のペアが、「対応する列」ボックスに表示されます。対応する列は、同じ名前でなくてもかまいません。また、両方のテーブルで、同じ位置になくてもかまいません。

3. (オプション)最初に検出された一致する行だけを含めるには、両方のテーブルの[重複する行を削除]チェックボックスをボックスをオンにします。すると、最初に検出された一致する行だけが新しいテーブルに書き込まれます。一方のテーブルだけにこのオプションを指定すると、最初に一致した値が他方のテーブルで一致したすべての値と結合されます。[重複する行を削除]のチェックボックスを両方ともオフにしておくと、対応する列値の各グループ内で直積が実行されます。

4. (オプション)データテーブルのすべての行(一致する値がない場合も)を含めるには、[一致しない行も含める]ボックスをオンにします。結合する一方または両方のデータテーブルにこのオプションを指定できます。

行番号で対応

2つのテーブルを横に結合します。

直積

直積で結合すると、2つの元のデータテーブルの行の可能な組合せがすべて含まれた新しいテーブルが作成されます。最初のテーブルのデータを2番目のテーブルのデータと組み合わせて、値のすべての組合せがセットで表示されます。

テーブル結合のために列を選択

出力テーブルに含める列のサブセットを選択します。次の手順を行います。

1. 「元の列」で、新しいテーブルに含める各テーブルの列を強調表示します。

2. 「出力列」の[選択]をクリックします。

出力テーブル名

結合後のテーブルの名前を指定します。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).