Freigeben über


Leitfaden zu 1:1-Beziehungen

Dieser Artikel zielt auf Sie als Datenmodellierer ab, der mit Power BI Desktop arbeitet. Er bietet einen Leitfaden für die Arbeit mit 1:1-Modellbeziehungen. Eine 1:1-Beziehung kann erstellt werden, wenn beide Tabellen jeweils eine Spalte mit gemeinsamen und eindeutigen Werten enthalten.

Hinweis

Dieser Artikel enthält jedoch keine Einführung zu Modellbeziehungen. Wenn Sie sich bisher noch wenig mit Beziehungen, ihren Eigenschaften und ihrer Konfiguration beschäftigt haben, sollten Sie sich zuerst den Artikel Modellieren von Beziehungen in Power BI Desktop durchlesen.

Außerdem sollten Sie mit dem Sternschemadesign gut vertraut sein. Weitere Informationen finden Sie im Artikel Informationen zum Sternschema und der Wichtigkeit für Power BI.

Es gibt zwei Szenarien, die 1:1-Beziehungen umfassen:

  • Degenerierte Dimensionen: Sie können eine degenerierte Dimension aus einer Faktentabelle ableiten.

  • Zeilendaten erstrecken sich über Tabellen: Eine einzelne Geschäftsentität oder ein einzelner Betreff wird als zwei (oder mehr) Modelltabellen geladen, möglicherweise weil ihre Daten aus verschiedenen Datenspeichern stammen. Dieses Szenario kann bei Dimensionstabellen häufig vorkommen. Beispielsweise können die Details zum Hauptprodukt in einem operativen Vertriebssystem gespeichert werden, während ergänzende Produktdetails in einer anderen Quelle abgelegt sind.

    Es ist jedoch unüblich, zwei Faktentabellen mit einer 1:1-Beziehung zu verknüpfen. Das liegt daran, dass beide Faktentabellen dieselbe Dimensionalität und Granularität aufweisen müssen. Außerdem benötigt jede Faktentabelle eindeutige Spalten, damit die Modellbeziehung erstellt werden kann.

Degenerierte Dimensionen

Wenn Spalten aus einer Faktentabelle zum Filtern oder Gruppieren verwendet werden, können Sie erwägen, sie in einer separaten Tabelle verfügbar zu machen. Auf diese Weise trennen Sie die zum Filtern oder Gruppieren verwendeten Spalten von denjenigen, die zum Zusammenfassen von Faktenzeilen verwendet werden. Durch diese Trennung wird Folgendes erreicht:

  • Reduzieren Sie Speicherplatz.
  • Vereinfachen Sie Modellberechnungen.
  • Tragen Sie zu einer verbesserten Abfrageleistung bei.
  • Höhere Benutzerfreundlichkeit im Bereich Data für Ihre Berichtsautoren

Erwägen Sie eine Quelltabelle mit dem Namen Sales, in der die Auftragsgruppenreferenzdetails in zwei Spalten gespeichert werden.

Diagramm, in dem Tabellenzeilen für die degenerierte Vertriebsdimensionstabelle angezeigt werden. Der Entwurf wird im folgenden Absatz beschrieben.

Die Spalte OrderNumber speichert die Bestellnummer, und die Spalte OrderLineNumber speichert eine Sequenz von Zeilen innerhalb der Bestellung.

Beachten Sie in der folgenden Abbildung, dass die Spalten „ordern number“ (Bestellnummer) und „order line number“ (Bestellzeilennummer) nicht in die Sales-Tabelle geladen wurden. Stattdessen wurden ihre Werte verwendet, um eine Ersatzschlüssel-Spalte namens OrderLineNumberID zu erstellen. (Der Schlüsselwert wird berechnet, indem die Auftragsnummer mit 1000 multipliziert und anschließend die Auftragspositionsnummer addiert wird.)

Diagramm mit zwei Tabellen: „Sales“ und „Sales Order“. Eine Eins-zu-eins-Beziehung verknüpft die Spalten „Order Line Number ID“.

Die Sales Order-Dimensionstabelle bietet eine zahlreiche Möglichkeiten für Berichtsautoren mit zwei Spalten: Sales Order und Sales Order Line. Diese bestimmten Spalten unterstützen Berichtdesigns, die eine Filterung, Gruppierung oder die Möglichkeit zum Drilldown für Aufträge und Auftragspositionen bereitstellen müssen.

Da die Sales Order Tabelle von den Umsatzdaten abgeleitet wird, sollte in jeder Tabelle genau dieselbe Anzahl von Zeilen vorhanden sein. Außerdem sollte es übereinstimmende Werte zwischen jeder OrderLineNumberID-Spalte geben.

Tabellenübergreifende Zeilendaten

Sehen Sie sich ein Beispiel an, das zwei 1:1-bezogene Dimensionstabellen umfasst: Product und Product Category. Jede Tabelle stellt importierte Daten dar und verfügt über eine spalte mit SKU (Lagerhaltungseinheit), die eindeutige Werte enthält.

