Zum Inhalt springen

Der Schritt Mehrtabellen-Join verknüpft viele Tabellen (bis zu 32) in einer einzigen Operation mit einem visuellen Join-Graph-Designer und ersetzt damit das Muster, mehrere Zwei-Tabellen-Join-Schritte zu verketten. Sie fügen Tabellen hinzu, ziehen Joins zwischen ihren Spalten, wählen pro Join einen Join-Typ und Bedingungen und ordnen die Ausgabespalten zu. Der Editor hat drei Registerkarten: Tables & Joins, Ausgabespalten und Post-Join Filter.

Eine ausführliche Anleitung finden Sie in der Anleitung zum Schritt Mehrtabellen-Join.

orderscustomersitemsregionsein Schrittverknüpftes Ergebnisbis zu 32 Tabellen
Zeichnen Sie die Joins zwischen Quelltabellen als Graph (bis zu 32 Tabellen), und der gesamte Graph wird in einem einzigen Schritt zu einer Ergebnistabelle aufgelöst, statt viele Zwei-Tabellen-Joins zu verketten.
  • Tabelle hinzufügen: Platziert eine Quelltabelle als Karte mit Spalten auf der Arbeitsfläche. Jede Tabelle hat einen Alias (verwendet als alias.column), der mit einem Buchstaben oder Unterstrich beginnen muss und kein SQL-Schlüsselwort sein darf.
  • Zieltabelle: Die Tabelle, in die das verknüpfte Ergebnis geschrieben wird; sie wird angelegt, falls sie nicht existiert.
  • Dynamisch: Geben Sie eine Quelle oder das Ziel als Verweis an, statt sie auszuwählen: ein Tabellenname, ein Projektpfad (/03 Results/FACT_GL) oder beides mit {variable}-Token, die bei der Ausführung aufgelöst werden. Die Spalten einer dynamischen Quelle lassen sich zur Entwurfszeit nicht lesen, daher werden sie im Seitenbereich von Hand eingegeben.
  • Joins zeichnen: Ziehen Sie von einem Spaltenpunkt einer Tabelle auf eine Spalte einer anderen, um einen Join zu erstellen; eine optionale Bezeichnung benennt die Kante.
  • Eingangsfilter: Ein Filter pro Tabelle, der vor dem Join angewendet wird.
  • Erneut vom Server abrufen: Aktualisiert die Spalten einer Tabellenkarte aus dem neuesten Katalog.
  • Layout bereinigen / An Ansicht anpassen: Ordnet den Graphen automatisch an oder zoomt so, dass er hineinpasst; Verschieben und Zoomen sind auch manuell möglich.
  • Rückgängig / Wiederholen / Verlauf: Bearbeitungen durchlaufen, prüfen und wiederherstellen.
  • Spalten filtern…: Schränkt die auf einer Tabellenkarte angezeigten Spalten ein.
  • Exportieren: Lädt das Join-Diagramm als SVG herunter.
Typ Behält
INNER Zeilen, die über die verknüpften Tabellen hinweg übereinstimmen.
LEFT Alle Zeilen der linken Tabelle, übereinstimmende Zeilen der rechten.
FULL Alle Zeilen beider Tabellen.
CROSS Jede Kombination von Zeilen (keine Bedingungen erlaubt).

Jeder Join außer Cross hat eine oder mehrere Bedingungen, die mit AND / OR kombiniert werden und die Operatoren =, <>, <, <=, >, >=, BETWEEN, IS NULL, IS NOT NULL, IN, NOT IN, LIKE, NOT LIKE verwenden.

Eine Bedingung kann eine Spalte benennen, deren Name Leerzeichen oder Satzzeichen enthält, etwa Build Plant oder Cust (Id); die Spalte muss in dieser Eingabe vorhanden sein. Namen mit einem doppelten Anführungszeichen, Backtick, Backslash oder Steuerzeichen werden abgelehnt.

Bei BETWEEN wird eine Grenze, die als Alias einer Eingabe, Punkt und Spalte geschrieben ist (cust.Max Id), als Spalte dieser Eingabe gelesen. Jede andere Grenze ist Literaltext, auch ein bloßer Aliasname ohne Punkt. Eine Textgrenze, die mit einem Alias und einem Punkt beginnt, etwa cust.2024, wenn eine Eingabe den Alias cust hat, wird daher als Spalte gelesen und als fehlend gemeldet.

Ordnen Sie auf der Registerkarte Ausgabespalten die Ergebnisspalten zu; benennen Sie sie bei Bedarf um, legen Sie den Datentyp fest und aggregieren Sie. Spalten mit gleichem Namen erhalten automatisch ihren Quellalias als Präfix, um Kollisionen zu vermeiden.

Jede Zeile bezieht ihren Wert aus genau einem von drei Feldern; mehrere oder keines davon werden abgelehnt:

Art Felder
Quellspalte Quellalias (der zugehörige Alias auf der Arbeitsfläche) plus Quelle (alias.column). Beides erforderlich.
Konstante Konstante: derselbe feste Wert in jeder Zeile.
Ausdruck Ausdruck: ein SQLAlchemy-Ausdruck, der jeden Alias der Arbeitsfläche als alias.column referenzieren kann.
  • Aus Arbeitsfläche auswählen…: Spalten aus jeder Quelle auf der Arbeitsfläche ankreuzen.
  • Alle Quellspalten hinzufügen: Hängt jede Spalte jeder Quelle an.
  • Ausdrucksspalte hinzufügen: Hängt eine Ausdruckszeile an und öffnet den Ausdruckseditor.

Die Registerkarte Post-Join Filter wendet einen optionalen Filter auf das verknüpfte Ergebnis an (ein Äquivalent zu SQL HAVING), bevor es geschrieben wird; er wird im selben Ausdruckseditor bearbeitet. Er referenziert Ausgabespalten als result.column_name; Quellaliasse sind dort nicht verfügbar.

Wählen Sie Auch zur Laufzeit benannte Spalten übernehmen, um jede Quellspalte, die der Schritt nicht aufführt, unverändert weiterzugeben, so wie die Tabelle sie bei der Ausführung des Schritts hat. Verwenden Sie die Option, wenn ein vorheriger Schritt Spalten erzeugt, deren Namen von den Daten abhängen (zum Beispiel ein Pivot), sodass Sie sie beim Erstellen des Schritts nicht auflisten können. Lassen Sie sie deaktiviert, um nur die von Ihnen aufgeführten Spalten zu schreiben.

  • Der Join-Graph ist ein Baum: Jede Tabelle wird über genau eine Kante in das Ergebnis eingebunden (keine Zyklen), und eine Tabelle kann nicht mit sich selbst verknüpft werden.
  • Die Konfiguration wird sowohl beim Speichern des Schritts als auch bei seiner Ausführung validiert; Fehler markieren die betroffene Tabelle oder den betroffenen Join mit einer ⚠-Markierung, ein fehlgeschlagenes Speichern wechselt zur Registerkarte mit dem ersten Problem, und Zum Problem springen navigiert auf Wunsch dorthin. Ausdrücke von Ausgabespalten und der Post-Join Filter werden beim Speichern geprüft; bei einem Join, der zur Laufzeit benannte Spalten übernimmt, entfällt die Ausdrucksprüfung beim Speichern, und er wird bei der Ausführung des Schritts geprüft.