BeziehungenRelationships

gilt für:  Ja SQL Server Analysis Services  Ja Azure Analysis Services  Ja Power BI PremiumAPPLIES TO: yesSQL Server Analysis Services yesAzure Analysis Services yesPower BI Premium

In tabellarischen Modellen ist eine Beziehung eine Verbindung, die Sie zwischen zwei Tabellen mit Daten erstellen.In tabular models, a relationship is a connection between two tables of data. Die Beziehung legt fest, wie die Daten in den beiden Tabellen korreliert werden sollen.The relationship establishes how the data in the two tables should be correlated. Eine Customers-Tabelle und eine Orders-Tabelle können z. B. verknüpft werden, um den Kundennamen anzuzeigen, der jeder Bestellung zugeordnet ist.For example, a Customers table and an Orders table can be related in order to show the customer name that is associated with each order.

Wenn Sie aus derselben Datenquelle importieren, werden Beziehungen, die bereits in Tabellen (in der Datenquelle) vorhanden sind, die Sie importieren möchten, im Modell neu erstellt.When importing from the same data source, relationships that already exist in tables (at the data source) that you choose to import will be re-created in the model. Sie können erkannte und neu erstellte Beziehungen automatisch anzeigen, indem Sie den Modell-Designer in der Diagrammsicht oder das Dialogfeld "Beziehungen verwalten" verwenden.You can view relationships that were detected and re-created automatically by using the model designer in Diagram View or by using the Manage Relationships dialog box. Sie können auch manuell neue Beziehungen zwischen Tabellen erstellen. Verwenden Sie dazu den Modell-Designer in der Diagrammsicht oder das Dialogfeld "Beziehung erstellen" oder "Beziehungen verwalten".You can also create new relationships between tables manually by using the model designer in Diagram View or by using the Create Relationship or Manage Relationships dialog box.

Nach dem Definieren von Beziehungen zwischen Tabellen, entweder automatisch während des Imports oder durch manuelle Erstellung, können Sie Daten mit den verknüpften Spalten und Suchwerten in verknüpften Tabellen filtern.After relationships between tables have been defined, either automatically during import or created manually, you will be able to filter data by using related columns and look up values in related tables.

Tipp

Wenn das Modell viele Beziehungen enthält, unterstützt Sie die Diagrammsicht dabei, die Beziehungen zwischen Tabellen besser darzustellen und neue Beziehungen zu erstellen.If your model contains many relationships, Diagram View can better help you better visualize and create new relationships between tables.

VorteileBenefits

Eine Beziehung ist eine Verbindung zwischen zwei Datentabellen, die auf mindestens einer Spalte in jeder Tabelle basiert.A relationship is a connection between two tables of data, based on one or more columns in each table. Um zu verstehen, warum Beziehungen nützlich sind, stellen Sie sich vor, dass Sie in Ihrem Unternehmen die Daten für Kundenbestellungen verfolgen möchten.To see why relationships are useful, imagine that you track data for customer orders in your business. Sie könnten alle Daten in einer einzelnen Tabelle verfolgen, die über eine Struktur wie die folgende verfügt:You could track all the data in a single table that has a structure like the following:

CustomerIDCustomerID NameName EMailEMail DiscountRateDiscountRate OrderIDOrderID OrderDateOrderDate Product (Produkt)Product MengeQuantity
11 AshtonAshton chris.ashton@contoso.com .05.05 256256 2010-01-072010-01-07 Compact DigitalCompact Digital 1111
11 AshtonAshton chris.ashton@contoso.com .05.05 255255 2010-01-032010-01-03 SLR CameraSLR Camera 1515
22 JaworskiJaworski michal.jaworski@contoso.com .10.10 254254 2010-01-032010-01-03 Budget Movie-MakerBudget Movie-Maker 2727

