Main Content

table の連結

ライブ エディターでキー変数を使用した 2 つの table の連結

R2019b 以降

説明

[table の連結] タスクでは、連結を実行、つまり table を横方向または縦方向に連結することによって対話的に 2 つの table を結合できます。このタスクは、ライブ スクリプト用の MATLAB® コードを自動生成します。

このタスクを使用すると、次を行うことができます。

  • "キー変数" を指定して、内部連結と外部連結を含む table の連結を実行する。このキー変数は table 変数であり、その一致する値 ( "キー値") により出力 table に統合する行が判別されます。

  • 同じ数の行または変数をもつ table をそれぞれ横方向または縦方向に連結する。

Join Tables task in Live Editor

タスクを開く

MATLAB エディターで [table の連結] タスクをライブ スクリプトに追加するには、次を行います。

  • [ライブ エディター] タブで [タスク]、[table の連結] を選択します。

  • スクリプトのコード ブロック内に、jointables などの関連キーワードを入力します。コマンドの補完候補から [table の連結] を選択します。

すべて展開する

この例では、ライブ エディターの table の連結タスクを使用して 2 つの table の内部連結と外部連結を実行する方法を説明します。

最初に、多数の出荷に関する注文 ID、顧客名および注文日がある orders テーブルを読み込みます。

load orders

次に、table、items を読み込みます。これには、顧客が注文した製品と、その品目の価格と出荷ステータスがあります。この table の各行には、orders と同様に注文 ID があります。1 人の顧客が複数の品目を注文できるため、items の複数の行が orders の 1 つの注文を参照することがあります。

load items

table の連結タスクを開きます。タスクを開くには、キーワード join をコード ブロックに入力し、メニューに表示された Join Tables をクリックします。

このタスクを使用して、ordersitems の "内部連結" を実行します。タスクが開いたら、次を行います。

  1. 左と右の table として ordersitems をそれぞれ選択します。

  2. 両方の table のマージ変数として OrderID を選択します。

  3. [内部連結] ボタンをクリックします。

  4. このタスクが生成するコードを表示するには、[結果の表示] セクションの下にある小さい矢印をクリックします。この例で生成されるコードは、関数 innerjoin の呼び出しです。

内部連結を実行すると、出力 table には、左右 "両方" の table に出現するキー値のみが含まれます。

  • 10375120 のみが、両方の入力 table にあります。このため、出力 table にはそれら 2 つの注文のデータのみが含まれます。

  • 1037 は、items では複数回 (品目ごとに 1 回) 出現しますが、orders では 1 回のみ出現します。このため、1037 に対応する CustomerID 値と OrderDate 値が、出力に必要な回数だけコピーされます。

次に、このタスクを使用して "左外部連結" を実行します。外部連結は、一方の入力 table にのみ出現するキー値を含むことができます。たとえば、左外部連結には、右の table に対応する一致がない場合でも左の table のすべてのキー値が含まれます。右の table のキー値が左の table と一致しない場合、それらのキー値は含まれません。

  1. [左外部連結] ボタンをクリックします。

  2. [マージ変数の結合] チェック ボックスをオンにします。既定で、外部結合は左右の table のキー変数を出力 table の個別の変数にコピーします。キー変数をマージすると出力のキー変数が 1 つになります。

  3. 生成された関数 outerjoin の呼び出しを表示するには、[結果の表示] の下にある小さい矢印をクリックします。

これで、出力 table には注文 8937 のデータが含まれます。ただし、table、items には注文 8937 の品目がないため、行の残りは空の値 (''NaN<undefined> など) で埋められます。外部連結では、左右の table にキー値に関連付けられたデータがない場合、テーブル要素を空の値で埋めます。

  • 完全な外部連結では、両方の table のキー値とデータがすべて含まれます。

  • 左外部連結では、左の table のキー値とデータがすべて含まれますが、右の table については一致するキー値とそれに関連付けられたデータのみが含まれます。

  • 右外部連結では、右の table のキー値とデータがすべて含まれますが、左の table については一致するキー値とそれに関連付けられたデータのみが含まれます。

関連する例

パラメーター

すべて展開する

ワークスペースにあるすべての空でない table および timetable のリストから名前を指定します。

ワークスペースにあるすべての空でない table および timetable のリストから名前を指定します。

左または右の table にある変数のリストから変数名を指定します。

  • 左の table のドロップダウン リストには、変数の完全なリストがあります。

  • 右の table のドロップダウン リストには、変数のサブセットがあります。右の table のマージ変数のリストは、左の table から選択されたマージ変数により制約されます。

マージ変数 ("キー" 変数) を指定すると、その値により左右の table からマージされる行が決まります。マージ変数の複数のセットを指定するには、[+] ボタンを使用します。

外部連結を実行するときに対応するマージ変数を結合します。既定で、外部連結は左右の table のキー変数を、出力 table のそれぞれの変数にコピーします。左右の table の対応するキー変数を結合して出力の 1 つの変数にするには、このチェック ボックスをオンにします。

バージョン履歴

R2019b で導入

すべて展開する