Excel DAX - Formelfehler

Beim Schreiben können Fehler auftreten DAX formulasmit falscher Syntax. Berechnete Felder und berechnete Spalten können DAX-Funktionen enthalten, für die ein bestimmter Argumenttyp erforderlich ist. Argumente für DAX-Funktionen können Tabellen, Spalten oder andere DAX-Funktionen (verschachtelte DAX-Funktionen) sein. Da DAX-Funktionen Tabellen und Spalten zurückgeben können, sollte darauf geachtet werden, dass die richtigen Argumenttypen an die DAX-Funktionen übergeben werden.

DAX-Formelfehler können entweder Syntaxfehler oder semantische Fehler sein. Die Fehler können entweder zur Entwurfszeit oder zur Laufzeit auftreten.

In diesem Kapitel erfahren Sie mehr über einige häufige DAX-Fehler, deren Ursachen und wie Sie diese Fehler beheben können.

DAX-Fehler: Berechnung abgebrochen

Der folgende Fehler kann auftreten, wenn versucht wird, ein berechnetes Feld mit einer DAX-Zeitintelligenzfunktion zu erstellen (Entwurfszeit) oder zu verwenden (Laufzeit). In jedem Fall wird ein nicht zusammenhängender Datumsbereich an die Zeitintelligenzfunktion übergeben.

"DAX-Fehler: BERECHNUNG ABGEBROCHEN: MdxScript (Instanz) (00, 0) Die Funktion 'DATEADD' funktioniert nur mit zusammenhängenden Datumsauswahlen."

Ursache zur Laufzeit

Dieser Fehler kann angezeigt werden, wenn ein berechnetes Feld mit einer DAX-Time-Intelligence-Funktion im Bereich VALUES einer PivotTable platziert wird und Datumsfelder wie der Monat oder das Quartal vor Auswahl eines Jahres als Slicer oder Filter ausgewählt werden. Wenn Sie beispielsweise Daten für drei Jahre - 2014, 2015 und 2016 - haben und versuchen, nur den Monat März zu verwenden, ohne das Feld Jahr auszuwählen, sind die Werte keine zusammenhängenden Datenwerte, und es wird eine Fehlermeldung angezeigt.

Wie behebe ich den Fehler zur Laufzeit?

Im obigen Beispiel ist

  • Fügen Sie zuerst Year als Slicer oder Filter hinzu und wählen Sie ein Jahr aus.

  • Fügen Sie dann Monat oder Quartal als Slicer oder Filter hinzu.

  • Wählen Sie dann einen oder mehrere Monate oder Quartale aus, die für das ausgewählte Jahr in Scheiben geschnitten oder gefiltert werden sollen.

Ursache zur Entwurfszeit

DAX Time Intelligence-Funktionen erfordern eine Datumsspalte, die für das Datumsargument angegeben wird. Die Datumsspalte muss einen zusammenhängenden Datumsbereich haben. Dieser Fehler kann zurückgegeben werden, wenn in einer oder mehreren Zeilen in der Datumsspalte ein Datumswert vorhanden ist, der nicht mit den Datenwerten in den vorherigen und aufeinander folgenden Zeilen zusammenhängt.

Wenn Sie Ihre Tabelle mit Datumsangaben aus einer Datenquelle importiert haben, denken Sie daran, dass viele Organisationen spezielle Prozesse ausführen, die Tabellen in Datenbanken nach ungültigen Werten durchsuchen und diese durch einen bestimmten Wert ersetzen. Das heißt, wenn ein ungültiges Datum gefunden wird, wird ihm ein bestimmter Datumswert zugewiesen, der möglicherweise nicht mit anderen Datenwerten in der Spalte zusammenhängt.

Wie kann dieser Fehler zur Entwurfszeit behoben werden?

Gehen Sie wie folgt vor, um den Fehler zur Entwurfszeit zu beheben:

  • Wenn Ihre Datumstabelle aus einer Datenquelle importiert wird, verwenden Sie Aktualisieren im Power Pivot-Fenster, um alle an der Quelle gefundenen Änderungen erneut zu importieren.

  • Überprüfen Sie die Werte in Ihrer Datumsspalte, um sicherzustellen, dass sie in einer zusammenhängenden Reihenfolge vorliegen. Wenn festgestellt wird, dass ein Wert nicht vorhanden ist, muss er an der Quelle korrigiert und die Datumstabelle aktualisiert werden.

  • Erstellen Sie eine separate Datumstabelle und Datumsspalte in Ihrem Datenmodell. Geben Sie die neue Datumsspalte als Datumsargument in der Formel an, die den Fehler verursacht. Datumstabellen sind einfach zu erstellen und einem Datenmodell hinzuzufügen.

DAX Semantic Error - Ein Beispiel

Der folgende DAX-Fehler ist ein semantischer Fehler -

„Eine Funktion 'CALCULATE' wurde in einem True-False-Ausdruck verwendet, der als Tabellenfilterausdruck verwendet wird. Das ist nicht erlaubt."

Ursache

Dieser Fehler kann auftreten, wenn ein oder mehrere Filterausdrücke nicht im Kontext des berechneten Felds oder des berechneten Spaltenausdrucks verwendet werden können.

In den meisten Fällen wird dieser Fehler durch einen Filterausdruck verursacht, der als Argument für die DAX CALCULATE-Funktion angegeben wird. Die Funktion CALCULATE erfordert Filter, die als Boolescher Ausdruck oder Tabellenausdruck definiert sind.

Wie behebe ich solche Fehler?

Sie können solche Fehler beheben, indem Sie mit der Funktion DAX FILTER Filter als Tabellenausdruck definieren, der dann als Argument für die Funktion DAX CALCULATE verwendet werden kann.