Um für Data Analytics eine einfache Datenextraktion zu ermöglichen, gibt es die Möglichkeit den kompletten Inhalt einer Quellsystemtabelle in eine Datei im Event-Format zu extrahieren, die dann in einen Analyseraum von Data Analytics importiert werden kann.
Sie können auch die auszulesenden Daten einschränken, indem Sie Bedingungen zur Datenextraktion definieren.
Die auszulesende Tabelle wird nicht über die Tabellenkonfiguration konfiguriert, sondern in der Datenquellendatei selbst. Dazu gibt es in der Datei datasource.dtd folgende Einträge:
XML-Element /-Attribut |
Beschreibung |
---|---|
analysistype |
XML-Attribut: |
realmtable |
Das umfassende XML-Element für die Konfiguration der Data-Analytics-Datenquelle |
tablename |
XML-Attribut des Elements realmtable: |
sourcetable |
Das umfassende XML-Element für die Konfiguration der Data-Analytics-Quellsystemtabelle. Muss mindestens ein Element sourcefield enthalten. |
tablename |
XML-Attribut des Elements sourcetable: |
sourcefield |
Enthält den Namen des Feldes der Quellsystemtabelle |
Das Attribut analysistype des XML-Elements datasource muss den Wert DATA_ANALYTICS haben, wenn durch das Element <realmtable> eine Analyseraum-Tabelle angegeben ist (PROCESS der Standardwert).
Das Attribut tablename des Elements <realmtable> gibt den Tabellennamen der Zieltabelle in der Analyseraum-Konfiguration an. Dieser Tabellenname hat auf die Extraktion selbst keinen Einfluss, sondern wird nur vom PPM-Import ausgewertet.
Weitere Informationen zum Datenimport für Data Analytics erhalten Sie im Benutzerhandbuch PPM Data Analytics.
Das XML-Element <realmtable> enthält das optionale Element <sourcetable>, das die zu extrahierende Tabelle angibt. Die auszulesenden Spalten dieser Tabelle müssen im Element <sourcefield> angegeben werden. Das Element <sourcetable> ist optional. Beim JDBC- oder SAP-Extraktor müssen genau eine Quelltabelle und mindestens eine Quellspalte angegeben werden, andernfalls wird während des Parsen der Datenquellendatei eine Fehlermeldung ausgegeben.
In einer Datenquellendefinition darf maximal eine Tabelle stehen. Es ist nicht möglich die Anzahl der Zeilen einzuschränken, sondern es werden immer alle Zeilen ausgelesen, einschließlich aller Zeilen mit gleichen Werten an den auszulesenden Spalten. Sollen beispielsweise die Spalten Vorname und Nachname ausgelesen werden und die Tabelle enthält zehn Einträge mit Peter und Schmidt, dann werden dafür auch zehn Events mit gleichen Attributwerten erzeugt.
Das folgende Beispiel verdeutlicht die Konfiguration:
<realmtable tablename="COMPANY_EMPLOYEE">
<sourcetable tablename="EMPLOYEE">
<sourcefield>EMPLOYEE_ID</sourcefield>
<sourcefield>NAME</sourcefield>
</sourcetable>
...
</realmtable>
<dataextraction>
<outputfilename>..\custom\testclient\data\employee.xml</outputfilename>
</dataextraction>
...
<systemconfig>..\custom\testclient\SourceSystemConfig.xml</systemconfig>
Im Unterschied zum herkömmlichen JDBC- oder SAP-Extraktor erhalten die Attribute in der Event-Ausgabedatei keinen Tabellennamen als Präfix. Wird beispielsweise die Tabelle EMPLOYEE ausgelesen, erzeugte der Extraktor normalerweise Events der Art <tabellenname>-<spaltenname>:
<event>
<attribute type="EMPLOYEE-EMPLOYEE_ID">4711</attribute>
<attribute type="EMPLOYEE-NAME">Schmidt</attribute>
</event>
Das Auslesen einer Tabelle per Element <realmtable> erzeugt hingegen nur Events ohne Tabellennamen:
<event>
<attribute type="EMPLOYEE_ID">4711</attribute>
<attribute type="NAME">Schmidt</attribute>
</event>
Null-Werte im Modus DATA ANALYTICS
Ist beim Auslesen einer Analyseraum-Tabelle der Wert einer Spalte null, wird dieser nicht in das Event geschrieben. Gibt es zum obigen Beispiel noch beispielsweise eine Zeile EMPLOYEE_ID = 4712 ohne Nachnamen, erzeugt der Extraktor folgende Events.
<event>
<attribute type="EMPLOYEE_ID">4711</attribute>
<attribute type="NAME">Schmidt</attribute>
</event>
<event>
<attribute type="EMPLOYEE_ID">4712</attribute>
</event>
Sind hingegen alle auszulesenden Spaltenwerte null, wird das Event mit leeren Attributen rausgeschrieben:
<event>
<attribute type="EMPLOYEE_ID">4711</attribute>
<attribute type="NAME">Schmidt</attribute>
</event>
<event>
<attribute type="EMPLOYEE_ID"></attribute>
<attribute type="NAME"></attribute>
</event>
Gibt es mehrere solcher Zeilen, werden diese – im Unterschied zum herkömmlichen Auslesevorgang (analysistype=PROCESS) – entsprechend oft übernommen, so dass in der Event-Datei immer genauso viele << event>-Elemente stehen, wie es Zeilen in der Datentabelle des Quellsystems gibt.