Freigeben über


Datentypen, die in tabellarischen Modellen unterstützt werden

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

In diesem Artikel werden die Datentypen beschrieben, die in tabellarischen Modellen verwendet werden können, und die implizite Konvertierung von Datentypen erläutert, wenn Daten berechnet oder in einer DAX-Formel (Data Analysis Expressions) verwendet werden.

Datentypen, die in tabellarischen Modellen verwendet werden

Wenn Sie Daten importieren oder einen Wert in einer Formel verwenden, auch wenn die ursprüngliche Datenquelle einen anderen Datentyp enthält, werden die Daten in einen der folgenden Datentypen konvertiert. Werte, die aus Formeln resultieren, verwenden auch diese Datentypen.

Im Allgemeinen werden diese Datentypen implementiert, um genaue Berechnungen in berechneten Spalten zu ermöglichen, und für Konsistenz gelten dieselben Einschränkungen für die restlichen Daten in Modellen.

Formate, die für Zahlen, Währungen, Datums- und Uhrzeitangaben verwendet werden, sollten dem Format des Gebietsschemas entsprechen, das auf dem Client angegeben ist, der zum Arbeiten mit Modelldaten verwendet wird. Mithilfe der Formatierungsoptionen im Modell können Sie steuern, wie der Wert angezeigt wird.

Datentyp im Modell Datentyp in DAX BESCHREIBUNG
Ganze Zahl Ein 64-Bit-Ganzzahlwert (acht Bytes)*

Hinweis:
DAX-Formeln unterstützen keine Datentypen, die zu klein sind, um den in der Beschreibung aufgeführten Minimalwert zu enthalten.
Zahlen ohne Dezimalstellen. Ganze Zahlen können positive oder negative Zahlen sein, müssen jedoch ganze Zahlen zwischen -9.223.372.036.854.775.807 (-2^63+1) und 9.223.372.036.854.775.806 (2^63-2) sein.
Dezimalzahl Eine reelle 64-Bit-Zahl (acht Byte) *

Hinweis:
DAX-Formeln unterstützen keine Datentypen, die zu klein sind, um den in der Beschreibung aufgeführten Minimalwert zu enthalten.
Reale Zahlen sind Zahlen, die Dezimalstellen enthalten können. Reelle Zahlen decken einen breiten Wertebereich ab:

Negative Werte von -1,79E +308 bis -2,23E -308

Null

Positive Werte von 2,23E -308 bis 1,79E + 308

Die Anzahl der signifikanten Ziffern ist jedoch auf 15 Dezimalstellen beschränkt.
Boolescher Typ (Boolean) Boolescher Typ (Boolean) Entweder ein Wahr- oder Falsch-Wert.
Text Schnur Eine Unicode-Zeichendatenzeichenfolge. Dabei kann es sich um Zeichenfolgen, Zahlen oder Datumsangaben handeln, die in einem Textformat dargestellt werden. Die effektive maximale Größe einer Zeichenfolge unterliegt einem Grenzwert von 32767 Byte.
Binär Schnur Unstrukturierte Binärdaten, z. B. Bilder. Spalten mit diesem Datentyp verfügen über eingeschränkte Funktionen in DAX. Die effektive maximale Größe eines Binären Datenwerts unterliegt einem 67108864 Bytelimit.
Datum Datum/Uhrzeit Datums- und Uhrzeitangaben in einer akzeptierten Datums-/Uhrzeitdarstellung.

Gültige Datumsangaben sind alle Datumsangaben nach dem 1. März 1900.
Währung Währung Der Datentyp "Währung" ermöglicht Werte zwischen -922.337.203.685.477,5807 und 922.337.203.685.477,5806 mit vier Dezimalstellen fester Genauigkeit.
Variante Variante Wird für Ausdrücke verwendet, z. B. DAX-Measures, die unterschiedliche Datentypen zurückgeben können. Beispielsweise ist ein DAX-Maß, das entweder eine ganze Zahl oder eine Zeichenfolge zurückgibt, vom Typ Variant.
Nicht verfügbar Leer Ein Leerzeichen ist ein Datentyp in DAX, der SQL-NULL-Werte darstellt und ersetzt. Sie können ein Leeres erstellen, indem Sie die BLANK-Funktion verwenden und mithilfe der logischen Funktion ISBLANK auf Leere testen.

* Wenn Sie versuchen, Daten mit großen numerischen Werten zu importieren, schlägt der Import möglicherweise mit dem folgenden Fehler fehl:

Fehler in der Speicherdatenbank: Die Spalte '<Spaltenname>' der Tabelle '<Tabellenname>' enthält einen Wert, '1.7976931348623157e+308', der nicht unterstützt wird. Der Vorgang wurde abgebrochen.

Dieser Fehler tritt auf, da der Modell-Designer diesen Wert verwendet, um Nullwerte darzustellen. Die Werte in der folgenden Liste sind Synonyme für den vorherigen erwähnten NULL-Wert:

Wert
9223372036854775807
-9223372036854775808
1.7976931348623158e+308
-1,7976931348623158e+308

Entfernen Sie den Wert aus Ihren Daten, und versuchen Sie es erneut.

Hinweis

Sie können nicht aus einer varchar(max) -Spalte importieren, die eine Zeichenfolgenlänge von mehr als 131.072 Zeichen enthält.

Tabellendatentyp

Darüber hinaus verwendet DAX einen Tabellendatentyp . Dieser Datentyp wird von DAX in vielen Funktionen verwendet, z. B. Aggregationen und Zeitintelligenzberechnungen. Für einige Funktionen ist ein Verweis auf eine Tabelle erforderlich; andere Funktionen geben eine Tabelle zurück, die dann als Eingabe für andere Funktionen verwendet werden kann. In einigen Funktionen, die eine Tabelle als Eingabe erfordern, können Sie einen Ausdruck angeben, der zu einer Tabelle ausgewertet wird. für einige Funktionen ist ein Verweis auf eine Basistabelle erforderlich. Informationen zu den Anforderungen bestimmter Funktionen finden Sie in der DAX-Funktionsreferenz.

Implizite und explizite Datentypkonvertierung in DAX-Formeln

Jede DAX-Funktion hat spezifische Anforderungen hinsichtlich der Datentypen, die als Eingaben und Ausgaben verwendet werden. Einige Funktionen erfordern beispielsweise ganze Zahlen für einige Argumente und Datumsangaben für andere; Andere Funktionen erfordern Text oder Tabellen.

Wenn die Daten in der Spalte, die Sie als Argument angeben, nicht mit dem Datentyp kompatibel sind, der von der Funktion benötigt wird, gibt DAX in vielen Fällen einen Fehler zurück. Nach Möglichkeit versucht DAX jedoch, die Daten implizit in den erforderlichen Datentyp zu konvertieren. Beispiel:

  • Sie können eine Zahl, z. B. "123", als Zeichenfolge eingeben. DAX analysiert die Zeichenfolge und versucht, sie als Zahlendatentyp anzugeben.

  • Sie können WAHR + 1 hinzufügen und das Ergebnis 2 abrufen, da WAHR implizit in die Zahl 1 konvertiert wird und der Vorgang 1+1 ausgeführt wird.

  • Wenn Sie Werte in zwei Spalten hinzufügen und ein Wert als Text ("12") und der andere als Zahl (12) dargestellt wird, konvertiert DAX die Zeichenfolge implizit in eine Zahl und führt dann die Addition für ein numerisches Ergebnis aus. Der folgende Ausdruck gibt 44 zurück: = "22" + 22

  • Wenn Sie versuchen, zwei Zahlen zu verketten, werden sie als Zeichenfolgen dargestellt und dann verkettet. Der folgende Ausdruck gibt "1234" zurück: = 12 & 34

In der folgenden Tabelle sind die impliziten Datentypkonvertierungen zusammengefasst, die in Formeln ausgeführt werden. Im Allgemeinen verhält sich der Semantikmodell-Designer wie Microsoft Excel und führt implizite Konvertierungen wann immer möglich durch, wenn sie durch die angegebene Operation erforderlich sind.

Tabelle mit impliziten Datenkonvertierungen

Der Typ der Konvertierung, die durchgeführt wird, wird durch den Operator bestimmt, der die erforderlichen Werte umwandelt, bevor er die angeforderte Operation ausführt. Diese Tabellen führen die Operatoren auf und geben die Konvertierung an, die für jeden Datentyp in der Spalte ausgeführt wird, wenn sie mit dem Datentyp in der sich überschneidende Zeile gekoppelt ist.

Hinweis

Textdatentypen sind in diesen Tabellen nicht enthalten. Wenn eine Zahl in einem Textformat dargestellt wird, versucht der Modelldesigner in einigen Fällen, den Zahlentyp zu bestimmen und als Zahl darzustellen.

Addition (+)

Ganzzahl WÄHRUNG Echt Datum/Uhrzeit
GANZE ZAHL Ganzzahl WÄHRUNG Echt Datum/Uhrzeit
WÄHRUNG WÄHRUNG WÄHRUNG Echt Datum/Uhrzeit
WIRKLICH Echt Echt Echt Datum/Uhrzeit
Datum/Uhrzeit- Datum/Uhrzeit Datum/Uhrzeit Datum/Uhrzeit Datum/Uhrzeit

Wenn beispielsweise eine reelle Zahl in einem Zusatzvorgang in Kombination mit Währungsdaten verwendet wird, werden beide Werte in REAL konvertiert, und das Ergebnis wird als REAL zurückgegeben.

Subtraktion (-)

In der folgenden Tabelle ist die Zeilenüberschrift der Minuend (links) und die Spaltenüberschrift ist der Subtrahend (rechts):

Ganzzahl WÄHRUNG Echt Datum/Uhrzeit
Integer Ganzzahl WÄHRUNG Echt Echt
WÄHRUNG WÄHRUNG WÄHRUNG Echt Echt
WIRKLICH Echt Echt Echt Echt
Datum/Uhrzeit- Datum/Uhrzeit Datum/Uhrzeit Datum/Uhrzeit Datum/Uhrzeit

Wenn beispielsweise ein Datum in einem Subtraktionsvorgang mit einem anderen Datentyp verwendet wird, werden beide Werte in Datumswerte konvertiert, und der Rückgabewert ist auch ein Datum.

Hinweis

Tabellarische Modelle unterstützen auch den unären Operator - (negativ), aber dieser Operator ändert nicht den Datentyp des Operanden.

Multiplikation (*)

Ganzzahl WÄHRUNG Echt Datum/Uhrzeit
INTEGER Ganzzahl WÄHRUNG Echt Ganzzahl
WÄHRUNG WÄHRUNG Echt WÄHRUNG WÄHRUNG
WIRKLICH Echt WÄHRUNG Echt Echt

Wenn beispielsweise eine ganze Zahl mit einer reellen Zahl in einem Multiplikationsvorgang kombiniert wird, werden beide Zahlen in reelle Zahlen konvertiert, und der Rückgabewert ist auch REAL.

Division (/)

In der folgenden Tabelle ist die Zeilenüberschrift der Zähler, und die Spaltenüberschrift ist der Nenner: (Zeile/Spalte)

Ganzzahl WÄHRUNG Echt Datum/Uhrzeit
INTEGER Echt WÄHRUNG Echt Echt
WÄHRUNG WÄHRUNG Echt WÄHRUNG Echt
WIRKLICH Echt Echt Echt Echt
Datum/Uhrzeit- Echt Echt Echt Echt

Wenn beispielsweise eine ganze Zahl mit einem Währungswert in einem Divisionsvorgang kombiniert wird, werden beide Werte in reelle Zahlen konvertiert, und das Ergebnis ist auch eine reelle Zahl.

Vergleichsoperatoren

Es wird nur eine begrenzte Gruppe gemischter Datentypkombinationen für Vergleichsvorgänge unterstützt. Weitere Informationen finden Sie unter DAX-Operatorreferenz.

Behandeln von Leerzeichen, leeren Zeichenfolgen und Nullwerten

In der folgenden Tabelle werden die Unterschiede zwischen DAX und Microsoft Excel in der Weise zusammengefasst, wie Leerzeichen behandelt werden:

Ausdruck DAX Ausstechen
LEER+LEER LEER 0 (Null)
LEER+5 5 5
LEER * 5 LEER 0 (Null)
5/LEER Unendlichkeit Fehler
0/LEER NaN Fehler
LEER/LEER LEER Fehler
UNWAHR ODER LEER FALSCH FALSCH
FALSCH UND LEER FALSCH FALSCH
WAHR ODER BLANK WAHR WAHR
WAHR UND UNBESCHRIEBEN FALSCH WAHR
BLANK ODER BLANK LEER Fehler
LEER UND LEER LEER Fehler

Ausführliche Informationen dazu, wie eine bestimmte Funktion oder ein bestimmter Operator Leerzeichen verarbeitet, finden Sie in den einzelnen Themen für jede DAX-Funktion im Abschnitt DAX-Funktionsreferenz.