Nachfolgend wird ein partielles Modelldiagramm der beiden Tabellen gezeigt.

Diagramm mit einem Modell, das zwei Tabellen enthält, in denen Zeilendaten sich über Tabellen erstrecken. Der Entwurf wird im folgenden Absatz beschrieben.

Die erste Tabelle heißt Productund enthält drei Spalten: Color, Productund SKU. Die zweite Tabelle heißt Product Categoryund enthält zwei Spalten: Category und SKU. Eine 1:1-Beziehung bezieht sich auf die beiden SKU-Spalten. Die Beziehung wird in beide Richtungen gefiltert – dies ist bei 1:1-Beziehungen immer der Fall.

Um zu beschreiben, wie die Verteilung des Beziehungsfilters funktioniert, werden in der folgenden Abbildung einige Tabellenzeilen angezeigt. Alle Beispiele in diesem Artikel basieren auf diesen Daten.

Diagramm mit den Tabellen „Product“ und „Product Category“ und einigen Datenzeilen. Die Zeilendetails werden im folgenden Absatz beschrieben.

In der folgenden Aufzählung werden die Details zu den Zeilen der zwei Tabellen erläutert:

  • Die Product-Tabelle enthält drei Zeilen:
    • SKU CL-01, ProductT-shirt, ColorGreen
    • SKU CL-02, ProductJeans, ColorBlue
    • SKU AC-01, ProductHat, ColorBlue
  • Die Product Category-Tabelle weist zwei Zeilen auf:
    • SKU CL-01, CategoryClothing
    • SKUAC-01, CategoryZubehör

Beachten Sie, dass die Product Category-Tabelle keine Zeile für die Produkt-SKU CL-02enthält. Wir werden die Konsequenzen dieser fehlenden Zeile später in diesem Artikel diskutieren.

Im Bereich Daten finden Berichtsautoren produktbezogene Felder in zwei Tabellen: Product und Product Category. Schauen wir uns an, was passiert, wenn Felder aus beiden Tabellen zu einem Tabellenvisual hinzugefügt werden. In diesem Beispiel stammt die Spalte SKU aus der Tabelle Product.

Diagramm, das den Datenbereich mit zwei Tabellen und einer Tabelle mit visueller Darstellung zeigt, die vier Spalten umfasst. Der Kategoriewert für die SKU des Produkts CL-02 ist LEER.

Beachten Sie, dass der Category-Wert für die Produkt-SKU CL-02 leer ist. Das liegt daran, dass in der tabelle Product Category für dieses Produkt keine entsprechende Zeile vorhanden ist.

Empfehlungen

Es wird empfohlen, das Erstellen von 1:1-Modellbeziehungen nach Möglichkeit zu vermeiden, wenn sich Zeilendaten über Modelltabellen erstrecken. Das liegt daran, dass dieses Design folgende Möglichkeiten hat:

  • Dieses Design kann den Bereich Data unübersichtlich machen, weil mehr Tabellen als nötig aufgeführt werden.
  • Für die Berichtsautoren ist es bei diesem Design schwieriger, nach verwandten Feldern zu suchen, da diese über mehrere Tabellen verteilt sind.
  • Beschränken Sie die Möglichkeit zum Erstellen von Hierarchien, da ihre Ebenen auf Spalten aus derselben Tabelle basieren müssen.
  • Dieses Design kann zu unerwarteten Ergebnissen führen, wenn die Zeilen zwischen den Tabellen nicht vollständig übereinstimmen.

Bestimmte Empfehlungen unterscheiden sich in Abhängigkeit davon, ob es sich um eine quellgruppeninterne oder quellgruppenübergreifende 1:1-Beziehung handelt. Weitere Informationen zur Beziehungsauswertung finden Sie unter Modellbeziehungen in Power BI Desktop.

Quellgruppeninterne 1:1-Beziehung

Wenn zwischen Tabellen eine quellgruppeninterne 1:1-Beziehung vorliegt, wird eine Konsolidierung der Daten in einer einzigen Modelltabelle empfohlen. Dazu können Sie die Power Query-Abfragen zusammenführen.

