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.
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.)
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.
Die erste Tabelle heißt Product
und enthält drei Spalten: Color
, Product
und SKU
. Die zweite Tabelle heißt Product Category
und 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.
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,Product
T-shirt,Color
GreenSKU
CL-02,Product
Jeans,Color
BlueSKU
AC-01,Product
Hat,Color
Blue
- Die
Product Category
-Tabelle weist zwei Zeilen auf:SKU
CL-01,Category
ClothingSKU
AC-01,Category
Zubehö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
.
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:
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.
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.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.
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
undProduct
.
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.
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.
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.
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.
Zugehöriger Inhalt
Weitere Informationen zu diesem Artikel finden Sie in den folgenden Ressourcen: