Eines der leistungsstärksten Features in Power Pivot ist die Möglichkeit, Beziehungen zwischen Tabellen zu erstellen und dann die zugehörigen Tabellen zum Suchen oder Filtern verwandter Daten zu verwenden. Sie rufen verwandte Werte aus Tabellen ab, indem Sie die Formelsprache verwenden, die mitPower Pivot, Data Analysis Expressions (DAX) bereitgestellt wird. DAX verwendet ein relationales Modell und kann daher verwandte oder entsprechende Werte in einer anderen Tabelle oder Spalte einfach und genau abrufen. Wenn Sie mit SVERWEIS in Excel vertraut sind, ist diese Funktionalität in Power Pivot ähnlich, aber viel einfacher zu implementieren.
Sie können Formeln erstellen, die Nachschlagevorgänge als Teil einer berechneten Spalte oder als Teil eines Measures für die Verwendung in einer PivotTable oder einem PivotChart ausführen. Weitere Informationen finden Sie unter den folgenden Themen:
Berechnete Felder in Power Pivot
Berechnete Spalten in Power Pivot
In diesem Abschnitt werden die FÜR die Suche bereitgestellten DAX-Funktionen zusammen mit einigen Beispielen zur Verwendung der Funktionen beschrieben.
Hinweis: Abhängig von der Art des Suchvorgangs oder der Nachschlageformel, die Sie verwenden möchten, müssen Sie möglicherweise zuerst eine Beziehung zwischen den Tabellen erstellen.
Grundlegendes zu Nachschlagefunktionen
Die Möglichkeit, übereinstimmende oder verwandte Daten aus einer anderen Tabelle nachzuschlagen, ist besonders nützlich in Situationen, in denen die aktuelle Tabelle nur einen Bezeichner einer Art aufweist, aber die benötigten Daten (z. B. Produktpreis, Name oder andere detaillierte Werte) in einer verknüpften Tabelle gespeichert werden. Es ist auch nützlich, wenn mehrere Zeilen in einer anderen Tabelle vorhanden sind, die mit der aktuellen Zeile oder dem aktuellen Wert verknüpft sind. Beispielsweise können Sie ganz einfach alle Verkäufe abrufen, die mit einer bestimmten Region, einem bestimmten Geschäft oder einem bestimmten Vertriebsmitarbeiter verknüpft sind.
Im Gegensatz zu Excel-Suchfunktionen wie SVERWEIS, die auf Arrays basieren, oder LOOKUP, das den ersten von mehreren übereinstimmenden Werten abruft, folgt DAX vorhandenen Beziehungen zwischen Tabellen, die durch Schlüssel verknüpft sind, um den einzelnen verknüpften Wert abzurufen, der genau übereinstimmt. DAX kann auch eine Tabelle mit Datensätzen abrufen, die sich auf den aktuellen Datensatz beziehen.
Hinweis: Wenn Sie mit relationalen Datenbanken vertraut sind, können Sie sich Lookups in Power Pivot ähnlich wie eine geschachtelte subselect-Anweisung in Transact-SQL vorstellen.
Abrufen eines einzelnen verknüpften Werts
Die RELATED-Funktion gibt einen einzelnen Wert aus einer anderen Tabelle zurück, die mit dem aktuellen Wert in der aktuellen Tabelle verknüpft ist. Sie geben die Spalte an, die die gewünschten Daten enthält, und die Funktion folgt vorhandenen Beziehungen zwischen Tabellen, um den Wert aus der angegebenen Spalte in der verknüpften Tabelle abzurufen. In einigen Fällen muss die Funktion einer Kette von Beziehungen folgen, um die Daten abzurufen.
Angenommen, Sie verfügen über eine Liste der heutigen Sendungen in Excel. Die Liste enthält jedoch nur eine Mitarbeiter-ID, eine Auftrags-ID-Nummer und eine Versand-ID-Nummer, sodass der Bericht schwer lesbar ist. Um die gewünschten zusätzlichen Informationen zu erhalten, können Sie diese Liste in eine Power Pivot verknüpfte Tabelle konvertieren und dann Beziehungen zu den Tabellen Employee und Reseller erstellen, wobei EmployeeID mit dem Feld EmployeeKey und ResellerID mit dem Feld ResellerKey übereinstimmt.
Um die Nachschlageinformationen in der verknüpften Tabelle anzuzeigen, fügen Sie zwei neue berechnete Spalten mit den folgenden Formeln hinzu:
= RELATED('Employees'[EmployeeName])
= RELATED('Resellers'[CompanyName])Die heutigen Sendungen vor der Suche
OrderID |
EmployeeID |
ResellerID |
---|---|---|
100314 |
230 |
445 |
100315 |
15 |
445 |
100316 |
76 |
108 |
Tabelle "Employees"
EmployeeID |
Employee |
Handelspartner |
---|---|---|
230 |
Kuppa Vamsi |
Modulare Zyklussysteme |
15 |
Pilar Ackeman |
Modulare Zyklussysteme |
76 |
Kim Ralls |
Zugeordnete Fahrräder |
Heutige Sendungen mit Nachschlagevorgängen
OrderID |
EmployeeID |
ResellerID |
Employee |
Handelspartner |
---|---|---|---|---|
100314 |
230 |
445 |
Kuppa Vamsi |
Modulare Zyklussysteme |
100315 |
15 |
445 |
Pilar Ackeman |
Modulare Zyklussysteme |
100316 |
76 |
108 |
Kim Ralls |
Zugeordnete Fahrräder |
Die Funktion verwendet die Beziehungen zwischen der verknüpften Tabelle und der Tabelle Employees and Resellers, um den richtigen Namen für jede Zeile im Bericht abzurufen. Sie können auch verwandte Werte für Berechnungen verwenden. Weitere Informationen und Beispiele finden Sie unter RELATED Function.
Abrufen einer Liste verwandter Werte
Die RELATEDTABLE-Funktion folgt einer vorhandenen Beziehung und gibt eine Tabelle zurück, die alle übereinstimmenden Zeilen aus der angegebenen Tabelle enthält. Angenommen, Sie möchten herausfinden, wie viele Bestellungen jeder Wiederverkäufer in diesem Jahr aufgegeben hat. Sie können eine neue berechnete Spalte in der Tabelle Resellers erstellen, die die folgende Formel enthält, die Datensätze für jeden Wiederverkäufer in der ResellerSales_USD Tabelle sucht und die Anzahl der einzelnen Bestellungen zählt, die von jedem Wiederverkäufer aufgegeben wurden.
=COUNTROWS(RELATEDTABLE(ResellerSales_USD))
In dieser Formel ruft die RELATEDTABLE-Funktion zuerst den Wert von ResellerKey für jeden Vertriebspartner in der aktuellen Tabelle ab. (Sie müssen die ID-Spalte nicht an einer beliebigen Stelle in der Formel angeben, da Power Pivot die vorhandene Beziehung zwischen den Tabellen verwendet.) Die RELATEDTABLE-Funktion ruft dann alle Zeilen aus der ResellerSales_USD Tabelle ab, die sich auf die einzelnen Handelspartner beziehen, und zählt die Zeilen. Wenn keine Beziehung (direkt oder indirekt) zwischen den beiden Tabellen besteht, erhalten Sie alle Zeilen aus der ResellerSales_USD Tabelle.
Für den Wiederverkäufer Modular Cycle Systems in unserer Beispieldatenbank gibt es vier Aufträge in der Sales-Tabelle, sodass die Funktion 4 zurückgibt. Für Associated Bikes hat der Wiederverkäufer keine Verkäufe, sodass die Funktion ein Leerzeichen zurückgibt.
Handelspartner |
Datensätze in der Vertriebstabelle für diesen Wiederverkäufer |
|
---|---|---|
Modulare Zyklussysteme |
Reseller ID |
SalesOrderNumber |
445 |
SO53494 |
|
445 |
SO71872 |
|
445 |
SO65233 |
|
445 |
SO59000 |
|
Reseller ID |
SalesOrderNumber |
|
Zugeordnete Fahrräder |
Hinweis: Da die RELATEDTABLE-Funktion eine Tabelle und keinen einzelnen Wert zurückgibt, muss sie als Argument für eine Funktion verwendet werden, die Vorgänge für Tabellen ausführt. Weitere Informationen finden Sie unter RELATEDTABLE-Funktion.