Die folgenden Schritte zeigen eine Methodik zum Konsolidieren und Modellieren der Daten in einer 1:1-Beziehung:

  1. Zusammenführen der Abfragen: Achten Sie beim Kombinieren der beiden Abfragen auf die Vollständigkeit der Daten in jeder Abfrage. Wenn eine Abfrage einen vollständigen Satz von Zeilen enthält (beispielsweise eine Masterliste), führen Sie die andere Abfrage mit ihr zusammen. Legen Sie die Zusammenführungstransformation so, dass sie eine linke äußere Verknüpfung verwendet (die standardmäßig Verknüpfung). Dieser Verknüpfungstyp stellt sicher, dass alle Zeilen der ersten Abfrage beibehalten und mit allen übereinstimmenden Zeilen der zweiten Abfrage ergänzt werden. Erweitern Sie alle erforderlichen Spalten der zweiten Abfrage in die erste Abfrage.

    Diagramm, das Daten zeigt, die zu einer einzelnen Produktdimensionstabelle konsolidiert sind

  2. Deaktivieren des Ladevorgangs für Abfragen: Stellen Sie sicher, dass Sie für die zweite Abfrage den Ladevorgang für Abfragen deaktivieren. Auf diese Weise werden die Ergebnisse nicht als Modelltabelle geladen. Diese Konfiguration verringert die Speichergröße des Datenmodells und trägt zur Übersichtlichkeit des Bereichs Data bei.

    In unserem Beispiel finden Berichtsautoren nun eine einzelne Tabelle mit dem Namen Product im Bereich Daten. Diese enthält alle produktbezogenen Felder.

  3. Ersetzen fehlender Werte: Wenn die zweite Abfrage nicht übereinstimmende Zeilen aufweist, werden in den neu eingeführten Spalten NULL-Werte angezeigt. Erwägen Sie gegebenenfalls, die NULL-Werte durch einen symbolischen Wert zu ersetzen. Das Ersetzen fehlender Werte ist besonders wichtig, wenn Berichtsautoren nach den Spaltenwerten filtern oder diese gruppieren, weil dies zu LEEREN Werten in Berichtsvisuals führen könnte.

    Beachten Sie in der folgenden Abbildung, dass die Kategorie für die Produkt-SKU CL-02 jetzt [Undefined]lautet. In der Abfrage wurden NULL-Kategorien durch diesen symbolischen Textwert ersetzt.

    Diagramm mit dem Datenausschnitt für die Tabelle „Product“. Außerdem wird ein Tabellenvisual mit vier Spalten dargestellt. Der Kategoriewert für die Produkt-SKU CL-02 ist jetzt als nicht definiert gekennzeichnet.

  4. Erstellen von Hierarchien: Wenn Beziehungen zwischen den Spalten der neu konsolidierten Tabelle vorliegen, erwägen Sie das Erstellen von Hierarchien. Auf diese Weise können Berichtsautoren Möglichkeiten für Drilldowns in Berichtsvisuals schnell erkennen.

    In unserem Beispiel können Berichtsautoren jetzt eine Hierarchie mit zwei Ebenen verwenden: Category und Product.

    Diagramm mit dem Datenausschnitt. Die Tabelle „Product“ enthält die Hierarchie „Products“.

Auch wenn Ihnen die Verwendung getrennter Tabellen zum Organisieren Ihrer Felder gefällt, empfehlen wir dennoch die Konsolidierung in einer einzigen Tabelle. Sie können Ihre Felder weiterhin organisieren, verwenden stattdessen aber Anzeigeordner.

In unserem Beispiel können Berichtsautoren das Feld Category im Anzeigeordner Marketing finden.

Diagramm, das den Datenausschnitt zeigt, in dem sich das Feld „Category“ in einem Anzeigeordner namens „Marketing“ befindet

Sollten Sie sich dennoch entscheiden, in Ihrem Modell quellgruppeninterne 1:1-Beziehungen zu definieren, stellen Sie nach Möglichkeit sicher, dass übereinstimmende Zeilen in den Bezugstabellen vorhanden sind. Wenn eine quellgruppeninterne 1:1-Beziehung als reguläre Beziehung ausgewertet wird, können Datenintegritätsprobleme dazu führen, dass Ihre Berichtsvisuals als LEER angezeigt werden. (Ein Beispiel für eine LEERE Gruppierung finden Sie im ersten gezeigten Berichtsvisual in diesem Artikel.)

Quellgruppenübergreifende 1:1-Beziehung

Wenn eine gruppenübergreifende 1:1-Beziehung zwischen Tabellen vorhanden ist, gibt es keinen alternativen Modellentwurf, es sei denn, Sie konsolidieren die Daten in Ihrer Datenquelle vorab. Power BI wertet die 1:1-Modellbeziehung als beschränkte Beziehung aus. Achten Sie daher darauf, dass in den verknüpften Tabellen übereinstimmende Zeilen vorhanden sind, da nicht übereinstimmende Zeilen aus Den Abfrageergebnissen entfernt werden.

Diagramm mit einer quellübergreifenden 1:1-Beziehung, bei der es sich um eine begrenzte Beziehung handelt

Im Folgenden wird untersucht, was geschieht, wenn Felder aus beiden Tabellen zu einem Tabellenvisual hinzugefügt werden und eine beschränkte Beziehung zwischen den Tabellen vorliegt.

Diagramm, das zwei Tabellenvisualisierungen zeigt, die im folgenden Absatz beschrieben werden.

Die erste visuelle Tabelle, die eine quellübergreifende Gruppenbeziehung verwendet, zeigt nur zwei Zeilen an. Die Produkt-SKU CL-02 fehlt, da in der Tabelle Product Category keine übereinstimmende Zeile vorhanden ist. Das zweite Tabellenvisual, das auf einer einzigen konsolidierten Tabelle im Modell basiert, zeigt drei Zeilen an.

Weitere Informationen zu diesem Artikel finden Sie in den folgenden Ressourcen: