Freigeben über


Erstellen von Berechnungsgruppen

Berechnungsgruppen können die Anzahl redundanter Measures, die Sie erstellen müssen, erheblich reduzieren, indem Sie Datenanalyseausdrücke (DATA Analysis Expressions, DAX)-Formeln als Berechnungselemente definieren können. Berechnungselemente können auf vorhandene Kennzahlen in Ihrem Modell angewendet werden. Weitere Informationen zu Berechnungsgruppen finden Sie im Artikel Berechnungsgruppen.

Hinzufügen einer neuen Berechnungsgruppe in der Modellansicht

Navigieren Sie in Power BI beim Bearbeiten eines Semantikmodells zur Modellansicht , und wählen Sie im Menüband die Schaltfläche " Berechnungsgruppe " aus. Wenn Sie sich noch nicht im Modell-Explorer befinden, wird der Bereich Daten in der Ansicht Modell geöffnet.

Screenshot der Taste Berechnungsgruppen in der Band.

Wenn die Eigenschaft Implizite Measures verhindern deaktiviert ist, werden Sie in einem Dialogfeld zur Aktivierung aufgefordert, um die Erstellung der Berechnungsgruppe zu ermöglichen.

Screenshot des Dialogfensters, das Sie auffordert, implizite Measures zu aktivieren.

Ein implizites Measure liegt vor, wenn Sie in der Ansicht Bericht eine Datenspalte aus dem Bereich Daten direkt im Visual verwenden. Das visuelle Element ermöglicht es Ihnen, es als SUM, AVERAGE, MIN, MAX oder eine andere grundlegende Aggregation zu aggregieren, die zu einem impliziten Maß wird. Wenn einem Modell eine Berechnungsgruppe hinzugefügt wird, entmutigt Power BI die Erstellung impliziter Maße, indem das Summensymbol neben den Datenspalten im Datenbereich nicht mehr angezeigt wird und das Hinzufügen der Datenspalten zu den visuellen Elementen direkt als Werte blockiert wird. Vorhandene implizite Maße, die bereits in visuellen Darstellungen erstellt wurden, funktionieren weiterhin. Die Eigenschaft Implizite Measures verhindern muss aktiviert werden, da Berechnungselemente nicht für implizite Measures gelten. Berechnungselemente gelten nur für Measures oder explizite Measures.

Screenshot der Berichtsansicht und Erstellung impliziter Measures.

Ein Measure oder ein explizites Measure liegt vor, wenn Sie ein neues Measure erstellen und den DAX-Ausdruck definieren, um eine Datenspalte zu aggregieren. Explizite Measures können auch bedingte Logik und Filter aufweisen, wobei Sie die Vorteile von DAX voll nutzen können. Weitere Informationen finden Sie im Tutorial Erstellen eigener Measures in Power BI Desktop.

Hinweis

Berechnungselementausdrücke können formuliert werden, um Messwerte anhand des Namens oder des Datentyps zu ignorieren, für Fälle, in denen Sie Messwerte haben, die durch das Berechnungselement nicht verändert werden sollen.

Nachdem Sie Ja ausgewählt haben, um die Eigenschaft implizite Measures verhindern zu aktivieren, wird eine Berechnungsgruppe hinzugefügt, und Sie können mit der Definition des DAX-Ausdrucks des ersten Berechnungselements in der DAX-Formelzeile beginnen. Das Dialog wird nicht angezeigt, wenn Sie bereits implizite Maßnahmen deaktivieren aktiviert haben.

SELECTEDMEASURE ist eine DAX-Funktion, die als Platzhalter für den Messwert im Berechnungsausdruck fungiert. In diesem Artikel erfahren Sie mehr über die DAX-Funktion SELECTEDMEASURE.

Screenshot der DAX-Bearbeitungsleiste und der Berechnungsgruppe.

Hinzufügen einer Berechnungsgruppe mithilfe der Power BI TMDL-Ansicht

Sie können eine Berechnungsgruppe in der Ansicht "Tabellarische Modelldefinitionssprache" oder "TMDL " von Power BI Desktop erstellen. Bearbeiten Sie das semantische Modell, und verwenden Sie dieses TMDL-Skript.

createOrReplace

	table 'Calculation group'

		calculationGroup
			precedence: 1

			calculationItem 'Calculation item' = SELECTEDMEASURE()

		column 'Calculation group column'
			dataType: string
			summarizeBy: none
			sourceColumn: Name
			sortByColumn: Ordinal

			annotation SummarizationSetBy = Automatic

		column Ordinal
			dataType: int64
			formatString: 0
			summarizeBy: sum
			sourceColumn: Ordinal

			annotation SummarizationSetBy = Automatic

Beispiel für Zeitintelligenz

