Zeilen zählen in Powerautomate


Ich nutze ja oft ChatGPT um Ideen zu bekommen wie ich eine
Anforderung in Powerautomate umsetze. Doch diesmal war das wenig
hilfreich, die Lösung von ChatGPT war umständlich und nicht vollständig.
Die KI muss eben auch noch lernen.

Daher nun zu meiner Lösung.

Das war die Anforderung.

Wir betreiben eine Art Dropshipping. Dazu sammeln wir die
Bestellungen in einer Sharepointliste und wollen einmal pro Woche eine
Auswertung was und wieviel Stück pro Artikel bestellt wurde.

Erst dachte ich das geht nicht und hab mich erstmal nur auf eine
sortierte Liste geeinigt bei der nachzählen einfacher ist. Aber dann kam
ich auf die Lösung.

Für unseren Flow brauchen wir genau 2 Array Variablen.

Im ersten Schritt rufen wir die Bestellungen der letzten 7 Tage aus der Sharepointliste ab:

Also “Get Items” und filtern die Abfrage hiermit:

Created ge ‘@{getPastTime(7, ‘day’)}’

Nun gehen wir die Liste in einer For each Aktion durch mit folgender Bedingung:

“contains”: [“@variables(‘uniqueArray’)”,”@item()?[‘Title’]”

Das heißt wir schauen in jeder Schleife ob der Titel des Elements
bereits in unserer Arrayvariable gespeichert ist. Falls nicht fügen wir
den Titel hinzu, falls ja machen wir nichts.

Nun haben wir alle bestellten Artikel genau einmal im neuen Array gespeichert.

Im nächsten Schritt machen wir also eine “For each” Aktion für unser neues Array.

Nun rufen wir erneut die Sharepointliste ab. Allerdings mit einem angepassten Filter.

“Title eq ‘@{item()}’ andnCreated ge ‘@{getPastTime(7, ‘day’)}’”

Wir filtern wie zuvor die letzten 7 Tage und den Titel.

Als Ausgabe bekommen wir also in jeder Schleife nur alle Bestellungen mit diesem einen Artikel.

Die Anzahl Zeilen erhalten wir mit einer Compose Action.

length(outputs(‘Elemente_abrufen_1’)?[‘body/value’])

Das schreiben wir nun in die 2. Arrayvariable:

“value”: “@{item()}; @{outputs(‘Anzahl’)}”

Damit ist unsere 2. Arrayvariable nun mit den korrekten Daten gefüttert.

Im Abschluss erstellen wir eine HTML Tabelle oder eine CSV Tabelle
um das Ergebnis unseres Flows sichtbar zu machen. Das hängt von der
weiteren Verarbeitung ab.


Leave a Reply

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