# UUIDs in Display-Namen umwandeln

In ENLYZE hat jede Dateneinheit – wie **Standorte, Maschinen, Produkte, Stillstände** usw. – eine **eindeutige Kennung (UUID)**. Diese UUIDs sind essenziell für die Referenzierung von Elementen in verschiedenen Tabellen, können jedoch die Lesbarkeit des Datenmodells beeinträchtigen.

Bei der Analyse von Daten in Power BI ist es oft praktischer, **Anzeigenamen** anstelle von UUIDs zu verwenden. Diese Anleitung erklärt verschiedene Methoden, um UUIDs in ihre entsprechenden Anzeigenamen umzuwandeln. Je nachdem, wo die Zuordnung erfolgt, sind **DAX-Formeln** und/oder **Power Query-Transformationen** erforderlich.

Es gibt zwei typische Anwendungsfälle, in denen die Zuordnung von UUIDs zu Anzeigenamen hilfreich ist:

* **Hinzufügen einer neuen Spalte** innerhalb einer Tabelle, z. B. das Einfügen von Maschinennamen in die Tabelle `Production Runs`.
* **Umbenennen von Spalten**, nachdem Zeitseriendaten für Maschinenvariablen abgefragt wurden.

## **Hinzufügen einer neuen Spalte** innerhalb einer Tabelle

Die **Tabelle `Production Runs`**&#x73;peichert Informationen über:

* **Auf welcher Maschine** ein Auftrag ausgeführt wurde.
* **Welches Produkt** produziert wurde.

Da die Tabelle `Production Runs` Maschinen- und Produktreferenzen als UUIDs speichert, möchten wir diese durch lesbare Namen ersetzen, indem wir die Tabellen `Machines` und `Products` verwenden.

### **Methode 1: Neue Spalte mit DAX**

In dieser Methode nutzen wir **DAX (Data Analysis Expressions)**, um Display-Namen nachzuschlagen und abzurufen.

{% embed url="<https://www.loom.com/share/54160d6a3cf84f6da984a1722026cd71>" %}

1. In **Power BI** zur **Tabellenansicht wechseln**.
2. Die **Tabelle** `Production Runs` auswählen
3. Unter **Tabellentools** auf **Neue Spalte** klicken.
4. Geben Sie die folgende Formel in die Spaltendefinitionsleiste ein:

   ```dax
   machine_name = LOOKUPVALUE(Machines[name], Machines[uuid], 'Production Runs'[machine])
   ```

**Wie funktioniert es?**

* Mit `LOOKUPVALUE` wird der Maschinenname in der **Tabelle** `Machines` gesucht.
* Es wird die Zeile gefunden, in der `Machines[uuid]` mit `Production Runs[machine]` übereinstimmt.
* Der entsprechende **Maschinenname** wird zurückgegeben.

Nun enthält die Tabelle `Production Runs` eine Spalte `machine_name` mit lesbaren Namen anstelle von UUIDs.

### **Methode 2: Merge im Power Query Editor**

Diese Methode nutzt den **Power-Query-Editor**, um Tabellen zusammenzuführen und UUIDs durch Display-Namen zu ersetzen.

{% embed url="<https://www.loom.com/share/d21c5c1dfc8d4150ae499bb237324cfa>" %}

1. Der **Power Query Editor** öffnen (`Daten transformieren` in Power BI).
2. Die **Tabelle** `Production Runs` auswählen.
3. Unter **Kombinieren** auf **Abfragen zusammenführen** klicken (**Abfragen als neu zusammenführen**, fügt eine neue Tabelle ein).
4. Im Pop-up-Fenster:
   * Die **Tabelle** `Production Runs` ist bereits ausgewählt.
   * Als zweite Tabelle `Products` auswählen.
   * `Product UUID` in beiden Tabellen als Übereinstimmungsschlüssel auswählen.
   * Unter **Verknüpfungsart** **Linksäußere Verknüpfung** auswählen, um alle Datensätze aus `Production Runs` beizubehalten.
   * Anschließend wird es angezeigt, wie viele Zeilen eine Übereinstimmung gefunden haben. Idealerweise sollten alle Zeilen übereinstimmen.
5. Auf **OK** klicken.
6. Die erstellte Spalte kann erweitert werden, indem man auf die **Erweitern-Schaltfläche** rechts neben dem Spaltennamen klickt.
7. Hier den **external\_id** auswählen und auf **OK** klicken.

Nun enthält die Tabelle `Production Runs` eine Spalte `Products.external_id` mit lesbaren Produktnamen anstelle von UUIDs.

***

Beide Methoden ermöglichen es, UUIDs durch Display-Namen zu ersetzen und so die Lesbarkeit und Benutzerfreundlichkeit in Power BI zu verbessern:

* **DAX** (`LOOKUPVALUE`) wird verwendet, wenn man Berechnungen innerhalb des Power-BI-Modells durchführen möchte.
* **Power Query** (Abfragen zusammenführen) wird verwendet, wenn man die Daten vor dem Laden in Power BI transformieren möchte.

## Spalten in Zeitreihendaten mit Power Query umbenennen

Bei der Nutzung der `Timeseries`-Funktion des ENLYZE-Connectors werden die Spaltennamen nicht als Variablennamen, sondern als **Variable-UUIDs** angezeigt. Um die Lesbarkeit der Daten zu verbessern, ist es oft sinnvoll, diese Spalten mit den Maschinen- und Variablenanzeigenamen umzubenennen.

Hier wird eine Funktion erläutert, die **diese Zuordnung automatisch vornimmt**, nachdem die Zeitreihendaten abgerufen wurden.

### **Die Funktion**

```powerquery

let
    // Step 1: Call the Timeseries function
    Source = Timeseries(FilteredVariables, #datetimezone(2025, 2, 25, 0, 0, 0, 1, 0), #datetimezone(2025, 2, 26, 0, 0, 0, 1, 0), "1m", "avg"),

    // Step 2: Rename Machine UUID columns to Machine Names
    MachineMapping = Table.SelectColumns(Machines, {"uuid", "name"}),
    MachineRenamePairs = Table.ToRows(MachineMapping),
    RenamedMachines = Table.RenameColumns(Source, MachineRenamePairs, MissingField.Ignore),

    // Step 3: Rename Variable UUIDs Inside Each Table
    RenamedTables = Table.TransformColumns(RenamedMachines, {}, (x) => try Table.RenameColumns(x, Table.ToRows(Table.SelectColumns(FilteredVariables, {"uuid", "display_name"})), MissingField.Ignore) otherwise x)
in
    RenamedTables
```

#### **Funktionsweise**

**1. Zeitreihendaten abrufen**

Die Funktion ruft die Zeitseriendaten über die `Timeseries`-Funktion des ENLYZE-Connectors mit folgenden Parametern ab:

* `FilteredVariables` – Eine gefilterte Version der `Variables`-Tabelle mit den Variablen, die in der Abfrage verwendet werden sollen.
* **Start- und Endzeit** – Aktuell eingestellt von **25. Februar 2025** bis **26. Februar 2025**.
* **Abtastintervall** – `1m` ein Datenpunkt jeder Minute.
* **Aggregationsmethode** – Standardmäßig `avg` (Durchschnitt).

Alle diese Eingaben können nach Bedarf angepasst werden.

**2. Maschinen-UUIDs in Maschinenanzeigenamen umbenennen**

* Maschinen-UUIDs im Ergebnis werden ihren entsprechenden **Maschinennamen** zugeordnet.
* Die Zuordnung erfolgt über die `Machines`-Tabelle (`uuid` → `name`).
* Die Spaltennamen der Maschinen werden entsprechend aktualisiert.

**3. Variablen-UUIDs in Variablenanzeigenamen umbenennen**

* Innerhalb jeder Maschinen-Spalte werden **Variablen-UUIDs** durch ihre **Anzeigenamen** ersetzt.
* Die Zuordnung erfolgt über die `FilteredVariables`-Tabelle (`uuid` → `display_name`).

#### **Anwendung**

Um die Funktion zu verwenden, sind folgende Voraussetzungen erforderlich:

* Die `Machines`-Tabelle aus dem ENLYZE-Connector.
* Die `Timeseries`-Funktion aus dem ENLYZE-Connector.
* Eine Tabelle namens `FilteredVariables`, die eine gefilterte Kopie der `Variables`-Tabelle aus dem ENLYZE-Connector enthält und nur die für die Zeitserienabfrage benötigten Variablen umfasst.

Die Schritte um die Funktion anzuwenden sind:

1. Unter **Neue Quelle > Leere Abfrage** eine neue Abfrage erstellen.
2. Den **Erweiterten Editor** unter **Ansicht > Erweiterter Editor** öffnen.
3. Den Code der Funktion kopieren und einfügen.
4. Die Eingaben der `Timeseries`-Funktion nach Bedarf anpassen.
5. Auf **Fertig** klicken.

Nach der Ausführung enthält die **endgültige Tabelle** die Maschinen- und Variablennamen anstelle der UUIDs in den Spaltennamen.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.enlyze.com/integrations/power-bi/tutorials/uuids-in-display-namen-umwandeln.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