Der Analysis Services-Artikel Berechnungsgruppen enthält ein Zeitintelligenzbeispiel für eine Berechnungsgruppe, mit dem wir einige Berechnungselemente auffüllen können. Das Beispiel kann einem beliebigen Modell mit einer Datumstabelle hinzugefügt werden, oder Sie können die Adventure Works DW 2020 PBIX vom DAX-Beispielmodell - DAX herunterladen.

Umbenennen einer Berechnungsgruppe

Um die Berechnungsgruppe umzubenennen, doppelklicken Sie im Bereich Daten darauf. Oder wählen Sie die Berechnungsgruppe aus, und ändern Sie den Namen im Bereich Eigenschaften.

Screenshot zur Umbenennung einer Berechnungsgruppe.

Umbenennen einer Berechnungsgruppenspalte

Um die Berechnungsgruppenspalte umzubenennen, doppelklicken Sie im Bereich Daten darauf. Oder wählen Sie die Berechnungsgruppenspalte aus, und ändern Sie den Namen im Bereich Eigenschaften. Die von Ihnen ausgewählte Spalte ist die Spalte, die Sie für visuelle Elemente oder in Datenschnitten verwenden, um ein bestimmtes Berechnungselement anzuwenden.

Screenshot zur Umbenennung einer Berechnungsgruppenspalte.

Umbenennen eines Berechnungselements

Das erste Berechnungselement wurde als SELECTEDMEASURE() erstellt, sodass es durch Doppelklicken oder Verwenden des Bereichs Eigenschaften umbenannt werden kann.

Screenshot der Umbenennung einer Berechnungsartikel.

Erstellen weiterer Berechnungselemente

Um weitere Berechnungselemente zu erstellen, können Sie das Kontextmenü des Abschnitts " Berechnungselemente " oder der Berechnungsgruppe selbst verwenden und " Neues Berechnungselement" auswählen oder den Eigenschaftenbereich des Abschnitts " Berechnungselemente " verwenden.

Screenshot zur Erstellung einer neuen Berechnungsartikel.

Nachdem alle Elemente der Zeitintelligenzberechnung hinzugefügt wurden, sieht die Berechnungsgruppe wie die folgende Abbildung aus.

Screenshot der Berechnungsgruppe mit allen Berechnungselementen der intelligenten Zeitberechnung.

Beachten Sie die roten Dreieckssymbole, die Fehler angeben. Die Fehler sind vorhanden, da in den DAX-Ausdrücken des Beispiels die Datumstabelle mit dem Namen DimDate verwendet wird. Daher müssen die DAX-Ausdrücke aktualisiert werden, um stattdessen den Namen Date zu verwenden. Die folgende Abbildung zeigt den DAX-Ausdruck vor der Korrektur.

Screenshot eines fehlerhaften DAX-Ausdrucks.

Nach der Korrektur des DAX-Ausdrucks wird der Fehler ausgeblendet.

Screenshot des korrigierten DAX-Ausdrucks.

Sobald alle Fehler in den Berechnungselementen korrigiert wurden, werden die roten Dreieckssymbole nicht mehr angezeigt.

Screenshot der korrigierten DAX-Ausdrücke im Bereich der Berechnungsartikel.

Neuanordnen von Berechnungselementen

Wenn Sie die Berechnungselemente neu anordnen möchten, können Sie den AbschnittBerechnungselemente im Bereich Eigenschaften auswählen oder mit der rechten Maustaste auf das Berechnungselement klicken, um das Kontextmenü zu öffnen und das Berechnungselement in der Liste nach oben oder unten zu verschieben.

Screenshot der Neuordnung von Berechnungsartikel.

Hinzufügen einer dynamischen Formatzeichenfolge zu einem Berechnungselement

Berechnungselemente verwenden standardmäßig die zugrunde liegende Measureformatierung. Möglicherweise möchten Sie stattdessen YOY% als Prozentsatz anzeigen. Wählen Sie dazu das Berechnungselement YOY% aus, und aktivieren Sie im Bereich „Eigenschaften” die Option Dynamische Formatzeichenfolge, sodass Sie einen DAX-Ausdruck angeben können, um eine Formatzeichenfolge zu erstellen. In diesem Beispiel sind keine bedingten Elemente erforderlich. Daher ändert einfach #,##0,00% das Format in prozentual, wenn dieses Berechnungselement angewendet wird, wie in der folgenden Abbildung dargestellt.

Screenshot der Änderung des Formats der zugrunde liegenden Datenelemente.

Verwenden der Berechnungsgruppe in Berichten

Wenn Sie Ihre neue Berechnungsgruppe in einem Bericht verwenden möchten, wechseln Sie zur Ansicht Bericht, erstellen Sie ein Visual des Typs Matrix, und fügen Sie Folgendes hinzu:

  1. Spalte Month (Monat) aus der Tabelle Date (Datum) unter Zeilen
  2. Time Calculation (Zeitberechnung) aus der Berechnungsgruppe Time Intelligence (Zeitintelligenz) unter Spalten
  3. Measure Orders (Aufträge) unter Werte

Hinweis

Wenn die Bestellungen nicht im Modell vorhanden ist, können Sie ein anderes Measure verwenden oder zum Menüband gehen und Neues Measure auswählen, um es mit diesem DAX-Ausdruck zu erstellen.

Orders = DISTINCTCOUNT('Sales Order'[Sales Order])

Die folgende Abbildung zeigt das Erstellen eines Visuals.

Screenshot der Verwendung von Berechnungsgruppen in Berichten.

In den Spalten des Visuals Matrix wird das Measure Orders nach den einzelnen Berechnungselementen gruppiert angezeigt. Sie können ein einzelnes Berechnungselement auch auf mehrere Measures anwenden, indem Sie die Berechnungsgruppenspalte zu einem Visual des Typs Datenschnitt hinzufügen.

Screenshot der Anwendung einzelner Berechnungsartikel auf mehrere Measures.

Verwenden des Berechnungselements in Measures

Sie können eine neue Kennzahl mit einem Ausdruck erstellen, der ein Berechnungsobjekt auf einer bestimmten Kennzahl nutzt.

Zum Erstellen eines [Orders YOY%]-Measure können Sie das Berechnungsobjekt mit CALCULATE verwenden.

Orders YOY% = 
    CALCULATE(
        [Orders],
        'Time Intelligence'[Time Calculation] = "YOY%"
    )

Festlegen der Berechnungsgruppenrangfolge

Wenn Sie dem Modell schließlich weitere Berechnungsgruppen hinzufügen, können Sie die Reihenfolge angeben, in der sie auf ein Measure mit der Rangfolgeeigenschaft angewendet werden. Sie können die Rangfolge der Berechnungsgruppe im Bereich " Berechnungsgruppen"-Abschnittseigenschaften anpassen, wie in der folgenden Abbildung dargestellt.

Screenshot der Einstellung der Rangfolge von Berechnungsgruppen.

Weitere Informationen zur Rangfolge von Berechnungsgruppen finden Sie im Analysis Services-Artikel Berechnungsgruppen.

Auswahlausdrücke für Berechnungsgruppen

Sie können Auswahlausdrücke für Berechnungsgruppen festlegen, um eine differenzierte Kontrolle darüber zu erhalten, was die Berechnungsgruppe zurückgibt, wenn Benutzer mehrere, ungültige oder keine Auswahlen in der Berechnungsgruppe vornehmen. Siehe Auswahlausdrücke.

Überlegungen

Modell misst Änderungen beim Variablentyp

Sobald einer Berechnungsgruppe ein Semantikmodell hinzugefügt wird, verwenden Power BI-Berichte den Variant-Datentyp für alle Measures. Wenn anschließend alle Berechnungsgruppen aus dem Modell entfernt werden, werden die Messwerte wieder auf ihre ursprünglichen Datentypen zurückgesetzt.

Der Variant-Datentyp kann dynamische Formatzeichenfolgen für Measures verursachen, wenn ein Measure wiederverwendet wird, um einen Fehler anzuzeigen. Verwenden Sie die FORMAT DAX-Funktion, um zu erzwingen, dass das Variant-Measure erneut als Zeichenfolgendatentyp erkannt wird.

FORMAT([Dynamic format string], "")

Alternativ können Sie ihren Ausdruck stattdessen für dynamische Formatzeichenfolgen mit einer benutzerdefinierten DAX-Funktion erneut verwenden.

Visualisierungsfehler, wenn ein Berechnungselement eine mathematische Operation auf eine nicht numerische Kennzahl anwendet.

Nicht numerische Messwerte werden häufig für dynamische Titel in Visuals und in dynamischen Formatierungszeichenfolgen für Messwerte verwendet. Der Fehler Kann den Wert nicht konvertieren ... vom Typ "Text" zum Typ "Numerisch " zeigt die auswirkungenden visuellen Elemente an. Der Berechnungselementausdruck kann diesen Fehler vermeiden, indem eine Überprüfung hinzugefügt wird, um festzustellen, ob das Maß ein Zahlenwert ist, bevor der mathematische Vorgang angewendet wird. Verwenden Sie die ISNUMERIC im Berechnungselement.

Calculation item safe = 
    IF ( 
        // Check the measure is numeric
        ISNUMERIC( SELECTEDMEASURE() ),
            SELECTEDMEASURE() * 2,
            // Don't apply the calculation on a non-numeric measure
            SELECTEDMEASURE()
        )

Die folgenden Artikeln enthalten weitere Informationen über Datenmodelle sowie Details zu DirectQuery.

Artikel zu DirectQuery: