Tutorial: Erstellen von berechneten Spalten in Power BI DesktopTutorial: Create calculated columns in Power BI Desktop

Manchmal enthalten die Daten, die Sie analysieren, einfach nicht ein bestimmtes Feld, das Sie benötigen, um die gewünschten Ergebnisse zu erzielen.Sometimes the data you’re analyzing just doesn’t contain a particular field you need to get the results you’re after. Hier bieten sich berechnete Spalten an.This is where calculated columns come in. Berechnete Spalten verwenden DAX-Formeln (Data Analysis Expressions), um die Werte einer Spalte zu definieren.Calculated columns use Data Analysis Expressions (DAX) formulas to define a column’s values. Diese Werte können so ziemlich alles sein, von zusammengesetzten Textwerten aus einem Paar verschiedener Spalten an anderen Stellen des Modells bis hin zu berechneten numerischen Werten aus anderen Werten.Those values can be just about anything, whether it be putting together text values from a couple of different columns elsewhere in the model, or calculating a numeric value from other values. Angenommen, Ihre Daten weisen eine Spalte „City“ und eine Spalte „State“ auf (als Felder in der Feldliste), Sie möchten aber ein einzelnes Feld verwenden, das beide in einem einzelnen Wert enthält, wie etwa „Miami, FL“.For example, let’s say your data has a City and State columns (as fields in the Fields list), but you want a single Location field that has both as a single value, like Miami, FL. Das ist genau der richtige Einsatzzweck für berechnete Spalten.This is precisely what calculated columns are for.

Berechnete Spalten ähneln Measures darin, dass beide auf einer DAX-Formel aufbauen, ihre Verwendung sich aber unterscheidet.Calculated columns are similar to measures in that both are based on a DAX formula, but they differ in how they are used. Measures werden meistens im Bereich „Werte“ einer Visualisierung verwendet, um Ergebnisse auf der Grundlage anderer Felder zu berechnen, die in Form einer Zeile in einer Tabelle vorliegen, oder sie kommen im Bereich „Achse“, „Legende“ oder „Gruppe“ einer Visualisierung vor.Measures are most often used in the Values area of a visualization, to calculate results based on other fields you have on a row in a table, or in an Axis, Legend, or Group area of a visualization. Berechnete Spalten werden hingegen verwendet, wenn Sie die Ergebnisse der Spalte in einer Zeile der Tabelle oder im Bereich „Achse“, „Legende“ oder „Gruppe“ einer Visualisierung verwenden möchten.Calculated columns on the other hand are used when you want the column’s results on that row in the table, or in the Axis, Legend, or Group area.

Dieses Tutorial stellt Ihnen das Konzept vor und führt Sie durch das Erstellen eigener berechneter Spalten in Power BI Desktop.This tutorial will guide you through understanding and creating some of your own calculated columns in Power BI Desktop. Es richtet sich an Power BI-Benutzer, die mit der Verwendung von Power BI Desktop zum Erstellen etwas fortgeschrittener Modelle bereits vertraut sind.It’s intended for Power BI users already familiar with using Power BI Desktop to create more advanced models. Sie sollten bereits mit der Verwendung des Abfragemoduls zum Importieren von Daten, dem Arbeiten mit mehreren aufeinander bezogenen Tabellen und dem Hinzufügen von Feldern zur Berichtszeichenfläche vertraut sein.You should already be familiar with using Query to import data, working with multiple related tables, and adding fields to the Report Canvas. Wenn Sie noch nicht mit Power BI Desktop vertraut sind, sollten Sie Erste Schritte mit Power BI Desktop lesen.If you’re new to Power BI Desktop, be sure to check out Getting Started with Power BI Desktop.

Um die Schritte in diesem Tutorial ausführen zu können, müssen Sie die Datei Contoso Sales for Power BI Desktop herunterladen.To complete the steps in this tutorial, you’ll need to download the Contoso Sales Sample for Power BI Desktop file. Dies ist die gleiche Beispieldatei, die im Tutorial Erstellen eigener Measures in Power BI Desktop verwendet wird.This is the same sample file used for the Create your own measures in Power BI Desktop tutorial. Sie enthält bereits Vertriebsdaten des fiktiven Unternehmens Contoso, Inc. Da die Daten in der Datei aus einer Datenbank importiert wurden, können Sie keine Verbindungen mit der Datenquelle herstellen oder sie im Abfrage-Editor anzeigen.It already includes sales data from the fictitious company, Contoso, Inc. Because data in the file was imported from a database, you won’t be able to connect to the datasource or view it in Query Editor. Wenn Sie die Datei auf dem lokalen Computer gespeichert haben, öffnen Sie sie in Power BI Desktop.When you have the file on your own computer, go ahead and open it in Power BI Desktop.

Erstellen wir eine berechnete SpalteLet’s create a calculated column

Angenommen, wir möchten Produktkategorien zusammen mit Produktunterkategorien als einzelnen Wert in einer Zeile anzeigen, etwa als „Mobiltelefone – Zubehör“, „Mobiltelefone – Smartphones und PDAs“ usw.Let’s say we want to display product categories together with product subcategories in a single value on rows, like Cell phones – Accessories, Cell phones – Smart phones & PDAs, and so on. Wenn wir uns in der Berichtsansicht oder Datenansicht (hier verwenden wir die Berichtsansicht) in der Liste „Felder“ die Produkttabellen ansehen, erkennen wir, dass kein Feld mit den gewünschten Eigenschaften vorhanden ist.In Report View or Data View (we're using Report View here), If we look at our product tables in the Fields list, we see there’s no field that gives is what we want. Wir haben aber ein Feld „ProductCategory“ und ein Feld „ProductSubcategory“, jedes in jeweils einer eigenen Tabelle.We do, however, have a ProductCategory field and a ProductSubcategory field, each in their own tables.

Wir erstellen eine neue berechnete Spalte, um Werte aus diesen zwei Spalten zu neuen Werten für unsere neue Spalte zu kombinieren.We’ll create a new calculated column to combine values from these two column into new values for our new column. Interessanterweise müssen wir dazu Daten aus zwei verschiedenen Tabellen in einer einzelnen Spalte zusammenführen.Interestingly enough, we need to combine data from two different tables into a single column. Da wir DAX zum Erstellen unserer neuen Spalte verwenden, können wir die Leistungsfähigkeit des bereits vorhandenen Modells im vollen Umfang nutzen, einschließlich der bereits bestehenden Beziehungen zwischen verschiedenen Tabellen.Because we’re going to use DAX to create our new column, we can leverage the full power of the model we already have, including the relationships between different tables that already exist.

So erstellen Sie eine Spalte „ProductFullCategory“To create a ProductFullCategory column

  1. Klicken Sie mit der rechten Maustaste in der Tabelle ProductSubcategory in der Feldliste, oder klicken Sie auf den Pfeil nach unten, und klicken Sie dann auf Neue Spalte.Right click, or click the down arrow on the ProductSubcategory table in the Fields list, and then click New Column. Dadurch wird unsere neue Spalte der Tabelle „ProductSubcategory“ hinzugefügt.This will make sure our new column is added to the ProductSubcategory table.

    Die Bearbeitungsleiste wird entlang der Oberkante der Berichtszeichenfläche oder des Datenrasters angezeigt.The formula bar appears along the top of the Report canvas or Data grid. Dies ist der Ort, an dem wir die Spalte umbenennen und eine DAX-Formel eingeben können.This is where we can rename our column and enter a DAX formula.

    Standardmäßig erhält eine neue berechnete Spalte einfach den Namen „Spalte“.By default a new calculated column is simply named Column. Wenn wir sie nicht umbenennen, heißt die nächste erstellte Spalte dann „Spalte 2“, dann „Spalte 3“ usw.If we don’t rename it, when we create another, it will be named Column 2, Column 3, and so on. Wir möchten unsere Spalten aber leicht wiederfinden können, daher geben wir unserer neuen Spalte einen neuen Namen.We want our columns to be more identifiable, so we’ll give our new column a new name.

  2. Da der Name Spalte bereits in der Bearbeitungsleiste markiert ist, brauchen Sie nur ProductFullCategory einzugeben.Since the Column name is already highlighted in the formula bar, just type ProductFullCategory.

    Jetzt können wir mit dem Eingeben unserer Formel beginnen.Now we can begin entering our formula. Wir möchten, dass die Werte in der neuen Spalte mit dem ProductCategory-Namen aus der Tabelle „ProductCategory“ beginnen.We want the values in our new column to start with the ProductCategory name from the ProductCategory table. Da sich diese Spalte in einer anderen (aber verwandten) Tabelle befindet, verwenden wir die Funktion RELATED als Unterstützung beim Abrufen.Because this column is in a different, but related table, we’re going to use the RELATED function to help us get it.

  3. Geben Sie hinter dem Gleichheitszeichen ein R ein. Jetzt wird eine Dropdownliste mit Vorschlägen angezeigt, die alle DAX-Funktionen enthält, die mit dem Buchstaben „R“ beginnen. Je mehr wir eingeben, desto stärker verengt sich die Vorschlagsliste auf die benötigte Funktion.After the equals sign, type R. You’ll see a dropdown suggestion list appear with all of the DAX functions beginning with the letter R. The more we type, the more the suggestion list is scaled closer to the function we need. Neben der Funktion wird eine Beschreibung der Funktion angezeigt.Next to the function you’ll see a description of the function. Wählen Sie durch Scrollen nach unten RELATED aus, und drücken Sie dann die EINGABETASTE.Select RELATED by scrolling down, and then pressing Enter.

    Eine öffnende Klammer wird zusammen mit einer weiteren Vorschlagsliste mit allen verfügbaren Spalten angezeigt, die wir der Funktion RELATED übergeben können.An opening parenthesis appears along with another suggestion list of all of the available columns we can pass to the RELATED function. Darüber hinaus werden eine Beschreibung und Details zu den erwarteten Parametern angezeigt.A description and details on what parameters are expected is also shown.

    Ein Ausdruck tritt immer zwischen einer öffnenden und einer schließenden Klammer auf.An expression always appears between an opening and closing parenthesis. In diesem Fall soll unser Ausdruck ein einzelnes Element enthalten, das an die Funktion RELATED übergeben wird; eine zugeordnete Spalte, aus der Werte zurückgegeben werden.In this case, our expression is going to contain a single argument passed to the RELATED function; a related column to return values from. Die Liste der Spalten wird automatisch eingeschränkt und zeigt nur die zugeordneten Spalten an.The list of columns is automatically narrowed down to show only the columns that are related. In diesem Fall möchten wir nur die Spalte „ProductCategory“ in der Tabelle „ProductCategory“ haben.In this case, we want the ProductCategory column in the ProductCategory table.

    Wählen Sie ProductCategory[ProductCategory]aus, und geben Sie dann eine schließende Klammer ein.Select ProductCategory[ProductCategory], and then type a closing parenthesis.

    Tipp

    Syntaxfehler werden meistens durch eine fehlende oder falsch platzierte schließende Klammer verursacht.Syntax errors are most often caused by a missing or misplaced closing parenthesis. Wenn Sie dies vergessen, werden diese aber häufig von Power BI Desktop hinzugefügt.But often Power BI Desktop will add it if you forget.

  4. Wir möchten einen Bindestrich verwenden, um die einzelnen Werte zu trennen. Geben Sie also nach der schließenden Klammer des ersten Ausdrucks ein Leerzeichen, ein kaufmännisches Und (&), ein doppeltes Anführungszeichen, ein Leerzeichen, einen Bindestrich (-), noch ein Leerzeichen, ein doppeltes Anführungszeichen und dann ein weiteres kaufmännisches Und ein.We want to add a dash symbol to separate each value, so after the closing parenthesis of the first expression, type a space, ampersand (&), quote, space, dash (-), another space, a closing quote, and then another ampersand. Die Formel sollte nun wie folgt aussehen:Your formula should now look like this:

    ProductFullCategory = RELATED(ProductCategory[ProductCategory]) & " - " &ProductFullCategory = RELATED(ProductCategory[ProductCategory]) & " - " &

    Tipp

    Klicken Sie rechts von der Formelleiste auf das Erweiterungssymbol (Winkel nach unten), um den Formel-Editor zu erweitern.Click the down chevron on the right side of the formula bar to expand the formula editor. Drücken Sie auf ALT+EINGABETASTE, um eine Zeile nach unten zu springen, und die TAB-TASTE, um zur Seite zu springen.Click Alt & Enter to move down a line, and Tab to move things over.

  5. Geben Sie schließlich eine weitere öffnende eckige Klammer ein, und wählen Sie dann die Spalte [ProductSubcategory] aus, um die Formel fertig zu stellen.Finally, enter another opening bracket and then select the [ProductSubcategory] column to finish the formula. Ihre Formel sollte nun so aussehen:Your formula should look like this:

    Sie werden bemerkt haben, dass wir keine weitere RELATED-Funktion im zweiten Ausdruck verwendet haben, mit dem die Spalte „ProductSubcategory“ aufgerufen wird.You’ll notice we didn’t use another RELATED function in the second expression calling the ProductSubcategory column. Das hat den Grund, dass sich diese Spalte bereits in der Tabelle befindet, in der wir unsere neue Spalte erstellen.This is because this column is already in the same table we’re creating our new column in. Wir können [ProductCategory] mit dem Tabellennamen (vollqualifiziert) oder ohne ihn (nicht qualifiziert) eingeben.We can enter [ProductCategory] with the table name (fully qualified) or without (non-qualified).

  6. Stellen Sie die Formel fertig, indem Sie die EINGABETASTE drücken oder in der Bearbeitungsleiste auf das Häkchen klicken.Complete the formula by pressing Enter or clicking on the checkmark in the formula bar. Die Formel wird überprüft und der Feldliste in der Tabelle ProductSubcategory hinzugefügt.The formula is validated and added to the field list in the ProductSubcategory table.

    Sie werden bemerkt haben, dass für berechnete Spalten ein besonderes Symbol in der Feldliste angezeigt wird.You’ll notice calculated columns get a special icon in the field list. So wird angezeigt, dass sie eine Formel enthalten.This shows they contain a formula. Sie werden nur in Power BI Desktop in dieser Weise angezeigt.They’ll only appear like this in Power BI Desktop. Im Power BI-Dienst (Ihre Power BI-Website) ist es nicht möglich, eine Formel zu ändern. Daher verfügen Felder berechneter Spalten nicht über ein Symbol.In the PowerBI service (your Power BI site), there’s no way to change a formula, so a calculated column field doesn’t have an icon.

Fügen wir die neue Spalte zu einem Bericht hinzuLet’s add our new column to a report

Jetzt können wir unsere neue Spalte „ProductFullCategory“ der Berichtszeichenfläche hinzufügen.Now we can add our new ProductFullCategory column to the report canvas. Sehen wir uns „SalesAmount“ nach „ProductFullCategory“ einmal an.Let’s look at SalesAmount by ProductFullCategory.

Ziehen Sie die Spalte ProductFullCategory aus der Tabelle ProductSubcategory auf die Berichtszeichenfläche, und ziehen Sie dann das Feld SalesAmount aus der Tabelle Sales auf das Diagramm.Drag the ProductFullCategory column from the ProductSubcategory table onto the Report canvas, and then drag the SalesAmount field from the Sales table into the chart.

Erstellen wir noch eine SpalteLet’s create another

Da Sie jetzt wissen, wie Sie eine berechnete Spalte erstellen können, erstellen wir gleich noch eine.Now that you know how to create a calculated column, let’s create another.

Das Modell „Contoso Sales Sample for Power BI Desktop“ enthält Umsatzdaten für aktive und inaktive Ladengeschäfte.The Contoso Sales Sample for Power BI Desktop model contains sales data for both active and inactive stores. Wir möchten sicherstellen, dass Daten für inaktive Ladengeschäfte als solche kenntlich sind.We want to make it really clear that data shown for inactive stores is identified as such. Effektiv wünschen wir uns ein Feld mit dem Namen „Active StoreName“.In-effect, we want a field named Active StoreName. Zu diesem Zweck erstellen wir eine weitere Spalte.To do this, we’ll create another column. In diesem Fall möchten wir, dass unsere neue Spalte „Active StoreName“ (als Feld) den Namen eines inaktiven Geschäfts als „Inactive“, den Namen von aktiven Geschäften jedoch als vollständigen Namen des Geschäfts anzeigt.In this case, when a store is inactive, we want our new Active StoreName column (as a field) to show the store’s name as “Inactive”, but show the store’s real name when it’s an active store.

Glücklicherweise weist unsere Tabelle „Stores“ eine Tabelle mit dem Namen „Status“ auf, die den Wert „On“ für aktive Ladengeschäfte und „Off“ für inaktive Ladengeschäfte trägt.Fortunately, our Stores table has a column named Status, with a value of On for active stores, and Off for inactive stores. Wir können Werte für jede Zeile in der Spalte „Status“ abfragen, um in unserer neuen Spalte neue Werte zu erstellen.We can test values for each row in the Status column to create new values in our new column.

So erstellen Sie eine Spalte „Active StoreName“To create an Active StoreName column

  1. Erstellen Sie eine neue berechnete Spalte mit dem Namen Active StoreName in der Tabelle Stores.Create a new calculated column named Active StoreName in the Stores table.

    Für diese Spalte überprüft unsere DAX-Formel den Status jedes einzelnen Geschäfts.For this column, our DAX formula is going to check each stores status. Wenn der Status eines Geschäfts „On“ ist, gibt die Formel den Namen des Geschäfts zurück.If a stores status is On, our formula will return the stores name. Wenn er „Off“ ist, erhält das Geschäft den Namen „Inactive“.If it’s Off, it will have the name, “Inactive”. Zu diesem Zweck verwenden wir die logische Funktion IF, um den Status des Geschäfts zu überprüfen und einen bestimmten Wert zurückzugeben, wenn die Bedingung erfüllt bzw. nicht erfüllt wurde.To do this, we’ll use the logical IF function to test the stores status and return a particular value if the result is true or false.

  2. Beginnen Sie mit der Eingabe von IF.Begin typing IF. Die Vorschlagsliste zeigt an, was wir hinzufügen können.The suggestion list will show what we can add. Wählen Sie IFaus.Select IF.

    Das erste Argument für IF ist ein logischer Test.The first argument for IF is a logical test. Wir möchten testen, ob ein Geschäft den Status „On“ aufweist oder nicht.We want to test whether or not a store has a status of “On”.

  3. Geben Sie eine öffnende eckige Klammer [ ein, die uns ermöglicht, Spalten aus der Tabelle „Stores“ auszuwählen.Type an opening bracket [ , which allows us to select columns from the Stores table. Wählen Sie [Status]aus.Select [Status].

  4. Geben Sie direkt hinter [Status] die Zeichen =„On“ ein, und geben Sie dann ein Komma (,) ein, um das zweite Argument einzugeben.Right after [Status], type ="On", then enter a comma (,) to enter the second argument. Die QuickInfo schlägt vor, dass wir den Wert für wahre Ergebnisse hinzufügen müssen.The tooltip suggests we need to add the value for when the result is true.

  5. Wenn das Geschäft aktiv ist („On“), möchten wir den Namen des Geschäfts anzeigen.If the store is On, we want to show the store’s name. Geben Sie eine öffnende eckige Klammer [ ein, wählen Sie die Spalte [StoreName] aus, und geben Sie dann ein weiteres Komma ein, damit wir das dritte Argument eingeben können.Type an opening bracket [ and select the [StoreName] column, and then type another comma so we can enter our third argument.

  6. Wir müssen einen Wert für den Fall eingeben, dass das Ergebnis des Tests falsch ist, und hier möchten wir den Wert „Inactive“ verwenden.We need to add a value for when the result is false, in this case we want the value to be “Inactive”.

  7. Stellen Sie die Formel fertig, indem Sie die EINGABETASTE drücken oder in der Bearbeitungsleiste auf das Häkchen klicken.Complete the formula by pressing Enter or clicking on the checkmark in the formula bar. Die Formel wird überprüft und der Feldliste in der Tabelle „Stores“ hinzugefügt.The formula is validated and added to the field list in the Stores table.

    Genau wie jedes andere Feld können wir unsere neue Spalte „Active StoreName“ in Visualisierungen verwenden.Just like any other field, we can use our new Active StoreName column in visualizations. In diesem Diagramm werden Geschäfte mit dem Status „On“ einzeln mit ihrem Namen dargestellt, Geschäfte mit dem Status „Off“ werden jedoch gruppiert und als „Inactive“ angezeigt.In this chart, stores with a status of On are shown individually by name, but stores with a status of Off are grouped together and shown as Inactive.

Was wir gelernt habenWhat we’ve learned

Berechnete Spalten können unsere Daten bereichern und Erkenntnisse leichter zugänglich machen.Calculated columns can enrich our data, providing easier insights. Wir haben gelernt, wie berechnete Spalten mithilfe der Bearbeitungsleiste erstellt werden, wie die Vorschlagsliste verwendet wird und wie Spalten sinnvoll benannt werden.We've learned how to create calculated columns by using the formula bar, how to use the suggestions list, and how to best name our new columns.

Nächste SchritteNext steps

Lesen Sie sich die Informationen unter DAX-Grundlagen in Power BI Desktop durch, wenn Sie tiefer in DAX-Formeln einsteigen und berechnete Spalten unter Verwendung fortgeschrittener DAX-Formeln erstellen möchten.If you want to take a deeper dive into DAX formulas, and create calculated columns with more advanced DAX formulas, see DAX Basics in Power BI Desktop. Dieser Artikel konzentriert sich auf grundlegende Konzepte in DAX, wie etwa Syntax, Funktionen und ein tiefer gehendes Verständnis von Kontext.This article focuses on fundamental concepts in DAX, such as syntax, functions, and a more thorough understanding of context.

Denken Sie daran, die DAX-Referenz (Data Analysis Expressions) zu Ihren Favoriten hinzuzufügen.Be sure to add the Data Analysis Expressions (DAX) Reference to your favorites. Das ist der Ort, an dem Sie detaillierte Informationen zur DAX-Syntax, Operatoren und den über 200 DAX-Funktionen finden.This is where you'll find detailed info on DAX syntax, operators, and the over 200 DAX functions.