Tutorial zum VertiPaq-Analysator: Beziehungen und referenzielle Integrität

In diesem Tutorial wird die Registerkarte „Beziehungen“ im VertiPaq Analyzer in DAX Studio erläutert. Sie erfahren, wie nützlich es bei der Identifizierung von Verletzungen der referenziellen Integrität ist, die Ihre DAX-Codes verlangsamen. Es hilft Ihnen zu bestimmen, welche Tabelle oder Spalte optimiert und verbessert werden muss.

Inhaltsverzeichnis

Tutorial zur Registerkarte „Beziehungen“ im VertiPaq-Analysator

Auf der Registerkarte „Beziehungen“  werden alle Beziehungen angezeigt, die in Ihrem Datenmodell vorhanden sind. Zur Veranschaulichung handelt es sich hierbei um eine Beispieldatei, die in diesem Tutorial verwendet wird. Sie können sehen, dass es vier Beziehungssätze gibt.

Tutorial zum VertiPaq-Analysator: Beziehungen und referenzielle Integrität

Dies ist die Diagrammansicht des Datenmodells.

Tutorial zum VertiPaq-Analysator: Beziehungen und referenzielle Integrität

Es verfügt über vier Dimensionstabellen, die sich auf die Faktentabelle beziehen. Wenn Sie zur Registerkarte „Beziehungen“ zurückkehren , sehen Sie die Spalte  „Maximale Kardinalität“  .

Diese Spalte definiert die Kosten der Beziehung, d. h. die Zeit, die DAX benötigt, um die Filter von der Dimensionstabelle in die Faktentabelle zu übertragen.

Weitere wichtige Spalten auf der Registerkarte sind „ Fehlende Schlüssel“ , „Ungültige Zeilen “ und „ Beispielverletzungen  “. Sie zeigen Probleme mit der referenziellen Integrität in Ihrem Modell.

Verletzungen der referenziellen Integrität

Verletzungen der referenziellen Integrität treten auf, wenn es auf der vielen Seite einer Eins-zu-viele-Beziehung einen Wert gibt, der auf der einen Seite nicht existiert.

Diese Verstöße verlangsamen die Leistung Ihres DAX und führen manchmal zu ungenauen Berechnungen.

Um diese Verstöße zu lokalisieren, können Sie entweder die Registerkarte „Beziehungen“ verwenden oder eine DAX-Abfrage ausführen . Es ist eine bewährte Methode, die Probleme immer zu beheben, um eine reibungslosere Leistung zu erzielen.

Wenn Sie zurück zur Registerkarte „Beziehungen“ wechseln, sehen Sie, dass es Verstöße gibt, die sich auf die Beziehungen der Dimensionstabelle zur Faktentabelle beziehen .

Tutorial zum VertiPaq-Analysator: Beziehungen und referenzielle Integrität

In der Faktentabelle fehlen 781 CustomerKeys  und 1 SalesPersonKey , der in den Tabellen DimCustomer  und DimSalesPerson nicht vorhanden ist  . 

In der Spalte „Beispielverstöße“ werden die fehlenden Schlüssel angezeigt. Im Beispiel wurden nur 5 Schlüssel aus der Tabelle „Kundenschlüssel“ angezeigt  .

Wenn Sie die Anzahl der angezeigten Schlüssel ändern möchten, gehen Sie zu Datei und klicken Sie auf Option. Klicken Sie anschließend auf „Erweitert“ und ändern Sie dann die Anzahl der Verstöße. In diesem Beispiel werden 20 fehlende Schlüssel verwendet.

Tutorial zum VertiPaq-Analysator: Beziehungen und referenzielle Integrität

Sobald Sie zur Registerkarte zurückkehren, führen Sie den DAX erneut aus, indem Sie auf „Metriken anzeigen“ klicken. Sie können jetzt mehr der fehlenden Schlüssel sehen.

Tutorial zum VertiPaq-Analysator: Beziehungen und referenzielle Integrität

Jetzt müssen Sie herausfinden, warum diese Schlüssel fehlen und was sie sind. Erstellen Sie eine DAX-Abfrage, um die fehlenden Schlüssel aus der Tabelle „Kundenschlüssel“ zu erhalten .

Tutorial zum VertiPaq-Analysator: Beziehungen und referenzielle Integrität

Verwenden Sie zuerst die EVALUATE- Funktion und dann die  Funktion. Verwenden Sie für die linke Tabelle  Funktion für den CustomerKey der FactSales-  Tabelle .

Und für die rechte Tabelle verwenden Sie die DISTINCT-  Funktion für den CustomerKey der DimCustome r-Tabelle . Sobald Sie F5 drücken, werden alle 781 fehlenden Schlüssel angezeigt.

Tutorial zum VertiPaq-Analysator: Beziehungen und referenzielle Integrität

Tutorial zum VertiPaq-Analysator: Behebung von RI-Verstößen

Um die Verstöße zu beheben, gehen Sie zurück zur Beispieldatei und klicken Sie auf  Daten transformieren . Gehen Sie als Nächstes zur Tabelle „DimCustomer“ , rufen Sie die vollständige Liste ab und klicken Sie dann auf „Übernehmen“.

Tutorial zum VertiPaq-Analysator: Beziehungen und referenzielle Integrität

Führen Sie die DAX-Abfrage erneut aus. Sie können jetzt sehen, dass keine Schlüssel fehlen.

Tutorial zum VertiPaq-Analysator: Beziehungen und referenzielle Integrität

Gehen Sie für den Verstoß aus der SalesPersonKey-Tabelle genauso vor. Gehen Sie zur Tabelle DimSalesPerson , holen Sie sich den fehlenden Schlüssel und klicken Sie dann auf Übernehmen.

Tutorial zum VertiPaq-Analysator: Beziehungen und referenzielle Integrität

Es liegen derzeit keine Verstöße gegen die referenzielle Integrität vor.


Optimieren Sie DAX-Funktionen mit diesem neuen Kurs.
Einfache LuckyTemplates-Transformationen für optimiertere Daten.
Optimieren Sie LuckyTemplates-Formeln mit Advanced DAX

Abschluss

Wenn Sie nicht wissen, wie und wo Sie mit der Optimierung Ihres DAX beginnen sollen, verwenden Sie die Registerkarte „Beziehungen“ in den VertiPaq-Analyzer-Metriken. Es findet Tabellen mit Verstößen gegen die referenzielle Integrität und hilft Ihnen, diese zu beseitigen, um die DAX-Berechnung zu beschleunigen .

Leistungsprobleme treten immer auf, aber sobald Sie die Verwendung der Registerkarte „Beziehungen“ beherrschen, erhalten Sie fehlerfreie Berechnungen.

Leave a Comment

Streudiagramm-Visualisierungen mit Charticulator

Streudiagramm-Visualisierungen mit Charticulator

In diesem Tutorial erfahren Sie, wie Sie mit Charticulator eine Streudiagramm-Visualisierung für Ihren LuckyTemplates-Bericht erstellen und entwerfen.

PowerApps-Suchfeld: So fügen Sie es hinzu und passen es an

PowerApps-Suchfeld: So fügen Sie es hinzu und passen es an

Erfahren Sie, wie Sie ein PowerApps-Suchfeld von Grund auf erstellen und es an das Gesamtthema Ihrer App anpassen.

Power Automate String-Funktionen: Substring und IndexOf

Power Automate String-Funktionen: Substring und IndexOf

Erlernen Sie ganz einfach zwei komplizierte Power Automate String-Funktionen, die in Microsoft Flows verwendet werden können – die Funktionen substring und indexOf.

Power Query M: Abwechselndes 0-1-Muster in der Datumstabelle

Power Query M: Abwechselndes 0-1-Muster in der Datumstabelle

Dieses Tutorial konzentriert sich auf die Power Query M-Funktion „number.mod“, um ein abwechselndes 0-1-Muster in der Datumstabelle zu erstellen.

Prognosetechnik: Erkundung der Prognoselogik in LuckyTemplates-Modellen

Prognosetechnik: Erkundung der Prognoselogik in LuckyTemplates-Modellen

In diesem Tutorial führe ich eine Prognosetechnik durch, bei der ich meine tatsächlichen Ergebnisse mit meinen Prognosen vergleiche und sie kumulativ betrachte.

Speichern Sie E-Mail-Anhänge in SharePoint mit Power Automate

Speichern Sie E-Mail-Anhänge in SharePoint mit Power Automate

In diesem Blog erfahren Sie, wie Sie mit Power Automate E-Mail-Anhänge automatisch in SharePoint speichern und E-Mails anschließend löschen.

Führen Sie eine Bis-Loop-Steuerung in Power Automate durch

Führen Sie eine Bis-Loop-Steuerung in Power Automate durch

Erfahren Sie, wie die Do Until Schleifensteuerung in Power Automate funktioniert und welche Schritte zur Implementierung erforderlich sind.

Berechnen eines gleitenden Durchschnitts in LuckyTemplates mithilfe von DAX

Berechnen eines gleitenden Durchschnitts in LuckyTemplates mithilfe von DAX

In diesem Tutorial erfahren Sie, wie Sie mithilfe der ALLSELECTED-Funktion einen dynamischen gleitenden Durchschnitt in LuckyTemplates berechnen können.

Berechnen Sie dynamisch eine laufende oder kumulative LuckyTemplates-Summe

Berechnen Sie dynamisch eine laufende oder kumulative LuckyTemplates-Summe

Durch diesen Artikel erhalten wir ein klares und besseres Verständnis für die dynamische Berechnung einer laufenden oder kumulativen Gesamtsumme in LuckyTemplates.

Power Automate auf jede Aktion in Workflows anwenden

Power Automate auf jede Aktion in Workflows anwenden

Erfahren und verstehen Sie die Bedeutung und ordnungsgemäße Verwendung der Power Automate-Aktionssteuerung „Auf jede anwenden“ in unseren Microsoft-Workflows.