In diesem Artikel beschreibe ich, wie Sie in einer Logik App Arrays zusammenführen und die Differenz aus zwei Arrays ermitteln können.

Sie besitzen eine Logik App in der zwei nahezu identische Arrays bearbeitet werden müssen. Sie wollen im ersten Step eine Summer beider Arrays erstellen und hierbei keine doppelten Einträge produzieren.

In meinem Beispiel arbeite ich mit zwei Arrays in denen sich Personen befinden, siehe Bild.

Ein zweites Array mit weiteren und Identischen Personen liegt ebenfalls vor.

Personen 1

Personen 2

Sie fügen die “data Operation” “Compose” ein, wie im Bild zu sehen ist.

Sie klicken in das INPUT Feld und anschließend auf Expression, hier tragen Sie die Expression wie im Code-Beispiel ein. Die Funktion UNION fügt beide Arrays zusammen und erstellt ein Array ohne dubletten.

union(variables('Personen1'),variables('Personen2'))

Im nächsten Step nutzen Sie die Operation “Filter Array” der Data Operations. Als From nehmen Sie den Output der Compose Operation, anschließend wechseln Sie in den Advanced Modus, die erreichen Sie auf einen klick auf “edit in advanced mode”.

Sie sind nun in der Lage eine experten Abfrage zu erstellen um die Personen zu identifizieren, die in dem Array Personen 1 enthalten sind aber nicht im Array Personen 2. Die Abfrage sieht dann wie folgt aus:

@and(contains(variables('Personen1'),item()),not(contains(variables('Personen2'),item())))

Wenn Sie nun die Logik App starten und das Ergebnis einsehen, dann sieht es in der Übersicht, wie folgt aus.

Wenn Sie anschließend das komplette Array ansehen wollen “klick auf Show raw outputs”, dann sehen Sie, dass nur zwei Personen ausgegeben werden.

Leave a Reply

Your email address will not be published. Required fields are marked *