top of page

Arbeiten mit Dataverse LookUps in Power Automate

Autorenbild: kimkim


Use Case:

Als User möchte ich einen Export aus meiner Produktverwaltung generieren, um Informationen über den verknüpften Lagerplatz zu erhalten. Wichtig ist, dass der Export die menschenlesbare Darstellung „Regal > Reihe > Platz“ enthält und nicht nur die technische ID des Lagerplatzes.


Vorraussetzungen:

Unsere Produktverwaltung basiert auf zwei Tabellen:

  1. Produkte: Enthält verschiedene Produkte.

  2. Lagerplatz:

    • Location Name: Technische ID des Lagerplatzes (z. B. „lager-001“).

    • Regal, Reihe, Platz: Lesbare Beschreibung des Lagerplatzes (z. B. „Regal A > Reihe 1 > Platz 5“).

    • Capacity: Wie viele Produkte auf den Lagerplatz passen.

Das Feld Storage Location in der Tabelle „Produkte“ ist ein „Lookup“-Feld, das mit der Tabelle „Lagerplatz“ verknüpft ist.

Produkt
Produkt

Lagerplatz
Lagerplatz


Lookup Spalte in "Produkte" aus "Lagerplatz"
Lookup Spalte in "Produkte" aus "Lagerplatz"

Herausforderung:

Beim Export über Power Automate enthält die Standard-Ausgabe nur die technische ID des Lagerplatzes („lager-001“). Uns fehlen jedoch die menschenlesbare Bezeichnung („Regal > Reihe > Platz“) und weitere Informationen wie „Capacity“.

Nutzen wir das Feld "Storages Location" für den Export, erhalten wir nur die ID des Lagerplatz, jedoch keine Informationen über die Kapazität oder das Feld

Wir erhalten nur die folgenden Werte aus der Tabelle "Lagerplatz":

"_ema_storagelocationid_value@OData.Community.Display.V1.FormattedValue": "lager-002",
"_ema_storagelocationid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "ema_StorageLocationID",
"_ema_storagelocationid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "ema_lagerplatz",
"_ema_storagelocationid_value@odata.type": "#Guid",
"_ema_storagelocationid_value": "cde2e2d3-4fd3-ef11-a72e-6045bd16503a",

Wie bekommen wir die Spalte "Capacity" und "Regal, Reihe, Platz?


Lösung: Nutze die Expand Query in der List Rows-Aktion

Im Feld Expand Query der List Rows-Aktion kannst du die verknüpfte Tabelle „Lagerplatz“ einbinden, um Zugriff auf alle Spalten dieser Tabelle zu erhalten.


Wir können den Wert aus "_ema_storagelocationid_value@Microsoft.Dynamics.CRM.associatednavigationproperty" in dem Feld "Expand Query" unserer List Rows Aktion nutzen, um sämtliche Informationen aus der verbundenen Tabelle "Lagerplatz" zu erhalten.


Nach der Konfiguration der List Rows-Aktion findest du im Output eine neue Struktur, die alle Spalten aus der verknüpften Tabelle „Lagerplatz“ enthält.

Um das menschenlesbare Feld „Regal, Reihe, Platz“ in der Create CSV Table-Aktion zu verwenden, nutze folgenden Ausdruck: item()['ema_StorageLocationID']?['ema_regalreiheplatz']


Erläuterung:

  • item(): Greift auf die aktuelle Zeile zu.

  • ['ema_StorageLocationID']: Verweist auf die verknüpfte Tabelle „Lagerplatz“.

  • ?['ema_regalreiheplatz']: Extrahiert das Feld „Regal, Reihe, Platz“.


Performance bedenken: Nur das beziehen, was wir brauchen

Um die Abfrage effizient zu halten: Beschränke die Abfrage auf die benötigten Spalten mit $select: ema_StorageLocationID($select=ema_regalreiheplatz)

Dann entfernen wir noch die kryptische ID und erhalten am Ende eine zweispaltige CSV-Datei mit "Produkt" und "Regal, Reihe, Platz":



Endergebnis

Nach der Optimierung erhältst du eine saubere CSV-Datei mit folgenden Spalten:

  1. Produkt: Name des Produkts.

  2. Regal, Reihe, Platz: Lesbare Beschreibung des Lagerplatzes.


Die kryptische ID wurde entfernt, und die Datei ist für den User direkt verständlich.



7 Ansichten0 Kommentare

Aktuelle Beiträge

Alle ansehen

Comments


bottom of page