Erstellen einer berechneten Tabelle

Gilt für: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Eine berechnete Tabelle ist ein berechnetes Objekt, basierend entweder auf einer DAX-Abfrage oder einem -Ausdruck, abgeleitet aus ganzen oder Teilen anderer Tabellen im gleichen Modell.

Ein weit verbreitetes Entwurfsproblem, das berechnete Tabellen lösen können, ist das Hervorholen einer Dimension mit unterschiedlichen Rollen in einem bestimmten Kontext, damit Sie diese als eine Abfragestruktur in Clientanwendungen anzeigen können. Vielleicht erinnern Sie sich daran, dass eine Role-Playing-Dimension einfach eine Tabelle ist, die in mehreren Kontexten angezeigt wird. Ein klassisches Beispiel ist die Date-Tabelle, die je nach Fremdschlüsselbeziehung als OrderDate, ShipDate oder DueDate manifestiert ist. Indem Sie explizit eine berechnete Tabelle für ShipDate erstellen, erhalten Sie eine eigenständige Tabelle, die für Abfragen verfügbar und gleich funktionsfähig wie jede andere Tabelle ist. Eine weitere Verwendung umfasst das Konfigurieren eines gefilterten Rowsets, einer Teilmenge oder einer Obermenge von Spalten aus anderen vorhandenen Tabellen. Dadurch wird die ursprüngliche Tabelle intakt gehalten, während Sie Variationen dieser Tabelle erstellen, um bestimmte Szenarios zu unterstützen.

Die Verwendung von berechneten Tabellen zur optimalen Vorteilserzielung erfordert, dass Sie sich zumindest etwas mit DAX auskennen. Wenn Sie mit Ausdrücken für Ihre Tabelle arbeiten, kann es hilfreich sein zu wissen, dass eine berechnete Tabelle eine einzelne Partition mit einer DAXSource enthält, wobei der Ausdruck ein DAX-Ausdruck ist.
Es gibt für jede, vom Ausdruck zurückgegebene Spalte eine CalculatedTableColumn, bei der die SourceColumn der Name der zurückgegebenen Spalte ist (ähnlich zu DataColumns in nicht berechneten Tabellen).

Mindestens eine Tabelle muss bereits vorhanden sein, bevor Sie eine berechnete Tabelle erstellen können. Wenn Sie eine berechnete Tabelle als eigenständiges berechnetes Tabellenobjekt erstellen, können Sie zunächst eine Tabelle erstellen, indem Sie aus einer Dateidatenquelle (csv, xls, xml) importieren. Die Datei, aus der Sie importieren, kann eine einzelne Spalte und einen einzelnen Wert aufweisen. Sie können diese Tabelle dann ausblenden.

So erstellen Sie eine berechnete Tabelle

  1. Überprüfen Sie zunächst, ob das tabellarische Modell über einen Kompatibilitätsgrad von 1200 oder höher verfügt. Sie können die Kompatibilitätsgrad -Eigenschaft für das Modell in SSDT überprüfen.

  2. Wechseln Sie zur Datensicht. Sie können in der Diagrammansicht keine berechnete Tabelle erstellen.

  3. Wählen Sie Tabelle>Neue berechnete Tabelle aus.

  4. Geben Sie einen DAX-Ausdruck ein, oder fügen Sie ihn ein (einige Ideen finden Sie unten).

  5. Geben Sie der Tabelle einen Namen.

  6. Erstellen Sie Beziehungen zu anderen Tabellen im Modell. Informationen zu diesem Schritt finden Sie unter Erstellen einer Beziehung zwischen zwei Tabellen .

  7. Verweisen Sie in Berechnungen oder Ausdrücken in Ihrem Modell auf die berechnete Tabelle, oder verwenden Sie Analysieren in Excel für das Ad-hoc-Durchsuchen von Daten.

Replizieren einer Dimension mit unterschiedlichen Rollen

Geben Sie in der Bearbeitungsleiste eine DAX-Formel ein, die eine Kopie einer anderen Tabelle abruft. Geben Sie der berechneten Tabelle, nachdem sie aufgefüllt wurde, einen beschreibenden Namen, und richten Sie dann eine Beziehung ein, die den rollenspezifischen Fremdschlüssel verwendet. Beispielsweise könnten Sie in der AdventureWorks-Datenbank eine berechnete Tabelle für das Fälligkeitsdatum erstellen und den DueDateKey als Grundlage für eine Beziehung mit der Faktentabelle verwenden.

=DimDate  

Zusammengefasst oder gefiltert

Geben Sie in der Bearbeitungsleiste einen DAX-Ausdruck ein, der ein Modell filtert, zusammenfasst oder anderweitig bearbeitet, um die gewünschten Zeilen zu enthalten. Dieses Beispiel gruppiert nach Verkäufen, nach Farbe und nach Währung.

=SUMMARIZECOLUMNS(DimProduct[Color]  
, DimCurrency[CurrencyName]   
, "Sales" , SUM(FactInternetSales[SalesAmount])  
)  

Obermenge, die Spalten aus verschiedenen Tabellen verwendet

Geben Sie in der Bearbeitungsleiste einen DAX-Ausdruck ein, der Spalten aus mehreren Tabellen kombiniert. In diesem Fall listet die Abfrageausgabe die Produktkategorie für jede Währung auf.

=CROSSJOIN(DimProductCategory, DimCurrency)  

Weitere Informationen

Kompatibilitätsgrad
Data Analysis Expressions (DAX) in Analysis Services
Grundlegendes zu DAX in tabellarischen Modellen