Erstellen Sie eine ETL-Transformationszuordnung
IntegrationHub ETL bietet ein geführtes Setup, das Sie durch den Abschluss aller erforderlichen Aufgaben führt, um eine ETL-Transformationszuordnung für eine bestimmte Integration zu erstellen.
Geführtes Setup
Das geführte Setup organisiert alle Aufgaben in der richtigen Reihenfolge, verfolgt den Abschluss von Aufgaben und erzwingt alle Aufgabenabhängigkeiten. Aufgaben, die vom Abschluss anderer Aufgaben abhängen, werden aktiviert oder deaktiviert, wenn Sie das Tool durchlaufen und Aufgaben abschließen.
Verwenden Sie das geführte Setup auf der Seite „Assistent für ETL-Transformationszuordnung“, um die folgenden Aufgaben auszuführen.
Importieren Sie Quelldaten, und geben Sie grundlegende Details an
Geben Sie grundlegende Details für die Integration an, z. B. die Quelle der Daten, die Sie in CMDB integrieren möchten, und importieren Sie die Quelldaten.
Vorbereitungen
Die Datenquelle, die Sie für die ETL-Transformationszuordnung auswählen möchten, muss im gleichen Anwendungsbereich wie die in der aktuellen Sitzung verwendete Datenquelle vorhanden sein.
Wenn Sie eine ETL-Transformationszuordnung öffnen, wird die Zuordnung standardmäßig nicht validiert. Sie können diesen Validierungsschritt nach aktivieren Systemeigenschaft wird hinzugefügt sn_int_studio.validation.enabledIn die Tabelle „Systemeigenschaften“ [sys_properties], und legen Sie sie dann auf fest Wahr . Nach Abschluss der Validierung wählen Sie aus, wie Validierungsfehler behandelt werden sollen.
Erforderliche Rolle: cmdb_inst_admin
Prozedur
Vorschau der Daten anzeigen und vorbereiten
Überprüfen Sie Beispieldatensätze von Rohquellendaten, die in die CMDB integriert werden. Transformieren und bereiten Sie Daten so vor, dass sie bei Bedarf an den Zielklassen und -Attributen ausgerichtet werden.
Vorbereitungen
Die Anzahl der Datensätze in den Beispieldaten wird global durch die Systemeigenschaft bestimmt sn_int_studio.preview.size, Der standardmäßig auf 100 festgelegt ist. Die maximale Anzahl von Datensätzen in den Beispieldaten, die IntegrationHub ETL verarbeiten kann, beträgt 000. Wenn Sie diese Eigenschaft über den Grenzwert von 10.000 festlegen, verarbeitet IntegrationHub ETL nur bis zu 10.000 Datensätze, und eine entsprechende Meldung wird angezeigt.
Um geschachtelte Daten aus einer geschachtelten Nutzlast zu verarbeiten, muss die entsprechende Datenquelle mit festgelegt werden Daten in einer Spalte Option.
Erforderliche Rolle: cmdb_inst_admin
Warum und wann dieser Vorgang ausgeführt wird
Spalten für geschachtelte Daten werden neben den übrigen Daten mit angezeigt Geschachtelte Objekte Notation im Header der Datenspalte. Die Anzahl der geschachtelten Datenelemente pro Objekt wird mit einem Link angezeigt, mit dem Sie Detailinformationen zu tieferen Ebenen der geschachtelten Daten anzeigen können. Um die Datenstruktur geschachtelter Daten in einem separaten Bereich anzuzeigen, aktivieren Sie Datenstruktur anzeigen Option.
Der Datenstrukturbereich bietet zwei Optionen zum Anzeigen geschachtelter Daten:
- Struktur : Geschachtelte Daten gruppiert nach Objekten, wobei jeder Objektknoten einem Datensatzeintrag in den Quelldaten entspricht. Erweitern Sie Objektknoten, um alle geschachtelten Daten für den Datensatz anzuzeigen.
- Sammlung : Geschachtelte Daten gruppiert nach dem Objekt der obersten Ebene (standardmäßig) und dann nach geschachtelten Datenelementen wie Software. Erweitern Sie einen Knoten wie Software, um anzuzeigen, welche Software auf jedem Computer installiert ist.
Eine Demo zum Arbeiten mit geschachtelten Nutzlastdaten finden Sie im Integrations-Hub: Demo der geschachtelten ETL-Nutzlastfunktion Video im ServiceNow-YouTube-Kanal.
Prozedur
Ergebnisse
Über die Zuordnung von Datenspalten zu CMDB-Klassen und -Attributen
Es gibt mehrere Anforderungen und Richtlinien für die Zuordnung von Quelldaten zu Ziel-CMDB-Klassen und -Attributen. Außerdem gibt es eine Option, Klassenzuordnungen zu deaktivieren und gleichzeitig die Einstellungen beizubehalten, um eine einfache erneute Aktivierung zu ermöglichen. Überprüfen Sie diese Konzepte, um eine ordnungsgemäße Verarbeitung durch die Identification and Reconciliation Engine (IRE) sicherzustellen.
Erforderliche Zuordnungen
- Nativer Schlüssel der Quelle
- Ire verwendet, um einen Datensatz eindeutig zu identifizieren und Beziehungen und Referenzen zu erstellen. Verbessert außerdem die Leistung von Einfüge- und Aktualisierungsvorgängen. Bei der Verarbeitung einer Nutzlast generiert IRE einen Fehler, wenn dieses Feld leer ist.
- Aktualitätszeitstempel der Quelle
Ire verwendet, um Datensätze zu identifizieren, die älter als der aktuelle Datensatz sind und daher ignoriert werden können, um in Konflikt stehende Attributwerte zu lösen. Wenn ein Wert angegeben wird, wird er nur verwendet, wenn er nach dem Wert liegt, der derzeit in der CMDB gespeichert ist. Wenn kein Wert angegeben wird, aktualisiert IRE das Attribut mit dem aktuellen Zeitstempel.
Mit den folgenden Systemeigenschaften können Sie ändern, wie IRE verwendet source_recency_timestampWert in einer Nutzlast zum Aktualisieren von last_scanAttribut in der Quelltabelle [sys_object_Source]:
Bedingte Klasse
Mit einer bedingten Klasse können Sie verschiedene Datensätze verschiedenen Zielklassen gemäß bestimmten Spaltenwerten oder dem Status eines bestimmten Plugins zuordnen.
Wenn beispielsweise ein Anzeigename „Windows“ enthält, wird „Windows Server“ als Zielklasse ausgewählt. Wenn der Anzeigename jedoch „Linux“ enthält, wird „Linux-Server“ als Zielklasse ausgewählt. Für Datensätze, die keine dieser Bedingungen erfüllen (Anzeigename enthält weder „Windows“ noch „Linux“), wird „Server“ als Zielklasse ausgewählt.
Zugeordnete Klasse
Mit einer zugeordneten Klasse können Sie die CMDB-Klasse auswählen, die einer nicht-CMDB-Zieltabelle zugeordnet werden soll. Das Festlegen einer zugeordneten Klasse ist für die IRE-Verarbeitung erforderlich, wenn die nicht-CMDB-Tabelle nicht für die IRE-Verarbeitung konfiguriert ist. Für eine nicht-CMDB-Tabelle, die für die IRE-Verarbeitung unterstützt und konfiguriert wird, ist das Festlegen einer zugeordneten Klasse optional. Siehe IRE-Unterstützung für nicht-CMDB-Tabellen Weitere Informationen finden Sie unter .
Die Softwareinstanz ist eine nicht-CMDB-Klasse, aber ihr sind keine IRE-Regeln zugeordnet. Also, Dinge, die wir hier vor Utah darüber gesagt haben, sind noch gültig. Aber für nicht-CMDB-Klassen mit IRE-Regeln ist eine Zuordnung nicht obligatorisch. Beispiel: „Wenn die Zielklasse für die Zuordnung eine nicht-CMDB-Klasse mit einem Verweis auf eine CMDB-Klasse ist, müssen Sie die CMDB-Klasse auswählen, um die nicht-CMDB-Zielklasse einer nicht-CMDB-Klasse mit IRE-Regeln zuzuordnen, anstatt „Sie müssen“. „Sie können“. Wie im Beispiel ist es nicht gültig für nicht-CMDB mit IRE-Regeln.
Wenn die Zielklasse für die Zuordnung eine nicht-CMDB-Klasse mit einem Verweis auf eine CMDB-Klasse ist, müssen Sie die CMDB-Klasse auswählen, der die nicht-CMDB-Zielklasse zugeordnet werden soll. Eine nicht-CMDB-Klasse bezieht sich auf eine Klasse, z. B. Seriennummer [cmdb_Serial_number], die die Klasse des Konfigurationselements [cmdb_ci] nicht erweitert. Die Klasse „zugehöriger Eintrag“ [cmdb_related_entry] kann mehrere CMDB-Klassenzuordnungen für dieselbe nicht-CMDB-Klasse enthalten. Wählen Sie daher die entsprechende Zuordnung aus, damit IRE-Prozesse die nicht-CMDB-Zielklasse aktualisieren können.
Beispielsweise verfügt die Klasse „Zugehöriger Eintrag“ [cmdb_related_entry] über einen Datensatz, der die Klasse „nicht-CMDB-Softwareinstanz“ [cmdb_Software_instance] der Klasse „CMDB-Softwarepaket“ [cmdb_ci_spkg] zuordnet. Wenn Sie Softwareinstanz als Zielklasse auswählen, müssen Sie die Softwareinstanzklasse der Softwarepaketklasse [cmdb_ci_spkg] zuordnen.
Klassenzuordnungen werden deaktiviert
Wenn Sie eine ETL-Transformationszuordnung bearbeiten, die beispielsweise von einem Service Graph Connector bereitgestellt wird, können Sie eine Klassenzuordnung löschen, um zu verhindern, dass die Klasse bei der Ausführung der Integration ausgefüllt wird. Wenn Sie jedoch später entscheiden, diese Klasse auszufüllen, müssen Sie diese Klasse lesen und alle Klassenzuordnungen neu konfigurieren. Stattdessen können Sie eine Klassenzuordnung deaktivieren, um die Klasse während der Integrationsausführung vorübergehend zu ignorieren und gleichzeitig die gesamte Zuordnungskonfiguration beizubehalten. Eine Klasse, die Sie deaktivieren möchten, ist in der Anwenderoberfläche ausgegraut, Sie können jedoch fortfahren und die Klassenzuordnungen bearbeiten. Später können Sie eine Klassenzuordnung erneut aktivieren, um das Ausfüllen der Klasse zu ermöglichen, ohne die Klassenzuordnungen neu konfigurieren zu müssen.
- Werden in der Anwenderoberfläche hellgrau angezeigt, und Sie können sie nicht erneut aktivieren.
- Werden automatisch wieder aktiviert, wenn Sie Folgendes erneut aktivieren:
- Die Klasse, die Sie ursprünglich deaktiviert haben und die die automatische Deaktivierung ausgelöst hat
- Jede Klasse, von der die deaktivierte Klasse abhängt
Alle Klassen, für die Sie Zuordnungen direkt deaktivieren, und die resultierenden Klassenzuordnungen, die automatisch deaktiviert werden, werden bei der Ausführung der Integration nicht ausgefüllt. Außerdem werden alle Beziehungen und Suchtabellen, die diesen Klassen zugeordnet sind, nicht ausgefüllt, wenn die Integration ausgeführt wird.
- Deaktivieren Sie eine Klasse, von der keine Klasse abhängt und der keine Klassen zugeordnet sind:
Löst eine automatische Deaktivierung aller Suchregeln und Beziehungen aus, die der deaktivierten Klasse zugeordnet sind.
- Deaktivieren Sie eine Suchregel, z. B. Seriennummer, innerhalb einer Klassenzuordnung:
Löst keine automatischen Deaktivierungen aus.
- Deaktivieren Sie eine CMDB-Klasse, die einer nicht-CMDB-Klasse zugeordnet ist:
- Löst eine automatische Deaktivierung der zugeordneten nicht-CMDB-Klasse aus.
- Das Deaktivieren der nicht-CMDB-Klasse hat keine Auswirkungen auf die zugehörige CMDB-Klasse.
- Deaktivieren Sie eine Klasse mit abhängigen Beziehungen (gilt nur, wenn die abhängige Beziehung in IntegrationHub ETL vorhanden ist):
- Löst eine automatische Deaktivierung einer Klasse aus, die eine einzelne abhängige Beziehung zur deaktivierten Klasse hat.
Wenn eine Klasse mehrere abhängige Beziehungen hat, wird sie nur dann automatisch deaktiviert, wenn Sie alle abhängigen Klassen deaktivieren.
Beispiel: Ein Szenario, in dem die Dateisystemklasse abhängige Beziehungen zu Computer- und Serverklasse hat. Wenn Sie die Computerklasse deaktivieren, wird die Dateisystemklasse nicht automatisch deaktiviert. Nur wenn Sie auch die Klasse „Server“ deaktivieren, wird die Klasse „Dateisystem“ automatisch deaktiviert.
- Deaktivieren Sie eine bedingte Klasse oder eine Klassenzuordnung innerhalb einer bedingten Klasse:
- Durch das Deaktivieren oder Aktivieren einer bedingten Klasse wird eine automatische Deaktivierung oder Aktivierung aller bedingten Klassenzuordnungen innerhalb der bedingten Klasse ausgelöst.
Deaktivieren einer Klassenzuordnung innerhalb einer bedingten Klasse: Verhindert, dass die deaktivierte Klasse während der Integrationsausführungen ausgefüllt wird. Die zugeordneten Bedingungen „wenn“, „else if“ oder „else“ bleiben jedoch innerhalb der Bedingung der bedingten Klasse in Kraft. Wenn Sie beispielsweise die folgende Klassenzuordnung deaktivieren:
[Wenn] [Operating_System] [enthält] [Linux] dann [Klasse] [ist] [Linux Server].
Dann wird nicht die Linux-Server-Klasse ausgefüllt, sondern die [Wenn] [Operating_System] [enthält] [Linux] Bedingung ist in Kraft.
Ordnen Sie Datenspalten CMDB-Klassen und -Attributen zu
Wählen Sie Zielklassen und Attribute in der CMDB aus, denen Quelldatenspalten zugeordnet werden sollen. Sie können eine Datenspalte einer bestimmten Zielklasse zuordnen oder Bedingungen hinzufügen, damit die Auswahl der Zielklasse von bestimmten Datenwerten abhängt.
Vorbereitungen
Warum und wann dieser Vorgang ausgeführt wird
Datenspalten, die Sie zuordnen, können entweder Quelldatenspalten, die nicht transformiert wurden, oder transformierte Datenspalten sein. Um beispielsweise eine Datenspalte in die Computer- und Softwarepaketklassen zu integrieren, wählen Sie diese Klassen als Zielklassen aus, und ordnen Sie dann Datenspalten bestimmten Attributen in diesen Klassen zu.
Wenn Sie die Zuordnung für eine Klasse, eine Beziehung oder eine Suchregel konfigurieren, werden diese Elemente anfänglich immer als aktiviert festgelegt. Weitere Informationen zu den Ergebnissen der Deaktivierung von Zuordnungen finden Sie unter Klassenzuordnungen werden deaktiviert .
Prozedur
Beziehungen hinzufügen
Fügen Sie Beziehungen hinzu, die zwischen den Ziel-CMDB-Klassen vorhanden sind, für eine Integration.
Vorbereitungen
- Eine Klasse, die Sie der Beziehung hinzufügen möchten, muss sich im Status „aktiviert“ befinden.
- Eine Basisbeziehung oder eine Beziehung innerhalb einer bedingten Beziehung, die Sie bearbeiten möchten, muss sich in einem aktivierten Status befinden.
- In einer bedingten Beziehung, die Sie bearbeiten möchten, muss mindestens eine Beziehungsbedingung den Status „aktiviert“ aufweisen. Andernfalls wird Bearbeiten Sie Die Beziehung Schaltfläche ist ausgegraut.
Erforderliche Rolle: cmdb_inst_admin
Warum und wann dieser Vorgang ausgeführt wird
Beim Erstellen von Beziehungen mit geschachtelten Daten können Sie keine Beziehung zwischen gleichgeordneten Objekten aus den geschachtelten Daten erstellen. Mit Beispielnutzlast für geschachtelte Daten Beispielsweise können Sie keine Beziehung zwischen Schnittstellen und Software erstellen.
ITOM-Transparenz, Falls verfügbar, verwendet erweiterte Discovery-Muster, um CI-Beziehungen zu identifizieren und der Tabelle „vorgeschlagene Beziehungen“ im Basissystem hinzuzufügen. Verwenden Sie gegebenenfalls die Tabelle „vorgeschlagene Beziehungen“, um Beziehungen auszuwählen, die konform sind Gemeinsames Servicedatenmodell( CSDM) Standards.
Prozedur
Vorschau der Zuordnungsergebnisse anzeigen
Zeigen Sie eine Vorschau der Ergebnisse der Beispieldatenintegration an.
Vorbereitungen
Warum und wann dieser Vorgang ausgeführt wird
Nachdem Sie die Details auf der Zusammenfassungsseite angezeigt haben, können Sie zu einem beliebigen Schritt zurückkehren, um Anpassungen vorzunehmen und die Integration dann erneut auszuführen.
Prozedur
Geben Sie den Integrationszeitplan an
Konfigurieren Sie einen Zeitplan für den Import von Daten in CMDB mit dieser ETL-Transformationszuordnung.
Vorbereitungen
Prozedur
Transformationstypen in IntegrationHub ETL
Verwenden Sie verschiedene Transformationen in IntegrationHub ETL, um Quelldaten für die Zuordnung zur CMDB zu konvertieren und vorzubereiten.
Transformationen aus dem Integration Commons für CMDB Store-App, sind auch in IntegrationHub ETL verfügbar.
Verkettung
Kombiniert die Werte aus Eingabefeldern in einer einzelnen Zeichenfolge und verbindet sie mit dem optionalen joining_stringFeld.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_concat_Operation |
| Eingabefelder | source_sys_rte_eb_fields |
| Ausgabefeld | target_sys_rte_eb_field |
| Zusätzliche Felder | joining_string (Optional) |
| Beispiel | |
|---|---|
| Eingabe | „Input_1“, „input_2“, „input_3“ |
| Zusätzliche Felder | joining_string = „, “ |
| Ergebnis | „Input_1, input_2, input_3“ |
In booleschen Wert konvertieren
Konvertiert den eingehenden Wert in einen booleschen Wert. „ Wahr „ Und “ 1 „-Werte werden in „wahr“ konvertiert (Groß-/Kleinschreibung wird nicht beachtet), und alle anderen Werte werden in „falsch“ konvertiert.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_to_boolean_Operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
- Alle folgenden Eingaben geben „wahr“ zurück:
- wahr
- 1
- Alle folgenden Eingaben geben „falsch“ zurück:
- „Input_1“
- “”
- 0
- 11
In Datum konvertieren
Versucht, den eingehenden Wert in einen zu konvertieren GlideDateTimeWert durch Anwenden von date_formatZum eingehenden Wert. Versucht, direkt mit zu konvertieren GlideDateTimeWenn date_formatIst falsch.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_to_date_Operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field Gibt einen leeren Wert zurück, wenn die Analyse überhaupt nicht möglich ist. |
| Zusätzliche Felder | date_format (Einfaches Java-Datumsformat) |
| Beispiel | |
|---|---|
| Eingabe | „2018/09/20 11:21:00 Uhr EST“ |
| Zusätzliche Felder | date_format = „jjjj/MM/tt hh:mm:ss a z“ |
| Ergebnis | “2018-09-20 16:21:00” |
| Beispiel | |
|---|---|
| Eingabe | „2018/09/20 01:21:00 EST“ |
| Zusätzliche Felder | date_format = „jjjj/MM/tt hh:mm:ss a z“ |
| Ergebnis | „2018 20.9-20 18:21:00“ |
| Beispiel | |
|---|---|
| Eingabe | "09/20/18” |
| Zusätzliche Felder | date_format = „jjjj/MM/tt hh:mm:ss a z“ |
| Ergebnis | “0018-09-20 00:00:00” |
In numerischen Wert konvertieren
Konvertiert den eingehenden Wert in eine Zahl.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_to_numerical_Operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field Wenn der eingehende Wert nicht numerisch ist, ist die Ausgabe leer. |
| Beispiel | |
|---|---|
| Eingabe | 1,23 |
| Ergebnis | 1,23 |
| Beispiel | |
|---|---|
| Eingabe | 1,00 |
| Ergebnis | 1 |
| Beispiel | |
|---|---|
| Eingabe | Input_1 |
| Ergebnis | Null |
| Beispiel | |
|---|---|
| Eingabe | zwei |
| Ergebnis | Null |
Kopieren
Kopiert den Wert des Quellfelds in alle Zielfelder.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_copy_Operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_fields |
| Zusätzliche Felder | overwrite_existing_value(Optional, boolescher Wert): Wenn Wahr , Dann werden die Werte der Zielfelder ersetzt. Andernfalls werden nicht leere Werte nicht überschrieben. |
Extrahieren Sie Den Führenden Numerischen Wert
Legt das Zielfeld als ersten numerischen Wert fest, der im Quellfeld gefunden wurde.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_Extract_NUMERIC_Operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
| Zusätzliche Felder |
|
| Beispiel | |
|---|---|
| Eingabe | „100 mb“ |
| Ergebnis | „100“ |
| Beispiel | |
|---|---|
| Eingabe | „100,123 mb“ |
| Ergebnis | “100.123" |
| Beispiel | |
|---|---|
| Eingabe | „100,123 mb“ |
| Zusätzliche Felder | decimal_places = 2 |
| Ergebnis | “100.12” |
| Beispiel | |
|---|---|
| Eingabe | „100 mb“ |
| Zusätzliche Felder | decimal_places = 2 |
| Ergebnis | „100.00“ |
| Beispiel | |
|---|---|
| Eingabe | „100 mb“ |
| Zusätzliche Felder | remainder_target_field = <field> |
| Ergebnis | „100“ und <field> = „mb“ |
Glide-Suche
Führt eine Suche in der -Datenbank auf aus target_table.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_Glide_Lookup_Operation |
| Eingabefelder | source_sys_rte_eb_fields |
| Ausgabefeld | target_sys_rte_eb_fields |
| Zusätzliche Felder |
|
| Beispiel | |
|---|---|
| Eingabe |
|
| Zusätzliche Felder |
|
| Ergebnis | Ausgabefeld 1: 25ab9c4d0a0a0bb300f7dabdc0ca7c1c |
Min./Max.
Legt das Zielfeld entweder auf das Maximum oder Minimum der Werte aus allen Eingabefeldern fest.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_min_max_Operation |
| Eingabefelder | source_sys_rte_eb_fields |
| Ausgabefeld | target_sys_rte_eb_field |
| Zusätzliche Felder |
|
| Beispiel | |
|---|---|
| Eingabe | “2”, “-1”, “0” |
| Zusätzliche Felder |
|
| Ergebnis | „2“ |
| Beispiel | |
|---|---|
| Eingabe | „A“, „b“ |
| Zusätzliche Felder |
|
| Ergebnis | „B“ |
| Beispiel | |
|---|---|
| Eingabe | „2“, „-1“, „0“ |
| Zusätzliche Felder |
|
| Ergebnis | „-1“ |
| Beispiel | |
|---|---|
| Eingabe | „A“, „b“ |
| Zusätzliche Felder |
|
| Ergebnis | „A“ |
Mehrere Eingabeskripts
Führt ein Skript mit mehreren Eingaben aus, wobei festgelegt wird target_field== Ausgabe für dieses Skript.
Jedes Quellfeld ist innerhalb der Variablen „Batch“ als JavScript-Felder verfügbar. Der Name des JavaScript-Felds ist das Feldattribut des Entitätsfelds (siehe sys_rte_eb_field.field, Nicht sys_rte_eb_field.name).
| Details | |
|---|---|
| Tabelle | sys_rte_eb_Multi_in_script_Operation |
| Eingabefelder | source_sys_rte_eb_fields |
| Ausgabefeld | target_sys_rte_eb_field |
| Zusätzliche Felder |
|
| Datensatz | Record_type | operating_system | Record_with_os |
|---|---|---|---|
| 1 | Computer | Windows XP | |
| 2 | Computer | Linux | |
| 3 | Computer | Windows XP |
(function(batch, output) {
for (var i = 0; i < batch.length; i++) {
// batch[i] is the unique set of inputs/individual record
// batch[i].<field> gives access to the field value
var in0 = gs.nil(batch[i].record_type) ? '' : batch[i].record_type;
var in1 = gs.nil(batch[i].operating_system) ? '' : batch[i].operating_system;
// output[i] is the output for the specific combination of inputs/individual record
output[i] = in0 + "_" + in1;
}
}
})(batch, output); /* Example Script
// In this example the script input fields are 'input_field_1', 'input_field_2' - replace these with the fields used as script inputs // There is a static field 'input' that has all the input field values concatenated with a '|' (function(batch, output) {
for (var i = 0; i < batch.length; i++) {
//step1: access the input variables
var a = batch[i].input_field_1; //Value of the first source field.
var b = batch[i].input_field_2; //Value of the second source field.
//step2: Your script/code goes here.
var c = a + b;
//step3: set the output for each elements
output[i] = b;
}
})(batch, output);
*/Rexeg Ersetzen
Ersetzt jede Teilzeichenfolge der eingehenden Zeichenfolge, die der angegebenen entspricht match_regex, Mit dem angegebenen replacement_regexZeichenfolgenwert.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_regex_replace_Operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
| Zusätzliche Felder |
|
| Beispiel | |
|---|---|
| Eingabe | „Zeichenfolge&Mit(Sonderzeichen)$Zeichen“ |
| Zusätzliche Felder |
|
| Ergebnis | „Zeichenfolge Mit Sonderzeichen“ |
Ersetzen
Ersetzt jede Teilzeichenfolge in der eingehenden Zeichenfolge, die der angegebenen entspricht match_string, Mit replacement_stringZeichenfolgenwert.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_replace_Operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
| Zusätzliche Felder |
|
| Beispiel | |
|---|---|
| Eingabe | „Ursprüngliche Zeichenfolge“ |
| Zusätzliche Felder |
|
| Ergebnis | „Ersatzzeichenfolge“ |
Runder numerischer Wert
Rundet den Zahlenwert auf die nächste ganze Zahl. Nicht-Nummern werden gekürzt.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_Round_numerical_Operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
| Beispiel | |
|---|---|
| Eingabe | „1,5“ |
| Ergebnis | „2“ |
| Beispiel | |
|---|---|
| Eingabe | „1,4“ |
| Ergebnis | „1“ |
| Beispiel | |
|---|---|
| Eingabe | „ich bin eine Zeichenfolge“ |
| Ergebnis | "" |
Skript
Führt ein Skript mit Eingabe aus, wobei target_field == Ausgabe für dieses Skript festgelegt wird.
Diese Transformation wurde durch die Multieingabeskript-Transformation ersetzt und ist aus Gründen der Abwärtskompatibilität mit vorhandenen Konfigurationen enthalten.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_script_Operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
| Zusätzliche Felder |
|
(function(batch, output) {
for (var i = 0; i < batch.length; i++) {
// batch[i] is the unique set of inputs/individual record
// batch[i].input gives access to the field value
var in0 = gs.nil(batch[i].input) ? '' : batch[i].input;
// output[i] is the output for the specific combination of inputs/individual record
output[i] = in0 + " modified by script”;
}
}
})(batch, output); /* Example Script
(function(batch, output) {
for (var i = 0; i < batch.length; i++) {
//step1: access the input variables
var a = batch[i].input; //Value of the source field.
//step2: Your script/code goes here.
var b = a + 1;
//step3: set the output for each elements
output[i] = b;
}
})(batch, output);
*/ Satz
Legt den Wert des Zielfelds auf die in angegebene Zeichenfolge fest set_value.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_SET_Operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
| Zusätzliche Felder |
|
Teilen
Teilt den Wert des Quellfelds auf splitting_stringUnd weist jedes resultierende Element aus der Aufteilung dem zu target_sys_rte_eb_fields, In der Reihenfolge.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_Split_Operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_fields |
| Zusätzliche Felder | splitting_string (Zeichenfolge) |
| Beispiel | |
|---|---|
| Eingabe | „Wert1||Wert2||Wert3“, mit target_sys_rte_eb_fields{Target1,target2,target3} |
| Zusätzliche Felder | splitting_string = „||“ |
| Ergebnis | Target1: Wert1, target2: Wert2, target3: Wert3 |
| Beispiel | |
|---|---|
| Eingabe | „Wert1||Wert2||Wert3“, mit target_sys_rte_eb_fields{Target1} |
| Zusätzliche Felder | splitting_string = „||“ |
| Ergebnis | Ziel1: Wert1 |
| Beispiel | |
|---|---|
| Eingabe | „Wert1“, mit target_sys_rte_eb_fields{Target1,target2,target3} |
| Zusätzliche Felder | splitting_string = „||“ |
| Ergebnis | Target1: Wert1, target2: <null>, target3: <null> |
Beschneiden
Schneidet vorangestellte und nachfolgende Leerzeichen aus source_sys_rte_eb_fieldWert und weist das Ergebnis zu target_sys_rte_eb_field. Diese Transformation entspricht einer Java String.Trim().
| Details | |
|---|---|
| Tabelle | sys_rte_eb_TRIM_Operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
| Beispiel | |
|---|---|
| Eingabe | „ Wert 1“ |
| Ergebnis | „ Wert 1“ |
Großbuchstaben
Großbuchstaben von source_sys_rte_eb_fieldWert und weist das Ergebnis zu target_sys_rte_eb_field.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_Upper_Case_Operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
| Beispiel | |
|---|---|
| Eingabe | „ Wert 1“ |
| Ergebnis | „WERT1“ |
Großbuchstaben beschneiden
Kombiniert die Transformationen „Großbuchstaben“ und „Trimmen“.
| Details | |
|---|---|
| Tabelle | sys_rte_eb_Upper_Case_TRIM_Operation |
| Eingabefelder | source_sys_rte_eb_field |
| Ausgabefeld | target_sys_rte_eb_field |
| Beispiel | |
|---|---|
| Eingabe | „ Wert 1“ |
| Ergebnis | „WERT1“ |