Datensätze werden durch Zusammenfügen aktualisiert

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 4 Minuten Lesedauer
  • Mit der Option zum Zusammenfügen können Sie vorhandene Zieltabellendatensätze aktualisieren, wenn Sie Importdaten transformieren.

    Mit der Option zum Zusammenfügen in einer Feldzuordnung können Sie angeben, ob das ausgewählte Zielfeld zum Zusammenfügen verwendet werden soll, wenn Import Set-Datensätze transformiert werden. Wenn das Kontrollkästchen Zusammenfügen der Feldzuordnung aktiviert ist und die Import Set-Zeile transformiert wird, sucht die Instanz nach einem vorhandenen Datensatz in der Zieltabelle, der im Feld Ziel den gleichen Wert aufweist wie das Quellfeldder Import Set-Zeile.

    Wenn ein vorhandener Datensatz mit einem übereinstimmenden Wert in der Zieltabelle gefunden wird, wird dieser Datensatz aktualisiert. Wenn kein übereinstimmender Datensatz gefunden wird, wird ein neuer Datensatz in der Zieltabelle erstellt.
    Hinweis:
    Wählen Sie nur dann Felder in der Zieltabelle zum Zusammenfügen aus, wenn diese Felder eindeutige Werte haben. Wenn mehr als ein Datensatz in der Zieltabelle mit den angegebenen Zusammenfügungsoptionen übereinstimmt, wird nur der erste übereinstimmende Datensatz in der Zieltabelle aktualisiert.

    Zusammenfügungsoptionen

    Es gibt mehrere mögliche Konfigurationen, die Sie zum Zusammenfügen von Daten in Importsätzen verwenden können.

    Keine Zusammenfügung

    Wenn keine Zusammenfügung definiert ist, werden alle importierten Zeilen als neue Datensätze behandelt. Es werden keine vorhandenen Datensätze aktualisiert.

    Einzelfeldzusammenfügung

    Sie können ein einzelnes Feld zusammenfügen, um einen vorhandenen Datensatz zu aktualisieren.

    Wenn ein Zieltabellendatensatz mit demselben Wert im Zusammenfügungsfeld wie der Staging-Tabellendatensatz vorhanden ist, wird der Zieltabellendatensatz mit den Import Set-Datensatzwerten aktualisiert.

    Zusammenfügung mehrerer Felder

    Sie können mehrere Felder zusammenfügen, um einen vorhandenen Datensatz zu aktualisieren.

    Wenn ein Zieltabellendatensatz mit denselben Werten in allen Zusammenfügungsfeldern wie der Bereitstellungstabellendatensatz vorhanden ist, wird der Zieltabellendatensatz mit den Datensatzwerten der Bereitstellungstabelle aktualisiert. Alle Zusammenfügungsfeldwerte zwischen den Ziel- und Bereitstellungstabellen müssen übereinstimmen, damit sie mit mehreren Feldern zusammengefügt werden können.

    Bedingte Zusammenfügung

    Sie können ein Skript verwenden, um zu bestimmen, ob eine Staging-Tabellenzeile mit einem Zieldatensatz zusammengefügt werden soll.

    Die meisten Skripts für bedingtes Zusammenfügen werden im Feld Quellskript einer Feldzuordnung für das Feld sys_id definiert. Um einen Zieldatensatz mit den Datensatzwerten der Bereitstellungstabelle zu aktualisieren, muss das Skript die sys_id des Zieltabellendatensatzes zurückgeben.

    Beispiel für Skripts für bedingtes Zusammenfügen

    Sehen Sie sich Beispiele für Skripts für bedingtes Zusammenfügen an.

    Nur Updates

    Um nur Datensätze zu aktualisieren, in denen eine Übereinstimmung gefunden wird, und Datensätze zu überspringen, in denen keine Übereinstimmung gefunden wird, geben Sie ein Zusammenfügungsfeld an, und fügen Sie das folgende Skript als onBefore -Skript zur Transformationszuordnung hinzu.

    if (action == 'insert') 
      ignore = true;

    Bedingtes Zusammenfügen mithilfe von Dot-Walking

    Sie können Dot-Walk-Felder in einem Skript für bedingtes Zusammenfügen verwenden, z. B. um die E-Mail-Adresse eines Benutzers beim Importieren von Incident-Daten abzugleichen.

    In diesem Beispiel ist dieses Skript im Quellskript einer Feldzuordnung für das sys_id-Feld der Incident-Zieltabelle definiert.

    var gr = new GlideRecord('incident');
    gr.addQuery('caller_id.email', source.u_email); //check if the incident caller's email matches the import row email value
    gr.query();
    
    if(gr.next())
    {
        answer = gr.sys_id; //if a match exists, return the sys_id of the matching Incident record
    }
    else
    {
        answer= -1;
    }

    Bedingtes Zusammenfügen mit einer ODER-Bedingung

    Sie können ein Skript für bedingtes Zusammenfügen verwenden, um Quell- und Zieldatensätze basierend auf mehreren Feldwerten abzugleichen. Im Gegensatz zum Zusammenfügen mehrerer Felder, bei dem alle Zusammenfügungsfelder übereinstimmen müssen, können Sie ein Skript so angeben, dass nur eines der Felder abgeglichen werden muss.

    In diesem Beispiel ist dieses Skript im Quellskript einer Feldzuordnung für das sys_id-Feld der Benutzerzieltabelle definiert.

    var gr = new GlideRecord('sys_user');
    var qc = gr.addQuery('email', source.u_email); //first check if the user's email matches
    qc.addOrCondition('user_name', source.u_name); //alternatively, check if the username matches
    gr.query();
    
    if(gr.next()) 
    {
        answer = gr.sys_id; //if a match exists, return the sys_id of the matching User record
    }
    else 
    {
        answer = -1;
    }

    Beim Zusammenfügen von Feldwerten wird zwischen Groß- und Kleinschreibung unterschieden

    Sie können steuern, ob ein Importsatz bei übereinstimmenden Werten mit verschiedenen Fällen zusammengefügt wird.

    Mit der Feldzuordnung Feld Groß-/Kleinschreibung zusammenfügen können Sie Feldwerte nach Groß-/Kleinschreibung zusammenfügen.

    Standardmäßig werden Felder, die in der Feldzuordnung als Zusammenfügen markiert sind, bei einer Suche ohne Berücksichtigung der Groß-/Kleinschreibung für vorhandene Datensätze verwendet. Wenn die Checkbox Groß-/Kleinschreibung zusammenfügen aktiviert ist, versucht die Instanz, Feldwerte nach Fall zusammenzufügen. Der Datensatz der Zieltabelle wird nur aktualisiert, wenn der Wert im Zieldatensatz und der Staging-Datensatz des Importsatzes denselben Wert und Fall aufweisen. Andernfalls wird ein neuer Datensatz erstellt.

    Bei leeren Feldern zusammenfügen

    Sie können steuern, ob ein Import Set in Feldern ohne Wert zusammengefügt wird.

    Mit dem Feld Leere Felder zusammenfügen der Feldzuordnung können Sie Felder ohne Wert zusammenfügen.

    Standardmäßig führen Felder, die in der Feldzuordnung als Zusammenfügen markiert sind, dazu, dass der Importsatz nach einem Zieldatensatz mit einem Feldwert sucht, der dem Wert aus dem Staging-Datensatz des Importsatzes entspricht. Wenn Leere Felder zusammenfügen für diese Feldzuordnung ausgewählt ist, gilt ein leerer Wert im Zieldatensatz und im Staging-Datensatz des Import Sets als Übereinstimmung für die Zusammenfügung.

    Beispielsweise wird die Benutzer-Transformationszuordnung im E-Mail-Feld zusammengefügt. Wenn die Option Leere Felder zusammenfügen ausgewählt ist, wird ein Quelldatensatz, der eine leere E-Mail-Adresse enthält, mit einem Zieldatensatz zusammengefügt, der eine leere E-Mail-Adresse enthält.