Erstellen und Verwalten von Beziehungen in Power BI DesktopCreate and manage relationships in Power BI Desktop

Wenn Sie mehrere Tabellen importieren, werden Sie mit großer Wahrscheinlichkeit einige Analysen mit Daten aus allen diesen Tabellen durchführen.When you import multiple tables, chances are you’re going to do some analysis using data from all those tables. Beziehungen zwischen diesen Tabellen sind erforderlich, um die Ergebnisse genau zu berechnen und die richtigen Informationen in Ihren Berichten anzuzeigen.Relationships between those tables are necessary in order to accurately calculate results and display the correct information in your reports. Mit Power BI Desktop können diese Beziehungen ganz leicht erstellt werden.Power BI Desktop makes creating those relationships easy. Tatsächlich müssen Sie in den meisten Fällen keine weiteren Schritte unternehmen, da die AutoErmittlungsfunktion dies für Sie übernimmt.In-fact, in most cases you won’t have to do anything, the Autodetect feature can do it for you. In einigen Fällen müssen Sie die Beziehungen jedoch möglicherweise selbst erstellen oder Änderungen an einer Beziehung vornehmen.However, in some cases you might have to create relationships yourself, or you might need to make some changes to a relationship. In beiden Fällen ist es wichtig zu verstehen, wie Beziehungen in Power BI funktionieren und wie sie erstellt und bearbeitet werden.Either way, it’s important to understand relationships in Power BI Desktop and how to create and edit them.

AutoErmittlung beim LadenAutodetect during load

Wenn Sie zwei oder mehr Tabellen gleichzeitig abfragen, nachdem die Daten geladen sind, versucht Power BI Desktop, die Beziehungen zu finden und für Sie zu erstellen.If you query two or more tables at the same time, when the data is loaded, Power BI Desktop will attempt to find and create relationships for you. Kardinalität, Kreuzfilterrichtung und aktive Eigenschaften werden automatisch festgelegt.Cardinality, Cross filter direction, and Active properties are automatically set. Power BI Desktop untersucht die Spaltennamen in den abgefragten Tabellen, um festzustellen, ob mögliche Beziehungen vorhanden sind.Power BI Desktop looks at column names in the tables you are querying to determine if there are any potential relationships. Wenn Beziehungen vorhanden sind, werden sie automatisch erstellt.If there are, those relationships are created automatically. Wenn Power BI Desktop nicht mit hoher Zuverlässigkeit ermitteln kann, dass eine Übereinstimmung vorliegt, wird die Beziehung nicht automatisch erstellt.If Power BI Desktop cannot determine with a high-level of confidence there is a match, it will not automatically create the relationship. Sie können das Dialogfeld "Beziehungen verwalten" weiterhin dazu verwenden, Beziehungen zu erstellen oder zu bearbeiten.You can still use the Manage Relationships dialog to create or edit relationships.

Erstellen einer Beziehung mit AutoErmittlungCreate a relationship by using Autodetect

Klicken Sie auf der Registerkarte Start auf Beziehungen verwalten>AutoErmittlung.On the Home tab, click Manage Relationships > AutoDetect.

Manuelles Erstellen einer BeziehungCreate a relationship manually

  1. Klicken Sie auf der Registerkarte Start auf Beziehungen verwalten>Neu.On the Home tab, click Manage Relationships > New.
  2. Wählen Sie im Dialogfeld Beziehung erstellen in der ersten Dropdownliste für Tabellen eine Tabelle aus, und wählen Sie dann die Spalte aus, die Sie in der Beziehung verwenden möchten.In the Create Relationship dialog, in the first table drop-down list, select a table, and then select the column you want to use in the relationship.
  3. In der zweiten Dropdownliste für Tabellen wählen Sie die andere Tabelle aus, die in die Beziehung einbezogen werden soll. Wählen Sie dann die andere zu verwendende Spalte aus, und klicken Sie auf OK.In the to second table drop-down list, select the other table you want in the relationship, then select the other column you want to use, and then click OK.

Standardmäßig konfiguriert Power BI Desktop automatisch die Kardinalität (Richtung), Kreuzfilterrichtung und aktiven Eigenschaften für die neue Beziehung. Sie können diese jedoch bei Bedarf unter "Erweiterte Optionen" ändern.By default, Power BI Desktop will automatically configure the Cardinality (direction), Cross filter direction, and Active properties for your new relationship; however, you can change these if necessary in Advanced options. Weitere Informationen finden Sie im Abschnitt "Informationen zu erweiterten Optionen" weiter unten in diesem Artikel.To learn more, see the Understanding advanced options section later in this article.

Bearbeiten einer BeziehungEdit a relationship

  1. Klicken Sie auf der Registerkarte Start auf Beziehungen verwalten.On the Home tab, click Manage Relationships.
  2. Wählen Sie im Dialogfeld Beziehungen verwalten die Beziehung aus, und klicken Sie dann auf Bearbeiten.In the Manage Relationships dialog, select the relationship, then click Edit.

Konfigurieren der erweiterten OptionenConfigure advanced options

Beim Erstellen oder Bearbeiten einer Beziehung können Sie erweiterte Optionen konfigurieren.When you create or edit a relationship, you can configure advanced options. Die erweiterten Optionen werden standardmäßig auf Basis einer bestmöglichen Schätzung automatisch konfiguriert.By default, advanced options are automatically configured based on a best guess. Dies kann für jede Beziehung auf Basis der in den Spalten enthaltenen Daten unterschiedlich verlaufen.This can be different for each relationship based on the data in the columns.

KardinalitätCardinality

N zu Eins (*:1) – Dies ist der am häufigsten verwendete Typ und somit der Standardtyp.Many to One (*:1) - This is the most common, default type. Das bedeutet, dass die Spalte in einer Tabelle mehrere Instanzen eines Werts aufweisen kann, während die andere verknüpfte Tabelle, die häufig als Nachschlagetabelle bezeichnet wird, nur eine Instanz eines Werts besitzt.This means the column in one table can have more than one instance of a value, and the other related table, often know as the Lookup table, has only one instance of a value.

Eins zu Eins (1:1) – Dies bedeutet, dass die Spalte in einer Tabelle nur eine Instanz eines bestimmten Werts aufweist, wobei die andere verknüpfte Tabelle ebenfalls nur eine Instanz eines bestimmten Werts besitzt.One to One (1:1) - This means the column in one table has only one instance of a particular value, and the other related table has only one instance of a particular value.

Weitere Informationen über den geeigneten Zeitpunkt zum Ändern der Kardinalität finden Sie im Abschnitt "Informationen zu erweiterten Optionen" weiter unten in diesem Artikel.See the Understanding advanced options section later in this article for more details about when to change cardinality.

KreuzfilterrichtungCross filter direction

Beide – Dies ist die am häufigsten verwendete und somit die Standardrichtung.Both - This is the most common, default direction. Es bedeutet, dass beide Tabellen zu Filterzwecken so behandelt werden, als wären sie eine einzelne Tabelle.This means for filtering purposes, both tables are treated as if they're a single table. Dies funktioniert problemlos mit einer einzelnen Tabelle, die über eine Reihe von Nachschlagetabellen verfügt, die sie umgeben.This works well with a single table that has a number of lookup tables that surround it. Ein Beispiel dafür ist eine Tabelle von Ist-Umsatzwerten mit einer Nachschlagetabelle für Abteilung.An example is a Sales actuals table with a lookup table for department. Dies wird häufig als Sternschema-Konfiguration bezeichnet (eine zentrale Tabelle mit mehreren Nachschlagetabellen). Wenn Sie jedoch zwei oder mehr Tabellen haben, die ebenfalls über Nachschlagetabellen verfügen (wobei einige gemeinsam genutzt werden), empfiehlt es sich nicht, die Einstellung "Beide" zu verwenden.This is often called a Star schema configuration (a central table with several Lookup tables.) However, if you have two or more tables that also have lookup tables (with some in common) then you wouldn't want to use the Both setting. Um mit dem vorherigen Beispiel fortzufahren: In diesem Fall Sie haben Sie auch eine Tabelle "Budgetverkauf", die das Zielbudget für jede Abteilung aufzeichnet.To continue the previous example, in this case, you also have a budget sales table that records target budget for each department. Und die Abteilungstabelle ist sowohl mit der Umsatz- als auch mit der Budget-Tabelle verbunden.And, the department table is connected to both the sales and the budget table. Vermeiden Sie die Einstellung "Beide" für diese Art von Konfiguration.Avoid the Both setting for this kind of configuration.

Einfach – Dies bedeutet, dass Filteroptionen in verknüpften Tabellen auf die Tabelle angewendet werden, in der die Werte aggregiert werden.Single - This means that filtering choices in connected tables work on the table where values are being aggregated. Wenn Sie eine Power Pivot-Tabelle in ein Datenmodell von Excel 2013 oder früher importieren, weisen alle Beziehungen nur eine Richtung auf.If you import a Power Pivot in Excel 2013 or earlier data model, all relationships will have a single direction.

Weitere Informationen zum geeigneten Zeitpunkt zum Ändern der Kreuzfilterrichtung finden Sie im Abschnitt „Informationen zu erweiterten Optionen“, der später in diesem Artikel folgt.See the Understanding advanced options section later in this article for more details about when to change cross filter direction.

Aktivieren dieser BeziehungMake this relationship active

Wenn dieses Kontrollkästchen aktiviert ist, bedeutet dies, dass die Beziehung als aktive Standardbeziehung dient.When checked, this means the relationship serves as the active, default relationship. Wenn zwischen zwei Tabellen mehrere Beziehungen vorhanden sind, bietet die aktive Beziehung Power BI Desktop eine Möglichkeit, automatisch visuelle Elemente zu erstellen, die beide Tabellen einbeziehen.In cases where there are more than one relationship between two tables, the active relationship provides a way for Power BI Desktop to automatically create visualizations that include both tables.

Weitere Informationen zum geeigneten Zeitpunkt zum Aktivieren einer bestimmten Beziehung finden Sie im Abschnitt „Informationen zu erweiterten Optionen“, der später in diesem Artikel folgt.See the Understanding advanced options section later in this article for more details about when to make a particular relationship active.

Informationen zu BeziehungenUnderstanding relationships

Nachdem Sie zwei Tabellen mit einer Beziehung verbunden haben, können Sie mit den Daten in beiden Tabellen arbeiten, als würde es sich um eine einzelne Tabelle handeln. Dadurch brauchen Sie sich nicht um Details der Beziehung kümmern oder diese Tabellen vor dem Importieren auf eine einzelne Tabelle reduzieren.Once you have connected two tables together with a relationship, you can work with the data in both tables as if they were a single table, freeing you from having to worry about relationship details, or flattening those tables into a single table before importing them. In vielen Situationen kann Power BI Desktop automatisch Beziehungen erstellen, sodass es möglicherweise für Sie nicht erforderlich ist, dies selbst zu tun.In many situations, Power BI Desktop can automatically create relationships for you, so creating those relationships yourself might not even be needed. Wenn jedoch Power BI Desktop nicht mit hoher Zuverlässigkeit feststellen kann, dass eine Beziehung zwischen den beiden Tabellen besteht, wird die Beziehung nicht automatisch erstellt.However, if Power BI Desktop can’t determine with a high-degree of certainty that a relationship between two tables should exist, it will not automatically create the relationship . In diesem Fall müssen Sie die Beziehung zu erstellen.In that case, you will need to create the relationship.

