コンテンツにスキップ

複数テーブル結合 ステップは、ビジュアルな 結合グラフデザイナー を使用して、1回の操作で多数(最大32個)のテーブルを結合します。2テーブルの結合ステップを複数連結するパターンの代わりに使用できます。テーブルを追加し、列間に結合を描画し、結合ごとに結合タイプと条件を選択して、出力列をマッピングします。エディターには3つのタブがあります: Tables & Joins、出力列、Post-Join Filter。

詳しい手順については、複数テーブル結合ステップガイドを参照してください。

orderscustomersitemsregions1ステップ結合結果最大32テーブル
ソーステーブル間の結合をグラフとして描画すると(最大32テーブル)、多数の2テーブル結合を連結する代わりに、グラフ全体が1つのステップで1つの結果テーブルにまとめられます。
  • テーブルを追加 — ソーステーブルを列のカードとしてキャンバスに配置します。各テーブルには エイリアス(alias.column として使用)があり、文字またはアンダースコアで始まる必要があり、SQLキーワードは使用できません。
  • ターゲットテーブル — 結合結果の書き込み先のテーブルです。存在しない場合は作成されます。
  • 動的 — ソースまたはターゲットを選択する代わりに、参照として指定します。テーブル名、プロジェクトパス(/03 Results/FACT_GL)、または実行時に解決される {variable} トークンを含むいずれかです。動的なソースの列は設計時に読み取れないため、サイドパネルで手動で入力します。
  • 結合を描画 — 一方のテーブルの列のドットから、もう一方のテーブルの列へドラッグして結合を作成します。オプションの ラベル でエッジに名前を付けられます。
  • 結合前フィルター — 結合の前に適用される、テーブルごとのフィルターです。
  • サーバーから再取得 — テーブルカードの列を最新のカタログから更新します。
  • レイアウトを整理 / 全体を表示 — グラフを自動配置するか、全体が収まるようにズームします。パンとズームは手動でも行えます。
  • 元に戻す / やり直し / 履歴 — 編集内容を順に戻したり、確認したり、復元したりします。
  • 列をフィルター… — テーブルカードに表示される列を絞り込みます。
  • エクスポート — 結合図をSVGとしてダウンロードします。
タイプ 保持される行
INNER 結合されたテーブル間で一致する行。
LEFT 左のテーブルのすべての行と、右のテーブルの一致した行。
FULL 両方のテーブルのすべての行。
CROSS 行のすべての組み合わせ(条件は使用できません)。

クロス結合以外の各結合には、AND / OR で組み合わせた1つ以上の条件があり、演算子として =、<>、<、<=、>、>=、BETWEEN、IS NULL、IS NOT NULL、IN、NOT IN、LIKE、NOT LIKE を使用できます。

条件では、Build Plant や Cust (Id) のように、名前にスペースや句読点を含む列を指定できます。その列は、その入力に存在している必要があります。二重引用符、バッククォート、バックスラッシュ、または制御文字を含む名前は拒否されます。

BETWEEN では、入力のエイリアス、ドット、列の順に記述した境界値(cust.Max Id)は、その入力の列として読み取られます。それ以外の境界値は、ドットのないエイリアス名だけの場合も含め、リテラルテキストとして扱われます。そのため、入力にエイリアス cust がある場合の cust.2024 のように、エイリアスとドットで始まるテキストの境界値は、列として読み取られ、存在しないと報告されます。

出力列 タブで、結果の列をマッピングします。必要に応じて、名前の変更、データ型の設定、集計を行います。同じ名前の列には、競合を避けるために、ソースのエイリアスが自動的にプレフィックスとして付けられます。

各行は、次の3つのフィールドのうちちょうど1つから値を取得します。複数、または1つも設定しない場合は拒否されます。

種類 フィールド
ソース列 ソースエイリアス(所有するキャンバスのエイリアス)と ソース(alias.column)。両方が必須です。
定数 定数 — すべての行で同じ固定値。
式 式 — 任意のキャンバスのエイリアスを alias.column として参照できるSQLAlchemy式。
  • キャンバスから選択… — キャンバス上のすべてのソースから列を選択します。
  • すべてのソース列を追加 — すべてのソースのすべての列を追加します。
  • 式の列を追加 — 式の行を追加し、式エディターを開きます。

Post-Join Filter タブでは、結合結果に対して、書き込み前に適用するオプションのフィルター(SQLの HAVING に相当)を、同じ式エディターで編集できます。出力列は result.column_name として参照します。ここではソースのエイリアスは対象外です。

実行時に指定された列も引き継ぐ を選択すると、ステップが列挙していないソース列がすべて、ステップの実行時にテーブルにある状態のまま変更されずに渡されます。ピボットなど、名前がデータによって決まる列を前のステップが作成する場合、ステップの作成時にそれらを列挙できないため、このオプションを使用します。オフのままにすると、列挙した列だけが書き込まれます。

  • 結合グラフはツリーです。各テーブルは、ちょうど1つのエッジを通して結果に結合され(循環はありません)、テーブルを自分自身に結合することはできません。
  • 設定は、ステップの保存時と実行時の両方で検証されます。エラーがあると、問題のあるテーブルまたは結合に ⚠ マークが付き、保存に失敗すると最初の問題があるタブに切り替わり、問題へ移動 で必要に応じてそこへ移動できます。出力列の式とPost-Join Filterは保存時にチェックされます。実行時に指定された列を引き継ぐ結合では、保存時の式のチェックはスキップされ、ステップの実行時にチェックされます。