Ein Objekt ist ein Element, das als Ziel oder Quelle einer Transformation verwendet werden kann. Beispiele von Objekten sind Datenbanktabellen, Web Services, Flat Files, Mailing Listen. Die meisten Transformationstypen benötigen ein Objekt als Ziel und mindestens ein Objekt (oft mehr) als Quelle.
Ein Objekt wird durch das Drag&Drop des Objekticons auf das Rasterfeld des Arbeitsblattes angelegt. Der Doppelklick auf ein auf dem Raster liegendes Objekt öffnet den Edit Object Dialog. Hier werden die folgenden Objektinformationen erfasst.
Die im Folgenden beschriebenen Felder entsprechen den Auswahlmöglichkeiten für Table Or View:
Über die Schaltfläche Refresh Objects, werden die für datasqill sichtbaren Objekte aus den konfigurierten Schemata abgefragt und im datasqill Objektkatalog abgelegt bzw. aktualisiert. Dieser Refresh ist initial notwendig, sowie immer dann wenn auf den Datenbank Objekten transformationsrelevante Änderungen oder Neuanlagen stattgefunden haben.
Über die Schaltfläche Show Table Create Script werden nach Auswahl eines Objektes SQL Skripte generiert und danach formatiert sowie Syntax-highlighted in einer "Create Table Script" Textbox angezeigt. Über Strg+c oder den Eintrag im Kontextmenü kann der Skriptinhalt kopiert werden.
Die folgenden Skripte werden angezeigt:
Eine Transformation beinhaltet den SQL Transformationscode. Sie ermöglicht dessen Ausführung durch Nutzung der Funktionalität des dazu ausgewählten Moduls. Typische Beispiele für die Module sind Insert from Select oder Merge.
Folgendes Beispiel illustriert wie der SQL Code durch ein Modul zusammengebaut wird. Der Entwickler fügt folgenden SQL Code als Transformation ein.
SELECT SYSDATE AS zeitpunkt_der_reporterstellung
, TO_CHAR(TRUNC(order_date,'MM'), 'YYYY.MM') AS monat_der_bestellungen
, COUNT(*) AS anzahl_der_bestellungen
, SUM(order_total) AS umsatzsumme_der_bestellungen
, ROUND(AVG(order_total),1) AS average_umsatz_pro_bestellung
FROM oe.orders
GROUP BY TRUNC(order_date,'MM')
ORDER BY monat_der_bestellungen;
Das Modul Insert from Select würde folgenden SQL Code zur Laufzeit erzeugen:
INSERT INTO oe.order_report(
zeitpunkt_der_reporterstellung
, monat_der_bestellungen
, anzahl_der_bestellungen
, umsatzsumme_der_bestellungen
, average_umsatz_pro_bestellung)
SELECT SYSDATE AS zeitpunkt_der_reporterstellung
, TO_CHAR(TRUNC(order_date,'MM'), 'YYYY.MM') AS monat_der_bestellungen
, COUNT(*) AS anzahl_der_bestellungen
, SUM(order_total) AS umsatzsumme_der_bestellungen
, ROUND(AVG(order_total),1) AS average_umsatz_pro_bestellung
FROM oe.orders
GROUP BY TRUNC(order_date,'MM')
ORDER BY monat_der_bestellungen
Eine Transformation wird durch das Drag&Drop des Transformationsicons auf das Rasterfeld des Arbeitsblattes angelegt. Der Doppelklick auf eine auf dem Raster liegende Aktion öffnet den Edit Action Dialog. Hier werden sowohl die Aktionsparameter erfasst, die Transformations Basis Abfrage hinterlegt als auch die Validierung der Transformation durchgeführt. Im Parameterbereich auf der oberen linken Seite des Dialogs werden folgende Informationen erfasst:
Die weiteren angezeigten Parameter sind durch den gewählten Aktionstyp definiert und werden über die Tooltip Anzeige beschrieben. Im Documentation Bereich kann analog zur Dokumentation eines Arbeitsblattes eine Dokumentation der Transformation hinterlegt werden. Der Parameter- und Dokumentationsbereich kann durch Doppelklick auf Action oder Validate Reiter aus- und eingeblendet werden, um den zur Verfügung stehenden Arbeitsbereich zu optimieren.
Im Feld Type werden die in datasqill verfügbaren Aktionstypen angezeigt. Ein Aktionstyp entspricht einer Standardtransformation, die in datasqill über sogenannte Module implementiert werden. Die in Action hinterlegte Basis Abfrage wird dabei zur Laufzeit durch die im Modul hinterlegte Funktionalität automatisch generiert erweitert. So erweitert z.B. das Insert from Select Modul die in Action hinterlegte Select Basis Abfrage um den notwendigen Insert Anteil. Um im Client als Type zur Verfügung zu stehen, muss das entsprechende Modul umgebungsbezogen implementiert, installiert und in der aktuellen datasqill Transformation DB registriert sein. Die im Edit Action Dialog einstellbaren Parameter sind durch das Modul definiert. Die mit den Modulen registrierte Dokumentation wird im Client über Parameter Tooltips angezeigt.
Im Action Reiter des Edit Action Dialoges wird die Transformations Basis Abfrage in SQL hinterlegt. Der Editor bietet sowohl Syntax Highlighting, als auch die Möglichkeit des automatischen Formatierens über den Eintrag Reformat SQL im Kontextmenü. Für die Erstellung der Query stehen alle SQL Konstrukte zur Verfügung die durch Transformationsdatenbank unterstützt werden. In der Abfrage verwendete Objekte müssen Schema-qualifiziert angegeben werden.
Bei Auswahl des Reiters Validate wird die in Action hinterlegte Basis Abfrage mittels Validate Funktion des ausgewählten Moduls:
Der Bereich Resulting Action to be performed zeigt die SQL Abfrage an, so wie sie von dem Modul zusammengestellt und später bei einem wirklichen Lauf in der Datenbank ausgeführt wird. Wichtig zu verstehen ist, dass die resultierende SQL Abfrage nur zur Laufzeit gebaut wird und nicht in der generierten Form persistiert wird.
Der Bereich Result of Validation zeigt die Ergebnisse der Verwendungsprüfung für alle in Verbindung mit der Action referenzierten Objekte auf Korrektheit in der SQL Query und dem im Arbeitsblatt definierten Modell.