Führen wir ein kurzes Lernprogramm durch, um Ihnen besser zu vermitteln, wie Beziehungen in Power BI Desktop funktionieren.Let’s do a little tutorial, to better show you how relationships work in Power BI Desktop.

Tipp

Sie können diese Lektion selbst durchführen.You can complete this lesson yourself. Kopieren Sie die nachfolgende Tabelle „Projektstunden“ in ein Excel-Arbeitsblatt, wählen Sie alle Zellen aus, und klicken Sie auf EINFÜGEN>Tabelle.Copy the ProjectHours table below into an Excel worksheet, select all of the cells, click INSERT > Table. Klicken Sie im Dialogfeld Tabelle erstellen einfach auf OK.In the Create Table dialog, just click OK. Nehmen Sie dann im Feld Tabellennamedie Eingabe Projektstundenvor.Then in Table Name, type ProjectHours. Gehen Sie für die Tabelle „UnternehmenProjekt“ auf dieselbe Weise vor.Do the same for the CompanyProject table. Sie können die Daten dann mithilfe der Option Daten abrufen in Power BI-Desktop importieren.You can then import the data by using Get Data in Power BI Desktop. Wählen Sie die Arbeitsmappe und Tabellen als Datenquelle aus.Select your workbook and tables as a data source.

Diese erste Tabelle, „Projektstunden“, stellt einen Datensatz von Arbeitstickets dar, der die Anzahl der Stunden aufzeichnet, die eine Person an einem bestimmten Projekt gearbeitet hat.This first table, ProjectHours, is a record of work tickets that record the number of hours a person has worked on a particular project.

ProjektstundenProjectHours

TicketTicket AbsenderSubmittedBy StundenHours ProjektProject SendedatumDateSubmit
10011001 Brewer, AlanBrewer, Alan 2222 BlauBlue 1/1/20131/1/2013
10021002 Brewer, AlanBrewer, Alan 2626 RotRed 2/1/20132/1/2013
10031003 Ito, ShuIto, Shu 3434 GelbYellow 12/4/201212/4/2012
10041004 Brewer, AlanBrewer, Alan 1313 OrangeOrange 1/2/20121/2/2012
10051005 Bowen, EliBowen, Eli 2929 ViolettPurple 10/1/201310/1/2013
10061006 Bento, NunoBento, Nuno 3535 GrünGreen 2/1/20132/1/2013
10071007 Hamilton, DavidHamilton, David 1010 GelbYellow 10/1/201310/1/2013
10081008 Han, MuHan, Mu 2828 OrangeOrange 1/2/20121/2/2012
10091009 Ito, ShuIto, Shu 2222 ViolettPurple 2/1/20132/1/2013
10101010 Bowen, EliBowen, Eli 2828 GrünGreen 10/1/201310/1/2013
10111011 Bowen, EliBowen, Eli 99 BlauBlue 10/15/201310/15/2013

Diese zweite Tabelle, „UnternehmenProjekt“, stellt eine Liste von Projekten mit zugeordneter Priorität dar: A, B oder C.This second table, CompanyProject, is a list of projects with an assigned priority, A, B, or C.

UnternehmenProjektCompanyProject

ProjektnameProjName PrioritätPriority
BlauBlue AA
RotRed BB
GrünGreen CC
GelbYellow CC
ViolettPurple BB
OrangeOrange CC

Beachten Sie, dass jede Tabelle eine Projektspalte besitzt.Notice that each table has a project column. Die Benennung ist etwas unterschiedlich, aber die Werte scheinen gleich zu sein.Each are named slightly different, but the values look like they’re the same. Das ist wichtig, und wir kommen in Kürze darauf zurück.That’s important, and we’ll get back to it in a little bit.

Nachdem wir die beiden Tabellen in ein Modell importiert haben, erstellen wir einen Bericht.Now that we have our two tables imported into a model, let’s create a report. Zuerst möchten wir die Anzahl der nach Projektpriorität übermittelten Stunden erhalten. Daher wählen wir unter „Felder“ Priorität und Stunden aus.The first thing we want to get is the number of hours submitted by project priority, so we select Priority and Hours from Fields.

Wenn Sie unsere Tabelle im Berichtszeichenbereich betrachten, sehen Sie, dass die Anzahl der Stunden 256,00 für jedes Projekt ergibt, was außerdem auch der Summe entspricht.If we look at our table in the Report canvas, you’ll see the number of hours is 256.00 for each project, and it’s also the total. Natürlich ist dies nicht korrekt.Clearly this isn’t correct. Warum?Why? Der Grund hierfür ist, dass es nicht möglich ist, aus Werten einer Tabelle (Stunden in der Tabelle „Projekt“), die durch Werte in einer anderen Tabelle („Priorität“ in der Tabelle „UnternehmenProjekt“) segmentiert werden, ohne eine Beziehung zwischen diesen beiden Tabellen eine Endsumme zu berechnen.It’s because we can’t calculate a sum total of values from one table (Hours in the Project table), sliced by values in another table (Priority in the CompanyProject table) without a relationship between these two tables.

Erstellen wir daher eine Beziehung zwischen diesen beiden Tabellen.So, let’s create a relationship between these two tables.

Erinnern Sie sich an die Spalten, die in beiden Tabellen mit einem Projektnamen vorhanden waren, jedoch mit anscheinend gleichen Werten?Remember those columns we saw in both tables with a project name, but with values that look alike? Wir werden diese beiden Spalten verwenden, um eine Beziehung zwischen den Tabellen zu erstellen.We’re going to use these two columns to create a relationship between our tables.

Warum diese Spalten?Why these columns? Wenn wir die Spalte „Projekt“ in der Tabelle „Projektstunden“ betrachten, sehen wir Werte wie „Blau“, „Rot“, „Gelb“, „Orange“ usw.Well, if we look at the Project column in the ProjectHours table, we see values like Blue, Red, Yellow, Orange, and so on. Tatsächlich sehen wir mehrere Zeilen, die denselben Wert enthalten.In fact, we see several rows that have the same value. Tatsächlich liegen viele Farbwerte für „Projekt“ vor.In-effect, we have many color values for Project.

Wenn wir die Spalte „Projektname“ in der Tabelle „UnternehmenProjekt“ betrachten, ist dort nur einer der einzelnen Farbwerte für „Projekt“ vorhanden.If we look at the ProjName column in the CompanyProject table, we see there’s only one of each of the color values for project. Jeder Farbwert in dieser Tabelle ist eindeutig, und das ist wichtig, da zwischen diesen beiden Tabellen eine Beziehung erstellt werden kann.Each color value in this table is unique, and that’s important, because we can create a relationship between these two tables. In diesem Fall eine n:1-Beziehung.In this case, a many-to-one relationship. In einer n:1-Beziehung muss mindestens eine Spalte in einer der Tabellen eindeutige Werte enthalten.In a many-to-one relationship, at least one column in one of the tables must contain unique values. Es gibt für einige Beziehungen erweiterte Optionen, die wir später betrachten. Zunächst jedoch erstellen wir eine Beziehung zwischen den Spalten „Projekt“ Spalten in den beiden Tabellen.There are some advanced options for some relationships, and we’ll look at those later, but for now, let’s create a relationship between the Project columns in each of our two tables.

So erstellen Sie eine neue BeziehungTo create the new relationship

  1. Klicken Sie auf Beziehungen verwalten.Click Manage Relationships.
  2. In Beziehungen verwaltenklicken Sie auf Neu.In Manage Relationships, click New. Daraufhin wird das Dialogfeld Beziehung erstellen geöffnet, in dem die für unsere Beziehung gewünschten Tabellen, Spalten und erweiterten Einstellungen ausgewählt werden können.This opens the Create Relationship dialog, where we can select the tables, columns, and any advanced settings we want for our relationship.
  3. Wählen Sie in der ersten Tabelle Projektstundenund dann die Spalte Projekt aus.In the first table, select ProjectHours, then select the Project column. Das ist die n-Seite („viele“) unserer Beziehung.This is the many side of our relationship.
  4. Wählen Sie in der zweiten Tabelle UnternehmenProjektund dann die Spalte Projektname aus.In the second table, select CompanyProject, then select the ProjName column. Dies ist die 1-Seite unserer Beziehung.This is the one side of our relationship.
  5. Fahren Sie fort, und klicken Sie sowohl im Dialogfeld Beziehung erstellen als auch im Dialogfeld Beziehungen verwalten auf OK .Go ahead and click OK in both the Create Relationship dialog and the Manage Relationships dialog.

Im Interesse der vollständigen Offenlegung wurde diese Beziehung soeben auf manuelle Weise erstellt.In the interest of full disclosure, you really just created this relationship the hard way. Wir hätten auch einfach im Dialogfeld „Beziehungen verwalten“ auf die Schaltfläche „AutoErmittlung“ klicken können.You could've just clicked on the Autodetect button in the Manage Relationships dialog. Tatsächlich würde die AutoErmittlung dies bereits beim Laden der Daten für Sie erledigen, wenn beide Spalten den gleichen Namen haben.In-fact, Autodetect would have already done it for you when you loaded the data if both columns had the same name. Aber wo bleibt da die Herausforderung?But, what’s the challenge in that?

Betrachten wir die Tabelle jetzt erneut im Berichtszeichenbereich.Now, let’s look at the table in our Report canvas again.

Das sieht doch schon viel besser aus, oder?Now that looks a whole lot better, doesn’t it?

Wenn wir die Stunden nach Priorität addieren, sucht Power BI Desktop nach jeder Instanz der eindeutigen Farbwerte in der Nachschlagetabelle „UnternehmenProjekt“ und dann nach jeder Instanz dieser Werte in der Tabelle „UnternehmenProjekt“, um dann für jeden eindeutigen Wert die Endsumme zu berechnen.When we sum up hours by Priority, Power BI Desktop will look for every instance of the unique color values in the CompanyProject lookup table, and then look for every instance of each of those values in the CompanyProject table, and calculate a sum total for each unique value.

Das war doch ziemlich einfach, und mithilfe der AutoErmittlung wäre es noch einfacher gewesen.That was pretty easy, in-fact, with Autodetect, you might not even have to do this much.

Informationen zu erweiterten OptionenUnderstanding advanced options

Wenn eine Beziehung entweder mithilfe der AutoErmittlung oder manuell erstellt wird, konfiguriert Power BI Desktop die erweiterten Optionen automatisch auf Basis der Daten in Ihren Tabellen.When a relationship is created, either with Autodetect or one you create manually, Power BI Desktop will automatically configure advanced options based on the data in your tables. Sie können erweiterte Beziehungseigenschaften konfigurieren, indem Sie im Dialogfeld „Beziehung erstellen/bearbeiten“ die Option „Erweiterte Optionen“ erweitern.You can configure advanced relationship properties by expanding Advanced options in the Create/Edit relationship dialog.

Wie bereits erwähnt, werden diese in der Regel automatisch festgelegt, und Sie müssen sich nicht darum kümmern. Es gibt jedoch verschiedene Situationen, in denen Sie die erweiterten Optionen möglicherweise selbst konfigurieren möchten.As we said, these are usually set automatically and you won’t need to mess with them; however, there are several situations where you might want to configure advanced options yourself.

Zukünftige Updates für die Daten erfordern eine andere KardinalitätFuture updates to the data require a different cardinality

Normalerweise kann Power BI Desktop automatisch die beste Kardinalität für die Beziehung bestimmen.Normally, Power BI Desktop can automatically determine the best cardinality for the relationship. Wenn Sie jedoch die automatische Einstellung außer Kraft setzen müssen, weil Sie wissen, dass sich die Daten in der Zukunft ändern, können Sie die Auswahl über das Steuerelement „Kardinalität“ vornehmen.If you do need to override the automatic setting, because you know the data will change in the future, you can select it in the Cardinality control. Betrachten wir ein Beispiel, in dem wir eine andere Kardinalität auswählen müssen.Let’s look at an example where we need to select a different cardinality.

Die nachfolgende Tabelle „UnternehmenPriorität“ stellt eine Liste aller UnternehmenProjekte und deren Priorität dar.The CompanyProjectPriority table below is a list of all company projects and their priority. Die Tabelle „Projektbudget“ umfasst die Projekte, deren Budget genehmigt wurde.The ProjectBudget table is the set of projects for which budget has been approved.

ProjektbudgetProjectBudget

Genehmigte ProjekteApproved Projects BudgetzuteilungBudgetAllocation ZuteilungsdatumAllocationDate
BlauBlue 40,00040,000 12/1/201212/1/2012
RotRed 100,000100,000 12/1/201212/1/2012
GrünGreen 50,00050,000 12/1/201212/1/2012

UnternehmenProjektPrioritätCompanyProjectPriority

ProjektProject PrioritätPriority
BlauBlue AA
RotRed BB
GrünGreen CC
GelbYellow CC
ViolettPurple BB
OrangeOrange CC

Wenn wir zwischen der Spalte „Projekt“ in der Tabelle „UnternehmenProjektPriorität“ und der Spalte „Genehmigte Projekte“ in der Tabelle „Projektbudget“ wie folgt eine Beziehung erstellen:If we create a relationship between the Project column in the CompanyProjectPriority table and ApprovedProjects column in the ProjectBudget table, like this:

wird für die Kardinalität automatisch Eins-zu-Eins („1: 1“) und für die Kreuzfilterrichtung „Beide“ festgelegt (wie dargestellt).Cardinality is automatically set to One-to-One (1:1), and cross filtering to be Both (as shown). Dies liegt daran, dass für Power BI Desktop die beste Kombination aus beiden Tabellen tatsächlich wie folgt aussieht:This is because to Power BI Desktop, the best combination of the two tables really looks like this:

ProjektProject PrioritätPriority BudgetzuteilungBudgetAllocation ZuteilungsdatumAllocationDate
BlauBlue AA 40,00040,000 12/1/201212/1/2012
RotRed BB 100,000100,000 12/1/201212/1/2012
GrünGreen CC 50,00050,000 12/1/201212/1/2012
GelbYellow CC

ViolettPurple BB

OrangeOrange CC

Zwischen den beiden Tabellen besteht eine 1:1-Beziehung, da in der Spalte „Projekt“ der kombinierten Tabelle keine sich wiederholenden Werte enthalten sind.There is a one-to-one relationship between our two tables because there are no repeating values in the combined table’s Project column. Die Spalte „Projekt“ ist eindeutig, da jeder Wert nur einmal auftritt. Daher können die Zeilen der beiden Tabellen ohne Duplizierung direkt kombiniert werden.The Project column is unique, because each value occurs only once, so, the rows from the two tables can be combined directly without any duplication.

Aber angenommen, Sie wissen, dass die Daten bei der nächsten Aktualisierung geändert werden.But, let’s say you know the data will change the next time you refresh it. Eine aktualisierte Version der Tabelle „Projektbudgeet“ weist jetzt zusätzliche Zeilen für „Blau“ und „Rot“ auf:A refreshed version of the ProjectBudget table now has additional rows for Blue and Red:

ProjektbudgetProjectBudget

Genehmigte ProjekteApproved Projects BudgetzuteilungBudgetAllocation ZuteilungsdatumAllocationDate
BlauBlue 40,00040,000 12/1/201212/1/2012
RotRed 100,000100,000 12/1/201212/1/2012
GrünGreen 50,00050,000 12/1/201212/1/2012
BlauBlue 80,00080,000 6/1/20136/1/2013
RotRed 90,00090,000 6/1/20136/1/2013

Das bedeutet, dass die beste Kombination der beiden Tabellen jetzt tatsächlich wie folgt aussieht:This means the best combination of the two tables now really looks like this:

ProjektProject PrioritätPriority BudgetzuteilungBudgetAllocation ZuteilungsdatumAllocationDate
BlauBlue AA 40,00040,000 12/1/201212/1/2012
RotRed BB 100,000100,000 12/1/201212/1/2012
GrünGreen CC 50,00050,000 12/1/201212/1/2012
GelbYellow CC

ViolettPurple BB

OrangeOrange CC

BlauBlue AA 8000080000 6/1/20136/1/2013
RotRed BB 9000090000 6/1/20136/1/2013

In dieser neuen kombinierten Tabelle weist die Spalte „Projekt“ sich wiederholende Werte auf.In this new combined table, the Project column has repeating values. Die beiden ursprünglichen Tabellen weisen nach der Aktualisierung der Tabelle keine 1:1-Beziehung auf.The two original tables won’t have a one-to-one relationship once the table is refreshed. Da wir wissen, dass zukünftige Updates in diesem Fall dazu führen, dass die Spalte „Projekt“ Duplikate enthält, möchten wir für die Kardinalität eine n:1-Beziehung (*:1) festlegen, wobei sich die n-Seite auf der „Projektbudget“-Seite und die 1-Seite auf der „UnternehmenProjekt“-Seite befinden soll.In this case, because we know those future updates will cause the Project column to have duplicates, we want to set the Cardinality to be Many-to-One (*:1), with the Many on the ProjectBudget side and the One on the CompanyProject side.

Anpassen der Kreuzfilterrichtung für einen komplexen Satz von Tabellen von BeziehungenAdjusting cross filter direction for a complex set of tables of relationships

Für die meisten Beziehungen wird die Kreuzfilterrichtung auf „Beide“ festgelegt.For most relationships, the cross filter direction is set to ‘Both’. Es gibt jedoch einige eher unübliche Umstände, unter denen Sie möglicherweise nicht die Standardoption festlegen, z. B. beim Importieren eines Modells, das mit einer älteren Version von Power Pivot erstellt wurde, in dem für jede Beziehung die Richtung „Einfach“ festgelegt ist.There are, however, some more uncommon circumstances where you might need to set this different from the default, like if you’re importing a model from an older version of Power Pivot, where every relationship is set to a single direction.

Mithilfe der Einstellung „Beide“ kann Power BI Desktop alle Aspekte von verknüpften Tabellen so behandeln, als würde es sich um eine einzelne Tabelle handeln.The Both setting enables Power BI Desktop to treat all aspects of connected tables as if they are a single table. Es gibt jedoch einige Situationen, in denen Power BI Desktop für die Kreuzfilterrichtung einer Beziehung nicht „Beide“ festlegen kann und es für Berichtszwecke außerdem einen eindeutigen Satz von Standardwerten zur Verfügung stellen muss.There are some situations, however, where Power BI Desktop cannot set a relationship’s cross filter direction to ‘Both’ and also keep an unambiguous set of defaults available for reporting purposes. Wenn für die Kreuzfilterrichtung der Beziehung nicht „Beide“ festlegt wird, liegt dies in der Regel daran, dass dies zur Mehrdeutigkeit führen würde.If a relationship cross filter direction isn't set to Both, then it’s usually because it would create ambiguity. Wenn die Standardeinstellung für die Kreuzfilterrichtung für Sie nicht geeignet ist, versuchen Sie, sie in Richtung einer bestimmten Tabelle oder auf „Beide“ festzulegen.If the default cross filter setting isn’t working for you, try setting it to a particular table or Both.

Die Kreuzfilterrichtung „Einfach“ funktioniert in vielen Situationen.Single direction cross filtering works for many situations. Wenn Sie ein Modell von Power Pivot in Excel 2013 oder älter importiert haben, wird für alle Beziehungen tatsächlich die Richtung „Einfach“ festgelegt.In fact, if you’ve imported a model from Power Pivot in Excel 2013 or earlier, all of the relationships will be set to single direction. Die Richtung „Einfach“ bedeutet, dass die Filteroptionen in verknüpften Tabellen für die Tabelle gelten, in der die Aggregation erfolgt.Single direction means that filtering choices in connected tables work on the table where aggregation work is happening. Gelegentlich kann es schwierig sein, die Kreuzfilterung zu verstehen, daher betrachten wir dazu ein Beispiel.Sometimes, understanding cross filtering can be a little difficult, so let’s look at an example.

Bei der Kreuzfilterungsrichtung „Einfach“ können Sie einen Bericht erstellen, der die Projektstunden addiert. Dann können Sie nach „UnternehmenProjekt“, „Priorität“ oder „UnternehmenMitarbeiter“, „Ort“ zusammenfassen (oder filtern).With single direction cross filtering, if you create a report that summarizes the project hours and then you can choose to summarize (or filter) by CompanyProject, Priority or CompanyEmployee, City. Wenn Sie jedoch die Anzahl der Mitarbeiter pro Projekt zählen möchten (eine seltenere Fragestellung) , funktioniert das nicht.If however, you want to count the number of employee per projects (a less common question), it won’t work. Sie erhalten eine Spalte mit Werten, die alle identisch sind.You’ll get a column of values that are all the same. Im nachfolgenden Beispiel wird für beide Beziehungen für die Kreuzfilterrichtung die Option „Einfach“ mit Bezug auf die Tabelle „Projektstunden“ festgelegt:In the example below, both relationships cross filtering direction is set to a single direction – towards the ProjectHours table:

Die Filterspezifikation verläuft von „UnternehmenProjekt“ zu „UnternehmenMitarbeiter“ (wie in der nachfolgenden Abbildung veranschaulicht), aber sie gelangt nicht hinauf zu „UnternehmenMitarbeiter“.Filter specification will flow from CompanyProject to CompanyEmployee (as shown in the image below) but, it won’t flow up to CompanyEmployee. Dies funktioniert jedoch, wenn Sie für die Kreuzfilterrichtung „Beide“ festlegen.However, if you set the cross filtering direction to Both it will work. Die Einstellung „Beide“ ermöglicht es der Filterspezifikation, zu „Mitarbeiter“ zu gelangen.The Both setting allows the filter specification to flow up to Employee.

Wenn für die Kreuzfilterrichtung „Beide“ festgelegt ist, werden unsere Berichte jetzt ordnungsgemäß angezeigt:With the cross filtering direction set to Both, our report now appears correct:

Die Kreuzfilterrichtung „Beide“ ist gut für Tabellenbeziehungen geeignet, deren Struktur der obigen ähnelt.Cross filtering both directions works well for a pattern of table relationships that look like the pattern above. Dies wird meist als Sternschema bezeichnet, ebenso wie das Folgende:This is most commonly called a star schema, like this:

Die Kreuzfilterrichtung ist nicht für allgemeinere Strukturen geeignet, die sich häufig in Datenbanken wie dem folgenden Diagramm finden:Cross filtering direction does not work well with a more general pattern often found in databases, like in this diagram:

Wenn eine solche Tabellenstruktur mit Schleifen vorliegt, kann die Kreuzfilterung zu mehrdeutigen Beziehungssätzen führen.If you have a table pattern like this, with loops, then cross filtering can create an ambiguous set of relationships. Wenn Sie z. B. ein Feld aus Tabelle „X“ zusammenfassen und anschließend nach einem Feld in Tabelle „Y“ filtern, dann ist nicht eindeutig, wie der Filter verlaufen soll, denn er kann die obere oder untere Tabelle durchqueren.For instance, if you sum up a field from TableX and then choose to filter by a field on TableY, then it’s not clear how the filter should travel, through the top table or the bottom table. Ein allgemeines Beispiel für diese Art von Struktur ist Tabelle „X“ als Umsatztabelle mit Ist-Umsatzdaten und Tabelle „Y“ mit Budgetdaten.A common example for this kind of pattern is TableX to be a Sales table with actuals data and for TableY to be budget data. Die Tabellen in der Mitte sind dann Nachschlagetabellen, die von beiden Tabellen genutzt werden, wie z. B. Division oder Region.Then, the tables in the middle are lookup tables that both tables use, such as Division or Region.

Wie bei aktiven/inaktiven Beziehungen gestattet es Power BI Desktop nicht, für eine Beziehung „Beide“ festzulegen, wenn dies im Bericht zur Uneindeutigkeit führt.Just like with active/inactive relationships, Power BI Desktop won’t allow a relationship to be set as Both if it will create ambiguity in reports. Es gibt verschiedene andere Möglichkeiten, wie Sie damit zurecht kommen. Dies sind die beiden am häufigsten verwendeten Methoden:There are several different ways you can deal with this, here are the two most common:

  • Löschen Sie Beziehungen, oder markieren Sie sie als „inaktiv“, um die Mehrdeutigkeit zu reduzieren.Delete or mark relationships as inactive to reduce ambiguity. Dann können Sie für die Kreuzfilterrichtung einer Beziehung möglicherweise die Option „Beide“ festlegen.Then you might be able to set a relationship cross filtering as Both.
  • Führen Sie die Tabelle zweimal zu (beim zweiten Mal unter anderem Namen), um Schleifen zu beseitigen.Bring in a table twice (with a different name the second time) to eliminate loops. Dadurch erhält die Struktur der Beziehungen ein Sternschema.This makes the pattern of relationships like a star schema. Bei einem Sternschema kann für alle Beziehungen die Option „Beide“ festgelegt werden.With a star schema all of the relationships can be set to Both.

Falsche aktive BeziehungWrong active relationship

Bei der automatischen Erstellung von Beziehungen stellt Power BI Desktop manchmal fest, dass zwischen zwei Tabellen mehrere Beziehungen vorliegen.When Power BI Desktop automatically creates relationships, it sometimes encounters more than one relationship between two tables. In diesem Fall wird nur eine der Beziehungen als „aktiv“ festgelegt.When this happens only one of the relationships is set to be active. Die aktive Beziehung dient als Standardbeziehung, sodass Power BI Desktop automatisch eine Visualisierung für Sie erstellen kann, wenn Sie Felder aus zwei verschiedenen Tabellen auswählen.The active relationship serves as the default relationship so that when you choose fields from two different tables, Power BI Desktop can automatically create a visualization for you. In einigen Fällen kann die automatisch ausgewählte Beziehung jedoch auch falsch sein.However, in some cases the automatically selected relationship can be wrong. Über das Dialogfeld „Beziehungen verwalten“ können Sie eine Beziehung als „aktiv“ oder „inaktiv“ festlegen. Sie können die aktive Beziehung auch im Dialogfeld „Beziehung bearbeiten“ festlegen.You can use the Manage Relationships dialog to set a relationship as active or inactive, or you can set the active relationship in the Edit relationship dialog.

Um sicherzustellen, dass eine Standardbeziehung vorhanden ist, gestattet Power BI Desktop gleichzeitig jeweils nur eine aktive Beziehung zwischen zwei Tabellen.To ensure there’s a default relationship, Power BI Desktop only allows a single active relationship between two tables at a given time. Daher müssen Sie zuerst die aktuelle Beziehung als „inaktiv“ festlegen und dann für die gewünschte Beziehung den Status „aktiv“ auswählen.So, you must first set the current relationship as inactive and then set the relationship you want to be active.

Betrachten wir dazu ein Beispiel.Let’s look at an example. Die erste Tabelle ist „ProjektTickets“ und die zweite „MitarbeiterFunktion“.This first table is ProjectTickets, and the next table is EmployeeRole.

ProjektTicketsProjectTickets

TicketTicket GeöffnetVonOpenedBy AbsenderSubmittedBy StundenHours ProjektProject SendedatumDateSubmit
10011001 Perham, TomPerham, Tom Brewer, AlanBrewer, Alan 2222 BlauBlue 1/1/20131/1/2013
10021002 Roman, DanielRoman, Daniel Brewer, AlanBrewer, Alan 2626 RotRed 2/1/20132/1/2013
10031003 Roth, DanielRoth, Daniel Ito, ShuIto, Shu 3434 GelbYellow 12/4/201212/4/2012
10041004 Perham, TomPerham, Tom Brewer, AlanBrewer, Alan 1313 OrangeOrange 1/2/20121/2/2012
10051005 Roman, DanielRoman, Daniel Bowen, EliBowen, Eli 2929 ViolettPurple 10/1/201310/1/2013
10061006 Roth, DanielRoth, Daniel Bento, NunoBento, Nuno 3535 GrünGreen 2/1/20132/1/2013
10071007 Roth, DanielRoth, Daniel Hamilton, DavidHamilton, David 1010 GelbYellow 10/1/201310/1/2013
10081008 Perham, TomPerham, Tom Han, MuHan, Mu 2828 OrangeOrange 1/2/20121/2/2012
10091009 Roman, DanielRoman, Daniel Ito, ShuIto, Shu 2222 ViolettPurple 2/1/20132/1/2013
10101010 Roth, DanielRoth, Daniel Bowen, EliBowen, Eli 2828 GrünGreen 10/1/201310/1/2013
10111011 Perham, TomPerham, Tom Bowen, EliBowen, Eli 99 BlauBlue 10/15/201310/15/2013

MitarbeiterfunktionEmployeeRole

MitarbeiterEmployee FunktionRole
Bento, NunoBento, Nuno ProjektmanagerProject Manager
Bowen, EliBowen, Eli ProjektleiterProject Lead
Brewer, AlanBrewer, Alan ProjektmanagerProject Manager
Hamilton, DavidHamilton, David ProjektleiterProject Lead
Han, MuHan, Mu ProjektleiterProject Lead
Ito, ShuIto, Shu ProjektleiterProject Lead
Perham, TomPerham, Tom ProjektträgerProject Sponsor
Roman, DanielRoman, Daniel ProjektträgerProject Sponsor
Roth, DanielRoth, Daniel ProjektträgerProject Sponsor

Es gibt hier eigentlich zwei Beziehungen.There are actually two relationships here. Eine Beziehung zwischen „Absender“ in der Tabelle „ProjektTickets“ und „Mitarbeiter“ in der Tabelle „MitarbeiterFunktion“, und die andere Beziehung zwischen „GeöffnetVon“ in der Tabelle „ProjektTickets“ und „Mitarbeiter“ in der Tabelle „MitarbeiterFunktion“.One is between SubmittedBy in the ProjectTickets table and Employee in the EmployeeRole table, and the other is between OpenedBy in the ProjectTickets table and Employee in the EmployeeRole table.

Wenn beide Beziehungen zum Modell hinzugefügt werden (zuerst „GeöffnetVon“), zeigt das Dialogfeld „Beziehungen verwalten“, dass „GeöffnetVon“ aktiv ist:If we add both relationships to the model (OpenedBy first), then the Manage Relationships dialog will show that OpenedBy is active:

Wenn jetzt ein Bericht erstellt wird, der die Felder „Funktion“ und „Mitarbeiter“ aus „MitarbeiterFunktion“ und das Feld „Stunden“ aus „ProjektTickets“ in einer Tabellenvisualisierung im Berichtszeichenbereich verwendet, dann werden ausschließlich Projektträger angezeigt, da sie als Einzige ein Projektticket geöffnet haben.Now, if we create a report that uses Role and Employee fields from EmployeeRole, and the Hours field from ProjectTickets in a table visualization in the Report canvas, we’ll see only project sponsors because they’re the only ones that opened a project ticket.

Die aktive Beziehung kann geändert und „Absender“ anstelle von „GeöffnetVon“ abgerufen werden.We can change the active relationship and get SubmittedBy instead of OpenedBy. Unter „Beziehungen verwalten“ wird die Beziehung „ProjektTickets(GeöffnetVon)“ zu „MitarbeiterFunktion(Mitarbeiter)“ deaktiviert und anschließend die Beziehung „ProjektTickets(Absender)“ zu „MitarbeiterFunktion(Mitarbeiter)“ aktiviert.In Manage Relationships, we uncheck the ProjectTickets(OpenedBy) to EmployeeRole(Employee) relationship, and then we check the Project Tickets(SubmittedBy) to EmployeeRole(Employee) relationship.

Anzeigen aller Beziehungen in der BeziehungsansichtSee all of your relationships in Relationship View

Ihr Modell umfasst manchmal mehrere Tabellen und komplexe Beziehungen zwischen ihnen.Sometimes your model has multiple tables and complex relationships between them. In der Beziehungsansicht in Power BI Desktop werden alle Beziehungen in Ihrem Modell sowie ihre Richtung und Kardinalität in einem leicht verständlichen und anpassbaren Diagramm angezeigt.Relationship View in Power BI Desktop shows all of the relationships in your model, their direction, and cardinality in an easy to understand and customizable diagram. Weitere Informationen finden Sie unter Beziehungsansicht in Power BI Desktop.To learn more, see Relationship View in Power BI Desktop.