Hinzufügen von SQL-Umwandlungen
Sie können SQL-basierte Tabellen in Umwandlungsaufgaben aufnehmen. Eine SQL-Umwandlung ermöglicht die Eingabe einer SQL SELECT-Abfrage in eine Pipeline, um komplexe oder einfache Umwandlungen zu definieren. Sie können auch SQL Assistant verwenden, um eine Abfrage über einen Textprompt mithilfe von generativer KI zu erstellen. Sie können auch Makros verwenden, um die auszuführende Abfrage anzupassen, wenn ein anfänglicher Ladevorgang oder ein inkrementeller Ladevorgang durchgeführt wird.
Weitere Informationen zum Erstellen einer Umwandlungsaufgabe finden Sie unter Umwandeln von Daten.
Hinzufügen einer SQL-Umwandlung
So fügen Sie eine SQL-Umwandlung in einer Umwandlungs-Datenaufgabe hinzu:
-
Wählen Sie bei Umwandeln die Datensätze, die in die Abfrage eingeschlossen werden sollen, und klicken Sie auf SQL-Umwandlung hinzufügen.
Legen Sie den Namen der Umwandlung in Name fest. Weitere Informationen zu den anderen Einstellungen finden Sie unter Einstellungen.
Klicken Sie auf Hinzufügen, wenn Sie zum Erstellen der SQL-Umwandlung bereit sind.
SQL-Umwandlung bearbeiten wird angezeigt.
-
Geben Sie die Abfrage zum Zurückgeben der SQL-basierten Tabelle im Abfragefenster ein.
Weitere Informationen finden Sie unter Bearbeiten der SQL-Abfrage.
-
Klicken Sie auf Abfrage ausführen.
Dadurch werden Metadaten und eine Vorschau der Daten abgerufen.
-
Überprüfen Sie die Parameter in Parameter.
Weitere Informationen finden Sie unter Parameter.
-
Legen Sie einen Primärschlüssel in Metadaten fest.
Weitere Informationen finden Sie unter Metadaten.
-
Wenn Sie mit den Ergebnissen der Abfrage zufrieden sind, klicken Sie auf Speichern und schließen. Der Datensatz wird nun zur Liste der Ziele hinzugefügt und kann in einer Vorschau angezeigt werden.
Bearbeiten der SQL-Abfrage
Geben Sie die Abfrage zum Zurückgeben der SQL-basierten Tabelle im Abfragefenster ein. Die Abfrage kann nur aus den ausgewählten Quelldatensätzen gelesen werden, aber Sie können mit Hinzufügen weitere Quelldatensätze hinzufügen.
-
Sie können eine Anweisung erstellen, um einen Datensatz aus Objekte zu laden. Klicken Sie auf
und dann auf SELECT-Anweisung im Editor erzeugen.
-
Sie können den Namen eines Datensatzes in die Zwischenablage kopieren, indem Sie auf
und dann auf Kopieren klicken.
-
Klicken Sie auf >, um einen Datensatz oder Spaltennamen in den Editor zu verschieben.
-
Klicken Sie auf
, um Text im Editor zu suchen und zu ersetzen.
Sie können Makros verwenden, um die auszuführende Abfrage zu adaptieren, wenn ein inkrementeller Ladevorgang verwendet wird.
Weitere Informationen finden Sie unter Verwenden von Makros zur Adaptierung der Abfrage an den Ladetyp.
Tastaturkombinationen
-
Strg+F Suchen und ersetzen
-
Strg+/ Aktuelle Zeile kommentieren/auskommentieren
-
Strg+Eingabetaste Abfrage ausführen
-
Strg+Z Rückgängig
-
Strg+Y Wiederherstellen
Anzeigen einer Vorschau der Ergebnisse
Sie können eine Vorschau der Ergebnisse anhand einer Stichprobe der Daten in Ergebnisse anzeigen.
Ihnen müssen die folgenden Rollen zugewiesen sein, um eine Vorschau der Daten anzeigen zu können:
-
Kann Daten anzeigen in dem Bereich, in dem sich die Verbindung befindet.
-
Kann anzeigen in dem Bereich, in dem sich das Projekt befindet.
Ergebnisse für Beispieldaten werden angezeigt. Mit Zeilenanzahl können Sie festlegen, wie viele Datenzeilen in das Beispiel eingeschlossen werden sollen.
-
Klicken Sie auf Zuletzt ausgeführte Abfrage, um die letzte Ausführungszeit und die Dauer der zuletzt ausgeführten Abfrage anzuzeigen.
Filtern der Ergebnisse
Sie können die Ergebnisse nach einer oder mehreren Spalten filtern.
-
Klicken Sie auf
in der ersten Spalte, nach der gefiltert werden soll, und dann auf Filter.
Wählen Sie aus, welchen Operator Sie verwenden und nach welchem Wert Sie filtern möchten.
Sie können weitere Spaltenfilter hinzufügen, indem Sie auf Filter hinzufügen klicken.
Dies betrifft nur die vorhandenen Beispieldaten.
Sortieren der Ergebnisse
Sie können die Beispieldaten nach einer bestimmten Spalte filtern.
-
Klicken Sie auf
in der Spalte, nach der sortiert werden soll, und wählen Sie dann Aufsteigend sortieren oder Absteigend sortieren.
Die Sortierung betrifft nur die vorhandenen Beispieldaten. Wenn Sie einen Filter verwendet haben, um nur Bestellungen aus 2024 einzuschließen, und die Sortierreihenfolge umkehren, enthalten die Beispieldaten immer noch nur Bestellungen aus 2024.
Verwalten der angezeigten Spalten
Sie können auswählen, welche Spalten in den Ergebnissen angezeigt werden sollen. Die Auswahl wird nicht gespeichert, wenn Sie die Umwandlung speichern.
-
Blenden Sie eine Spalte aus, indem Sie in der Spalte auf
klicken und dann Spalte ausblenden auswählen.
-
Verwalten Sie die Anzeige aller Spalten, indem Sie in einer beliebigen Spalte auf
klicken und dann Angezeigte Spalten auswählen.
Parameter
Klicken Sie auf Parameter, um die Parameter in der SELECT-Abfrage zu ändern. Die Parameter sollten zu Quell- oder Zielobjekten zugewiesen werden.
Parameter werden automatisch zugeordnet, wenn Sie wie folgt vorgehen:
-
Verwenden Sie SELECT-Anweisung im Editor erzeugen in Objekte.
-
Klicken Sie auf >, um einen Datensatz oder Spaltennamen in den Editor zu verschieben.
-
Ein Parametername stimmt mit einem Tabellennamen aus den Tabellen in Objekte überein.
Sie können eine Zuweisung durchführen auf
-
Verlaufsstrukturen des Typs 2 (_history)
-
Aktuelle Strukturen
-
Zielobjekte
Sie können Zielobjekte nur zuweisen, wenn ein Parameter innerhalb eines inkrementellen Makros definiert ist.
Metadaten
Sie können auch die Metadateneinstellungen in Metadaten bearbeiten.
-
Legen Sie Primärschlüssel in der Spalte Schlüssel fest.
-
Legen Sie in der Spalte Nullwertfähig fest, ob die Spalte nullwertfähig ist.
-
Wählen Sie eine Spalte aus und klicken Sie auf Bearbeiten, um den Spaltennamen, die Nullwertfähigkeit und den Datentyp festzulegen.
Ausführen der Abfrage
Sie können die Abfrage jederzeit während der Entwicklung ausführen, indem Sie auf Abfrage ausführen klicken. Wenn Sie eine Abfrage zum ersten Mal ausführen, werden Metadaten abgerufen. Nachdem die Abfrage ausgeführt wurde, können Sie zu Metadaten wechseln und einen Primärschlüssel festlegen, der für den Abschluss der Umwandlung erforderlich ist.
Verwenden von Makros zur Adaptierung der Abfrage an den Ladetyp
Sie können Makros verwenden, um die auszuführende Abfrage zu adaptieren, wenn ein inkrementeller Ladevorgang verwendet wird.
Wählen Sie das Makro und fügen Sie die Abfrage innerhalb der entsprechenden Bedingung hinzu.
-
Q_RUN_INCREMENTAL fügt eine Bedingung hinzu, bei der Sie eine Abfrage absetzen können, die nur ausgeführt wird, wenn ein inkrementeller Ladevorgang durchgeführt wird.
-
Q_RUN_INITIAL_LOAD fügt eine Bedingung hinzu, bei der Sie eine Abfrage absetzen können, die nur ausgeführt wird, wenn ein anfänglicher Ladevorgang durchgeführt wird.
Sie müssen die komplette Abfrage bei jedem Makro angeben. Sie können den Code basierend auf Ihrem Anwendungsfall anpassen oder hinzufügen.
Anwendungsfall: Inkrementeller Filter mithilfe des Datumsbereichs:
In diesem Anwendungsfall muss ein Bestelldatensatz mit benutzerdefiniertem SQL umgewandelt werden. Da es sich um einen großen Datensatz handelt, ist es ratsam, inkrementelle Filter einzuschließen, um sicherzustellen, dass der inkrementelle Ladevorgang nur Bestellungen aus den vergangenen 12 Stunden berücksichtigt.
Dies ist die grundlegende Abfrage:
Dies ist der Filter, der während des inkrementellen Laufs angewendet werden soll, wobei Sie nur Bestellungen berücksichtigen, die in den letzten 12 Stunden hinzugefügt wurden:
Dies ist die komplette Abfrage, unter Verwendung des Filtermakros und nach der Ersetzung der Tabellennamen durch die Notation ${TABLE}:
Dadurch wird eine Abfrage zum anfänglichen Laden erstellt:
Und eine Abfrage zum inkrementellen Laden:
Anwendungsfall: Inkrementeller Filter unter Verwendung von Daten im Ziel :
In diesem Anwendungsfall muss ein Bestelldatensatz mit benutzerdefiniertem SQL umgewandelt werden. Da Bestellungen große Datensätze sind, ist es ratsam, inkrementelle Filter einzuschließen, um sicherzustellen, dass der inkrementelle Ladevorgang nur Sätze aus Bestelldetails berücksichtigt, die neuer sind als die Daten in der Zieltabelle. Es wird auch empfohlen zu markieren, ob eine Zeile vom anfänglichen oder von einem inkrementellen Ladevorgang verarbeitet wurde.
Dies ist die grundlegende Abfrage:
Dies ist der Filter, der während des inkrementellen Laufs angewendet werden soll. “ORDERS_DERIVED” ist der Name des Ziel-Datensatzes.
Dies ist die komplette Abfrage, unter Verwendung des Filtermakros und nach der Ersetzung der Tabellennamen durch die Notation ${TABLE}. LOADED_BY wird auf INIT gesetzt, falls der Ladevorgang anfänglich ist, und auf INCR, falls der Ladevorgang inkrementell ist:
Dadurch wird eine Abfrage zum anfänglichen Laden erstellt:
Und eine Abfrage zum inkrementellen Laden:
Einstellungen
Klicken Sie auf , um die Einstellungen der SQL-Umwandlung zu bearbeiten.
Geben Sie einen Namen für den Zieldatensatz in Name ein.
Sie können auch eine längere Beschreibung in Beschreibung hinzufügen.
Wählen Sie bei der Materialisierung aus, ob die umgewandelte Ausgabe materialisiert werden soll oder nicht. Sie können sich entscheiden, die Einstellung aus den Datenaufgabeneinstellungen zu übernehmen.
-
Mit Ein werden Tabellen erstellt und verbundene ELT-Prozesse verarbeitet.
-
Durch Aus werden Ansichten erstellt, die Umwandlungen spontan durchführen.
Wählen Sie in Verlaufsdatenspeicher (Typ 2), ob Sie Verlaufsdaten aufbewahren möchten. Sie können sich entscheiden, die Einstellung aus den Datenaufgabeneinstellungen zu übernehmen. Diese Einstellung setzt voraus, dass Materialisierung aktiviert ist.
Inkrementelles Laden ermöglicht es Ihnen, die Abfrage für einen inkrementellen Datenladevorgang anzupassen, indem Sie Filter oder andere Bedingungen anwenden, um den gerade verarbeiteten Datensatz mithilfe von Makros zu reduzieren. Inkrementelles Laden ist nur verfügbar, wenn die Daten als Tabellen materialisiert werden.
-
Wenn Inkrementelles Laden auf Ein steht
Bei der ersten Ausführung der Aufgabe wird ein anfänglicher Ladevorgang durchgeführt. Dadurch werden alle Ergebnisse der Abfrage in Ihre Zieltabelle eingefügt. Nachfolgende Ausführungen führen inkrementelle Ladevorgänge durch, wobei Filter oder bestimmte Bedingungen genutzt werden, die Sie für die inkrementelle Verarbeitung definiert haben. Während des inkrementellen Ladevorgangs verarbeitet die Aufgabe nur Daten als Update oder Einfügung.Löschungen werden nicht verwaltet.
-
Wenn Inkrementelles Laden auf Ein steht
Bei der ersten Ausführung der Aufgabe wird ein anfänglicher Ladevorgang durchgeführt. Dadurch werden alle Ergebnisse der Abfrage in Ihre Zieltabelle eingefügt. Nachfolgende Ausführungen führen alle Ergebnisse der Abfrage aus, indem sie sie mit Ihrer Zieltabelle vergleichen und Datensätze verarbeiten, die neu, verändert oder gelöscht sind.
Best Practices
-
Wenn Sie eine SQL-Umwandlung hinzufügen, wird nicht automatisch ein Primärschlüssel definiert. Fügen Sie auf der Registerkarte Datensatz einen Schlüssel zum Datensatz hinzu.
-
Erstellen Sie keine Spaltenüberschriften manuell in der umgewandelten Ausgabe.
-
Vermeiden Sie es, SELECT mit * zu verwenden, da in diesem Fall bei jeder Ausführung der Abfrage unterschiedliche Spalten zurückgegeben werden können. Wenn sich das Schema geändert hat, ändern Sie die Abfrage entsprechend und führen Sie Tabelle beschreiben erneut aus. Dann können Sie Spalten bearbeiten und Tabellen anpassen.