Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.