Dieser Ansatz kann umgesetzt werden, bedeutet aber, dass viele redundante Daten gespeichert werden müssen, z. B. die Kunden-E-Mail-Adresse für jede Bestellung.This approach can work, but it involves storing a lot of redundant data, such as the customer e-mail address for every order. Speicher ist zwar billig, aber wenn sich die E-Mail-Adresse eines Kunden ändert, müssen Sie sicherstellen, dass jede Zeile für diesen Kunden aktualisiert wird.Storage is cheap, but you have to make sure you update every row for that customer if the e-mail address changes. Eine Lösung für dieses Problem ist, die Daten in mehrere Tabellen aufzuteilen und zwischen diesen Tabellen Beziehungen zu definieren.One solution to this problem is to split the data into multiple tables and define relationships between those tables. Dies ist der Ansatz, der in relationalen Datenbanken wie SQL Server verwendet wird.This is the approach used in relational databases like SQL Server. Eine Datenbank, die Sie in ein Modell importieren, könnte die Bestelldaten z. B. mit drei verknüpften Tabellen darstellen:For example, a database that you import into a model might represent order data by using three related tables:

KundenCustomers

[CustomerID][CustomerID] NameName EmailEmail
11 AshtonAshton chris.ashton@contoso.com
22 JaworskiJaworski michal.jaworski@contoso.com

CustomerDiscountsCustomerDiscounts

[CustomerID][CustomerID] DiscountRateDiscountRate
11 .05.05
22 .10.10

OrdersOrders

[CustomerID][CustomerID] OrderIDOrderID OrderDateOrderDate Product (Produkt)Product MengeQuantity
11 256256 2010-01-072010-01-07 Compact DigitalCompact Digital 1111
11 255255 2010-01-032010-01-03 SLR CameraSLR Camera 1515
22 254254 2010-01-032010-01-03 Budget Movie-MakerBudget Movie-Maker 2727

Wenn Sie diese Tabellen aus derselben Datenbank importieren, kann der Import die Beziehungen zwischen den Tabellen basierend auf den Spalten in eckigen Klammern erkennen und diese Beziehungen im Modell-Designer reproduzieren.If you import these tables from the same database, Import can detect the relationships between the tables based on the columns that are in [brackets], and can reproduce these relationships in the model designer. Weitere Informationen finden Sie im Abschnitt Automatisches Erkennen und Ableiten von Beziehungen in diesem Artikel.For more information, see Automatic Detection and Inference of Relationships section in this article. Wenn Sie Tabellen aus mehreren Quellen importieren, können Sie Beziehungen manuell erstellen, wie unter Erstellen einer Beziehung zwischen zwei Tabellenbeschrieben.If you import tables from multiple sources, you can manually create relationships as described in Create a Relationship Between Two Tables.

Spalten und SchlüsselColumns and keys

Beziehungen basieren auf den Spalten in jeder Tabelle, die die gleichen Daten enthalten.Relationships are based on columns in each table that contain the same data. Die Tabellen "Customers" und "Orders" können z. B. miteinander verknüpft werden, da beide eine Spalte enthalten, in der eine Kundennummer (CustomerID) gespeichert ist.For example, the Customers and Orders tables can be related to each other because they both contain a column that stores a customer ID. Im Beispiel sind die Spaltennamen identisch, dies ist jedoch keine Voraussetzung.In the example, the column names are the same, but this is not a requirement. Eine Spalte kann beispielsweise den Namen "CustomerID" und die andere "CustomerNumber" besitzen, sofern alle Zeilen in der Tabelle "Orders" eine ID enthalten, die auch in der Tabelle "Customers" gespeichert ist.One could be CustomerID and another CustomerNumber, as long as all of the rows in the Orders table contain an ID that is also stored in the Customers table.

In einer relationalen Datenbank gibt es mehrere Typen von Schlüsseln, die in der Regel nur Spalten mit besonderen Eigenschaften sind.In a relational database, there are several types of keys, which are typically just columns with special properties. Die folgenden vier Schlüsseltypen können in relationalen Datenbanken verwendet werden:The following four types of keys can be used in relational databases:

  • Primärschlüssel: Identifiziert eine Zeile in einer Tabelle eindeutig, z.B. CustomerID in der Customers-Tabelle.Primary key: uniquely identifies a row in a table, such as CustomerID in the Customers table.

  • Alternativschlüssel (oder Kandidatenschlüssel): Eine eindeutige Spalte, die nicht mit dem Primärschlüssel identisch ist.Alternate key (or candidate key): a column other than the primary key that is unique. In einer Tabelle für Mitarbeiter kann beispielsweise eine Mitarbeiter-ID und eine Sozialunterstützungsnummer gespeichert werden, die beide eindeutig sind.For example, an Employees table might store an employee ID and a social security number, both of which are unique.

  • Fremdschlüssel: Eine Spalte, die auf eine eindeutige Spalte in einer anderen Tabelle verweist, z.B. die CustomerID-Spalte in der Orders-Tabelle, die auf CustomerID in der Customers-Tabelle verweist.Foreign key: a column that refers to a unique column in another table, such as CustomerID in the Orders table, which refers to CustomerID in the Customers table.

  • Zusammengesetzter Schlüssel: Ein Schlüssel, der aus mehr als einer Spalte besteht.Composite key: a key that is composed of more than one column. Zusammengesetzte Schlüssel werden in Tabellenmodellen nicht unterstützt.Composite keys are not supported in tabular models. Weitere Informationen finden Sie im Abschnitt zusammengesetzte Schlüssel und Such Spalten in diesem Artikel.For more information, see Composite Keys and Lookup Columns section in this article.

In Tabellenmodellen wird der Primärschlüssel oder Alternativschlüssel als verknüpfte Suchspalteoder einfach als Suchspaltebezeichnet.In tabular models, the primary key or alternate key is referred to as the related lookup column, or just lookup column. Wenn eine Tabelle sowohl über einen Primärschlüssel als auch einen Alternativschlüssel verfügt, können Sie beide als Suchspalte verwenden.If a table has both a primary and alternate key, you can use either as the lookup column. Der Fremdschlüssel wird als Quellspalte oder nur als Spaltebezeichnet.The foreign key is referred to as the source column or just column. In unserem Beispiel wird zwischen CustomerID in der Orders-Tabelle (die Spalte) und CustomerID (die Suchspalte) in der Customers-Tabelle eine Beziehung definiert.In our example, a relationship would be defined between CustomerID in the Orders table (the column) and CustomerID (the lookup column) in the Customers table. Wenn Sie Daten aus einer relationalen Datenbank importieren, wählt der Modell-Designer standardmäßig den Fremdschlüssel aus einer Tabelle und den entsprechenden Primärschlüssel aus der anderen Tabelle aus.If you import data from a relational database, by default the model designer chooses the foreign key from one table and the corresponding primary key from the other table. Sie können jedoch jede Spalte verwenden, die über eindeutige Werte für die Suchspalte verfügt.However, you can use any column that has unique values for the lookup column.

Typen von BeziehungenTypes of relationships

Die Beziehung zwischen Customers und Orders ist eine 1:n-Beziehung.The relationship between Customers and Orders is a one-to-many relationship. Jeder Kunde kann mehrere Bestellungen haben, aber eine Bestellung kann nicht mehrere Kunden haben.Every customer can have multiple orders, but an order cannot have multiple customers. Die anderen Typen von Beziehungen sind 1:1 und m:n.The other types of relationships are one-to-one and many-to-many. Zwischen der CustomerDiscounts-Tabelle, in der ein einzelner Diskontsatz für jeden Kunden definiert ist, und der Customers-Tabelle besteht eine 1:1-Beziehung.The CustomerDiscounts table, which defines a single discount rate for each customer, is in a one-to-one relationship with the Customers table. Ein Beispiel für eine m:n-Beziehung ist eine direkte Beziehung zwischen der Products-Tabelle und der Customer-Tabelle, bei der ein Kunde viele Produkte kaufen und ein Produkt von vielen Kunden gekauft werden kann.An example of a many-to-many relationship is a direct relationship between Products and Customers, in which a customer can buy many products and the same product can be bought by many customers. Der Modell-Designer unterstützt keine m:n-Beziehungen in der Benutzeroberfläche.The model designer does not support many-to-many relationships in the user interface. Weitere Informationen finden Sie im Abschnitt m:n-Beziehungen in diesem Artikel.For more information, see Many-to-Many Relationships section in this article.

In der folgenden Tabelle werden die Beziehungen zwischen den drei Tabellen angezeigt:The following table shows the relationships between the three tables:

BeziehungRelationship typeType SuchspalteLookup Column ColumnColumn
Customers-CustomerDiscountsCustomers-CustomerDiscounts 1:1one-to-one Customers.CustomerIDCustomers.CustomerID CustomerDiscounts.CustomerIDCustomerDiscounts.CustomerID
Customers-OrdersCustomers-Orders 1:none-to-many Customers.CustomerIDCustomers.CustomerID Orders.CustomerIDOrders.CustomerID

Beziehungen und LeistungRelationships and performance

Nach dem Erstellen einer Beziehung muss der Modell-Designer normalerweise alle Formeln neu berechnen, die Spalten aus den Tabellen in der neu erstellten Beziehung verwenden.After any relationship has been created, the model designer typically must recalculate any formulas that use columns from tables in the newly created relationship. Die Verarbeitung nimmt, je nach Datenmenge und Komplexität der Beziehungen, einige Zeit in Anspruch.Processing can take some time depending on the amount of data and the complexity of the relationships.

Requirements for relationshipsRequirements for relationships

Beim Erstellen von Beziehungen müssen im Modell-Designer mehrere Anforderungen beachtet werden:The model designer has several requirements that must be followed when creating relationships:

Nur eine aktive Beziehung zwischen zwei TabellenSingle Active Relationship between tables

Mehrere Beziehungen können zu mehrdeutigen Abhängigkeiten zwischen Tabellen führen.Multiple relationships could result in ambiguous dependencies between tables. Um genaue Berechnungen zu erstellen, benötigen Sie einen einzelnen Pfad von einer Tabelle zur nächsten Tabelle.To create accurate calculations, you need a single path from one table to the next. Daher kann es zwischen jedem Tabellenpaar nur eine aktive Beziehung geben.Therefore, there can be only one active relationship between each pair of tables. Beispiel: In AdventureWorks DW 2012 enthält die Tabelle DimDate eine Spalte DateKey, die mit drei verschiedenen Spalten in der Tabelle FactInternetSales verknüpft ist: OrderDate, DueDate und ShipDate.For example, in AdventureWorks DW 2012, the table, DimDate, contains a column, DateKey, that is related to three different columns in the table, FactInternetSales: OrderDate, DueDate, and ShipDate. Wenn Sie versuchen, diese Tabellen zu importieren, wird die erste Beziehung erfolgreich erstellt, bei den darauf folgenden Beziehungen, die dieselbe Spalte verwenden, wird jedoch der folgende Fehler ausgelöst:If you attempt to import these tables, the first relationship is created successfully, but you will receive the following error on successive relationships that involve the same column:

*Beziehung: Tabelle [Spalte 1]-> Tabelle [Spalte 2]-Status: Fehler-Ursache: Es kann keine Beziehung zwischen den Tabellen <table 1> und erstellt werden <table 2> .* Relationship: table[column 1]-> table[column 2] - Status: error - Reason: A relationship cannot be created between tables <table 1> and <table 2>. Zwischen zwei Tabellen kann nur eine direkte oder indirekte Beziehung vorhanden sein.Only one direct or indirect relationship can exist between two tables.

Wenn Sie zwei Tabellen mit mehreren Beziehungen zueinander haben, müssen Sie mehrere Kopien der Tabelle importieren, die die Suchspalte enthält, und dann eine Beziehung zwischen jedem Tabellenpaar erstellen.If you have two tables and multiple relationships between them, then you will need to import multiple copies of the table that contains the lookup column, and create one relationship between each pair of tables.

Es kann viele inaktive Beziehungen zwischen Tabellen geben.There can be many inactive relationships between tables. Der zwischen Tabellen zu verwendende Pfad wird vom Berichtserstellungsclient zur Abfragezeit angegeben.The path to use between tables is specified by the reporting client at query time.

Eine Beziehung pro QuellspalteOne relationship for each source column

Eine Quellspalte kann nicht an mehreren Beziehungen beteiligt sein.A source column cannot participate in multiple relationships. Wenn Sie eine Spalte bereits als Quellspalte in einer Beziehung verwendet haben, diese Spalte jedoch mit einer anderen zugehörigen Suchspalte in einer anderen Tabelle verknüpfen möchten, erstellen Sie eine Kopie der Spalte, und verwenden Sie diese Spalte für die neue Beziehung.If you have used a column as a source column in one relationship already, but want to use that column to connect to another related lookup column in a different table, you can create a copy of the column, and use that column for the new relationship.

Mithilfe einer DAX-Formel in einer berechneten Spalte kann problemlos eine Kopie einer Spalte mit exakt gleichen Werten erstellt werden.It is easy to create a copy of a column that has the exact same values, by using a DAX formula in a calculated column. Weitere Informationen finden Sie unter Erstellen einer berechneten Spalte.For more information, see Create a Calculated Column.

Eindeutiger Bezeichner für jede TabelleUnique identifier for each table

Jede Tabelle muss eine einzelne Spalte enthalten, die jede Zeile in dieser Tabelle eindeutig identifiziert.Each table must have a single column that uniquely identifies each row in that table. Diese Spalte wird oft als Primärschlüssel bezeichnet.This column is often referred to as the primary key.

Eindeutige SuchspaltenUnique lookup columns

Die Datenwerte in der Suchspalte müssen jedoch eindeutig sein.The data values in the lookup column must be unique. Die Spalte darf also keine Duplikate enthalten.In other words, the column cannot contain duplicates. In tabellarischen Modellen entsprechen NULL-Werte und leere Zeichenfolgen einem Leerzeichen, das einem eindeutigen Datenwert entspricht.In Tabular models, nulls and empty strings are equivalent to a blank, which is a distinct data value. Das bedeutet, dass die Suchspalte nicht mehrere NULL-Werte enthalten darf.This means that you cannot have multiple nulls in the lookup column.

Kompatible DatentypenCompatible data types

Die Datentypen in der Quellspalte und Suchspalte müssen kompatibel sein.The data types in the source column and lookup column must be compatible. Weitere Informationen zu-Datentypen finden Sie unter Unterstützte Datentypen.For more information about data types, see Data Types Supported.

Zusammengesetzte Schlüssel und SuchspaltenComposite keys and lookup columns

Sie können zusammengesetzte Schlüssel nicht in einem Tabellenmodell verwenden. Es muss immer eine Spalte vorhanden sein, die jede Zeile in der Tabelle eindeutig identifiziert.You cannot use composite keys in a tabular model; you must always have one column that uniquely identifies each row in the table. Wenn Sie versuchen, Tabellen mit einer vorhandenen Beziehung auf Grundlage eines zusammengesetzten Schlüssels zu importieren, ignoriert der Import diese Beziehung, da Sie nicht im tabellarischen Modell erstellt werden kann.If you try to import tables that have an existing relationship based on a composite key, Import will ignore that relationship because it cannot be created in the tabular model.

Wenn Sie im Modell-Designer eine Beziehung zwischen zwei Tabellen erstellen möchten und mehrere Spalten die Primär- und Fremdschlüssel definieren, müssen Sie die Werte kombinieren, um vor dem Erstellen der Beziehung eine einzelne Schlüsselspalte zu erstellen.If you want to create a relationship between two tables in the model designer, and there are multiple columns defining the primary and foreign keys, you must combine the values to create a single key column before creating the relationship. Sie können dies vor dem Importieren von Daten durchführen, oder Sie können den Schritt im Modell-Designer ausführen, indem Sie eine berechnete Spalte erstellen.You can do this before you import the data, or you can do this in the model designer by creating a calculated column.

M:n-BeziehungenMany-to-many relationships

Tabellarische Modelle mit dem Kompatibilitäts Grad 1500 und höher, der für Azure Analysis Services bereitgestellt wird, SQL Server 2019 Analysis Services und Power BI Premium m:n-Beziehungen unterstützen.Tabular models at the 1500 and higher compatibility level deployed to Azure Analysis Services, SQL Server 2019 Analysis Services, and Power BI Premium support many-to-many relationships.

Bei m:n-Beziehungen handelt es sich um die Beziehungen zwischen Tabellen, bei denen beide Spalten nicht eindeutig sind.Many-to-many relationships are those between tables where both columns are non-unique. Eine Beziehung kann zwischen einer Dimension und einer Faktentabelle mit einer Granularität, die höher als die der Schlüsselspalte der Dimension ist, definiert werden.A relationship can be defined between a dimension and fact table at a granularity higher than the key column of the dimension. Dies vermeidet die Normalisierung von Dimensionstabellen und verbessert möglicherweise die Benutzerfreundlichkeit, da das resultierende Modell eine geringere Anzahl von Tabellen mit logisch gruppierten Spalten enthält.This avoids having to normalize dimension tables and can improve the user experience because the resulting model has a smaller number of tables with logically grouped columns.

Erstellen von m:n-Beziehungen mithilfe von Visual Studio 2019 mit Analysis Services Projekten, der BLOB-API (tabellarische Objektmodell), tmsl (tabellarische Modell Skriptsprache) und dem Open-Source-Tabellen-Editor-Tool.Create many-to-many relationships by using Visual Studio 2019 with Analysis Services projects, the Tabular Object Model (TOM) API, Tabular Model Scripting Language (TMSL), and the open-source Tabular Editor tool.

Tabellarische Modelle mit den Kompatibilitäts Graden 1400 und niedriger unterstützen keine m:n-Beziehungen, und Sie können keine Verknüpfungs Tabellen im Modell-Designer hinzufügen.Tabular models at the 1400 and lower compatibility levels do not support many-to-many relationships, and you cannot add junction tables in the model designer. Sie können jedoch DAX-Funktionen verwenden, um m:n-Beziehungen zu modellieren.However, you can use DAX functions to model many-to-many relationships. Sie können auch versuchen, mit einem bidirektionalen Kreuzfilter das gleiche Ziel zu erreichen.You can also try setting up a bi-directional cross filter to see if it achieves the same purpose. Manchmal können die Anforderungen einer m:n-Beziehung durch Kreuz Filter erfüllt werden, die einen Filter Kontext über mehrere Tabellen Beziehungen hinweg beibehalten.Sometimes the requirement of many-to-many relationship can be satisfied through cross filters that persist a filter context across multiple table relationships. Ausführliche Informationen finden Sie unter bidirektionale Kreuz Filter in tabellarischen Modellen .See Bi-directional cross filters in tabular models for details.

Selbstjoins und SchleifenSelf-joins and loops

Selbstjoins sind in Tabellenmodelltabellen nicht zulässig.Self-joins are not permitted in tabular model tables. Ein Selbstjoin ist eine rekursive Beziehung einer Tabelle mit sich selbst.A self-join is a recursive relationship between a table and itself. Selbstjoins werden oft verwendet, um Über-/Unterordnungshierarchien zu definieren.Self-joins are often used to define parent-child hierarchies. Sie könnten z.B. eine Employees-Tabelle mit sich selbst verknüpfen, um eine Hierarchie zu erzeugen, die die Managementkette in einem Unternehmen anzeigt.For example, you could join an Employees table to itself to produce a hierarchy that shows the management chain at a business.

Im Modell-Designer können in einem Modell keine Schleifen zwischen Beziehungen erstellt werden.The model designer does not allow loops to be created among relationships in a model. Anders gesagt sind folgende Beziehungen unzulässig.In other words, the following set of relationships is prohibited.

Tabelle 1, Spalte a zu Tabelle 2, Spalte fTable 1, column a to Table 2, column f

Tabelle 2, Spalte f zu Tabelle 3, Spalte nTable 2, column f to Table 3, column n

Tabelle 3, Spalte n zu Tabelle 1, Spalte aTable 3, column n to Table 1, column a

Wenn Sie versuchen, eine Beziehung zu erstellen, die die Erstellung einer Schleife bedingt, wird ein Fehler ausgelöst.If you try to create a relationship that would result in a loop being created, an error is generated.

Inference of relationshipsInference of relationships

In einigen Fällen werden Beziehungen zwischen Tabellen automatisch verkettet.In some cases, relationships between tables are automatically chained. Wenn Sie beispielsweise eine Beziehung zwischen den beiden ersten unten aufgeführten Tabellenpaaren erstellen, wird abgeleitet, dass auch zwischen den Tabellen des dritten Tabellenpaars eine Beziehung besteht, die dann automatisch erstellt wird.For example, if you create a relationship between the first two sets of tables below, a relationship is inferred to exist between the other two tables, and a relationship is automatically established.

Products und Category -- manuell erstelltProducts and Category -- created manually

Category und SubCategory -- manuell erstelltCategory and SubCategory -- created manually

Products und SubCategory -- Beziehung wird abgeleitetProducts and SubCategory -- relationship is inferred

Damit Beziehungen automatisch verkettet werden, müssen die Beziehungen in eine Richtung zeigen, so wie oben gezeigt.In order for relationships to be automatically chained, the relationships must go in one direction, as shown above. Wenn ursprünglich z. B. Beziehungen zwischen Sales und Products und Sales und Customers bestehen, wird keine Beziehung abgeleitet.If the initial relationships were between, for example, Sales and Products, and Sales and Customers, a relationship is not inferred. Das liegt daran, dass die Beziehung zwischen Products und Customers eine m:n-Beziehung ist.This is because the relationship between Products and Customers is a many-to-many relationship.

Detection of relationships when importing dataDetection of relationships when importing data

Wenn Sie aus einer relationalen Datenquellen Tabelle importieren, werden vorhandene Beziehungen zwischen Tabellen basierend auf den Quell Schema Daten erkannt.When you import from a relational data source table, existing relationships are detected between tables based on the source schema data. Wenn verknüpfte Tabellen importiert werden, werden diese Beziehungen im Modell repliziert.If related tables are imported, those relationships will be replicated in the model.

Manually create relationshipsManually create relationships

Während die meisten Beziehungen zwischen Tabellen in einer einzelnen relationalen Datenquelle automatisch erkannt und im Tabellenmodell erstellt werden, gibt es auch viele Instanzen, bei denen Beziehungen zwischen Modelltabellen manuell erstellt werden müssen.While most relationships between tables in a single relational data source will be detected automatically, and created in the tabular model, there are also many instances where you must manually create relationships between model tables.

Wenn das Modell Daten aus mehreren Quellen enthält, müssen Beziehungen wahrscheinlich manuell erstellt werden.If your model contains data from multiple sources, you will likely have to manually create relationships. Zum Beispiel können Sie Customers-, CustomerDiscounts- und Orders-Tabellen aus einer relationalen Datenquelle importieren.For example, you may import Customers, CustomerDiscounts, and Orders tables from a relational data source. Beziehungen, die zwischen diesen Tabellen an der Quelle vorhanden sind, werden automatisch im Modell erstellt.Relationships existing between those tables at the source are automatically created in the model. Anschließend fügen Sie möglicherweise eine andere Tabelle aus einer anderen Quelle hinzu, zum Beispiel importieren Sie Bereichsdaten aus einer Geografietabelle in eine Microsoft Excel-Arbeitsmappe.You may then add another table from a different source, for example, you import region data from a Geography table in a Microsoft Excel workbook. Sie können dann manuell eine Beziehung zwischen einer Spalte in der Customers-Tabelle und einer Spalte in der Geografietabelle erstellen.You can then manually create a relationship between a column in the Customers table and a column in the Geography table.

Um Beziehungen in einem Tabellenmodell manuell zu erstellen, können Sie den Modell-Designer in der Diagrammsicht oder das Dialogfeld "Beziehungen verwalten" verwenden.To manually create relationships in a tabular model, you can use the model designer in Diagram View or by using the Manage Relationships dialog box. In der Diagrammsicht werden Tabellen mit den bestehenden Beziehungen in einem grafischen Format angezeigt.The diagram view displays tables, with relationships between them, in a graphical format. Sie können auf eine Spalte in einer Tabelle klicken und den Cursor in eine andere Tabelle ziehen, um problemlos in der richtigen Reihenfolge eine Beziehung zwischen den Tabellen zu erstellen.You can click a column in one table and drag the cursor to another table to easily create a relationship, in the correct order, between the tables. Im Dialogfeld "Beziehungen verwalten" werden Beziehungen zwischen Tabellen in einem einfachen Tabellenformat angezeigt.The Manage Relationships dialog box displays relationships between tables in a simple table format. Informationen zum manuellen Erstellen von Beziehungen finden Sie unter Erstellen einer Beziehung zwischen zwei Tabellen.To learn how to manually create relationships, see Create a Relationship Between Two Tables.

Duplicate values and other errorsDuplicate values and other errors

Wenn Sie eine Spalte auswählen, die nicht in der Beziehung verwendet werden kann, wird ein rotes X neben der Spalte angezeigt.If you choose a column that cannot be used in the relationship, a red X appears next to the column. Sie können den Mauszeiger auf das Fehlersymbol bewegen, um eine Meldung anzuzeigen, die weitere Informationen zum Problem enthält.You can pause the cursor over the error icon to view a message that provides more information about the problem. Beispiele für Probleme, die es unmöglich machen können, eine Beziehung zwischen den ausgewählten Spalten zu erstellen, sind:Problems that can make it impossible to create a relationship between the selected columns include the following:

Problem oder MeldungProblem or message AuflösungResolution
Die Beziehung kann nicht erstellt werden, weil beide ausgewählte Spalten doppelte Werte enthalten.The relationship cannot be created because both columns selected contain duplicate values. Um eine gültige Beziehung zu erstellen, muss mindestens eine Spalte des ausgewählten Paars ausschließlich eindeutige Werte enthalten.To create a valid relationship, at least one column of the pair that you select must contain only unique values.

Sie können entweder die Spalten bearbeiten, um Duplikate zu entfernen, oder Sie können die Reihenfolge der Spalten umkehren, sodass die Spalte, die die eindeutigen Werte enthält, als Verknüpfte Suchspalteverwendet wird.You can either edit the columns to remove duplicates, or you can reverse the order of the columns so that the column that contains the unique values is used as the Related Lookup Column.
Die Spalte enthält eine NULL oder einen leeren Wert.The column contains a null or empty value. Datenspalten können nicht über einen NULL-Wert miteinander verknüpft werden.Data columns cannot be joined to each other on a null value. Für jede Zeile muss in beiden Spalten, die in einer Beziehung verwendet werden, ein Wert enthalten sein.For every row, there must be a value in both of the columns that are used in a relationship.

Weitere InformationenSee also

ArtikelArticle BESCHREIBUNGDescription
Beziehung zwischen zwei Tabellen erstellenCreate a Relationship Between Two Tables Beschreibt, wie Sie manuell eine Beziehung zwischen zwei Tabellen erstellen.Describes how to manually create a relationship between two tables.
Löschen von BeziehungenDelete Relationships Beschreibt das Löschen einer Beziehung und welche Auswirkungen dies haben kann.Describes how to delete a relationship and the ramifications of deleting relationships.
Bidirektionale KreuzfilterBi-directional cross filters Beschreibt bidirektionale Kreuzfilter für verknüpfte Tabellen.Describes two-way cross filtering for related tables. Wenn die Tabellen verknüpft und bidirektionale Kreuzfilter definiert sind, kann der Filterkontext einer Tabellenbeziehung beim Abfragen einer zweiten Tabellenbeziehung verwendet werden.A filter context of one table relationship can be used when querying across a second table relationship if tables are related and bi-directional cross filters are define.