In einem Datenmodell verfügt jede Spalte über einen zugeordneten Datentyp, der den Datentyp angibt, den die Spalte enthalten kann: ganze Zahlen, Dezimalzahlen, Text, Währungsdaten, Datums- und Uhrzeitangaben usw. Der Datentyp bestimmt auch, welche Arten von Vorgängen Sie für die Spalte ausführen können und wie viel Arbeitsspeicher benötigt wird, um die Werte in der Spalte zu speichern.
Wenn Sie das Power Pivot-Add-In verwenden, können Sie den Datentyp einer Spalte ändern. Dies ist möglicherweise erforderlich, wenn eine Datumsspalte als Zeichenfolge importiert wurde, aber Sie benötigen etwas anderes. Weitere Informationen finden Sie unter Festlegen des Datentyps einer Spalte in Power Pivot.
Inhalt dieses Artikels
Zusammenfassung der Datentypen
In der folgenden Tabelle sind datentypen aufgeführt, die in einem Datenmodell unterstützt werden. Wenn Sie Daten importieren oder einen Wert in einer Formel verwenden, werden die Daten in einen dieser Datentypen konvertiert, selbst wenn die ursprüngliche Datenquelle einen anderen Datentyp enthält. Werte, die sich aus Formeln ergeben, verwenden auch diese Datentypen.
Datentyp in Excel |
Datentyp in DAX |
Beschreibung |
---|---|---|
Ganze Zahl |
Ein ganzzahliger 64-Bit-Wert (acht Bytes) 1, 2 |
Zahlen ohne Dezimalstellen. Ganze Zahlen können positive oder negative Zahlen sein, müssen aber ganze Zahlen zwischen -9.223.372.036.854.775.808 (-2^63) und 9.223.372.036.854.775.807 (2^63-1) sein. |
Dezimalzahl |
Eine reelle 64-Bit-Zahl (acht Bytes) 1, 2 |
Reelle Zahlen sind Zahlen, die Dezimalstellen aufweisen können. Reelle Zahlen decken einen breiten Bereich von Werten 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. |
TRUE/FALSE |
Boolesch |
Entweder ein True- oder False-Wert. |
Text |
String |
Eine Unicode-Zeichendatenzeichenfolge. Kann Zeichenfolgen, Zahlen oder Datumsangaben sein, die in einem Textformat dargestellt werden. Die maximale Zeichenfolgenlänge beträgt 268.435.456 Unicode-Zeichen (256 Megazeichen) oder 536.870.912 Bytes. |
Datum |
Datum/Uhrzeit |
Datums- und Uhrzeitangaben in einer akzeptierten Datums-/Uhrzeitdarstellung. Gültige Datumsangaben sind alle Datumsangaben nach dem 1. Januar 1900. |
Währung |
Währung |
Der Währungsdatentyp lässt Werte zwischen -922.337.203.685.477.5808 und 922.337.203.685.477.5807 mit vier Dezimalstellen mit fester Genauigkeit zu. |
N/V |
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 mit der logischen Funktion ISBLANK auf Leerzeichen testen. |
1 DAX-Formeln unterstützen keine Datentypen, die kleiner sind als die in der Tabelle aufgeführten.
2 Wenn Sie versuchen, Daten mit sehr großen numerischen Werten zu importieren, schlägt der Import möglicherweise mit dem folgenden Fehler fehl:
In-Memory-Datenbankfehler: Die Spalte "<Spaltenname>" der Tabelle "<Tabellenname>" enthält den Wert "1.7976931348623157e+308", der nicht unterstützt wird. Der Vorgang wurde abgebrochen.
Dieser Fehler tritt auf, weil Power Pivot diesen Wert verwendet, um NULL-Werte darzustellen. Die Werte in der folgenden Liste sind Synonyme für den NULL-Wert:
Value |
|
---|---|
9223372036854775807 |
|
-9223372036854775808 |
|
1,7976931348623158e+308 |
|
2.2250738585072014e-308 |
Entfernen Sie den Wert aus Ihren Daten, und versuchen Sie es erneut.
Tabellendatentyp
DAX verwendet einen Tabellendatentyp in vielen Funktionen, z. B. Aggregationen und Zeitintelligenzberechnungen. Einige Funktionen erfordern einen Verweis auf eine Tabelle. 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 bestimmte Anforderungen hinsichtlich der Datentypen, die als Eingaben und Ausgaben verwendet werden. Einige Funktionen erfordern z. B. 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, mit dem für die Funktion erforderlichen Datentyp nicht kompatibel sind, 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 ein Datum als Zeichenfolge eingeben, und DAX analysiert die Zeichenfolge und versucht, sie in eines der Windows-Datums- und Uhrzeitformate zu umwandeln.
-
Sie können TRUE +1 hinzufügen und das Ergebnis 2 abrufen, da TRUE 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 diese von Excel 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. Excel führt nach Möglichkeit implizite Konvertierungen durch, wie dies für den angegebenen Vorgang erforderlich ist.
Tabelle der impliziten Datenkonvertierungen
Der Typ der konvertierung, die ausgeführt wird, wird vom -Operator bestimmt, der die Werte umsetzt, die er vor dem Ausführen des angeforderten Vorgangs benötigt. Diese Tabellen listen die Operatoren auf und geben die Konvertierung an, die für jeden Datentyp in der Spalte ausgeführt wird, wenn er mit dem Datentyp in der sich überschneidende Zeile gekoppelt wird.
Hinweis: Textdatentypen sind in diesen Tabellen nicht enthalten. Wenn eine Zahl als in einem Textformat dargestellt wird, versuchen Power Pivot in einigen Fällen, den Zahlentyp zu bestimmen und als Zahl darzustellen.
Addition (+)
Operator (+) |
INTEGER |
CURRENCY |
REAL |
Datum/Uhrzeit |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
Datum/Uhrzeit |
CURRENCY |
CURRENCY |
CURRENCY |
REAL |
Datum/Uhrzeit |
REAL |
REAL |
REAL |
REAL |
Datum/Uhrzeit |
Datum/Uhrzeit |
Datum/Uhrzeit |
Datum/Uhrzeit |
Datum/Uhrzeit |
Datum/Uhrzeit |
Wenn beispielsweise eine reelle Zahl in einem Additionsvorgang 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).
Operator (-) |
INTEGER |
CURRENCY |
REAL |
Datum/Uhrzeit |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
REAL |
CURRENCY |
CURRENCY |
CURRENCY |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
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 Datumsangaben konvertiert, und der Rückgabewert ist ebenfalls ein Datum.
Hinweis: Datenmodelle unterstützen auch den unären Operator - (negativ), aber dieser Operator ändert den Datentyp des Operanden nicht.
Multiplikation (*)
Operator (*) |
INTEGER |
CURRENCY |
REAL |
Datum/Uhrzeit |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
INTEGER |
CURRENCY |
CURRENCY |
REAL |
CURRENCY |
CURRENCY |
REAL |
REAL |
CURRENCY |
REAL |
REAL |
Wenn beispielsweise eine ganze Zahl in einem Multiplikationsvorgang mit einer reellen Zahl kombiniert wird, werden beide Zahlen in reelle Zahlen konvertiert, und der Rückgabewert ist ebenfalls REAL.
Division (/)
In der folgenden Tabelle ist die Zeilenüberschrift der Zähler, und die Spaltenüberschrift ist der Nenner.
Operator (/) (Zeile/Spalte) |
INTEGER |
CURRENCY |
REAL |
Datum/Uhrzeit |
---|---|---|---|---|
INTEGER |
REAL |
CURRENCY |
REAL |
REAL |
CURRENCY |
CURRENCY |
REAL |
CURRENCY |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
Datum/Uhrzeit |
REAL |
REAL |
REAL |
REAL |
Wenn beispielsweise eine ganze Zahl in einem Divisionsvorgang mit einem Währungswert kombiniert wird, werden beide Werte in reelle Zahlen konvertiert, und das Ergebnis ist ebenfalls eine reelle Zahl.
Vergleichsoperatoren
In Vergleichsausdrücken werden boolesche Werte als größer als Zeichenfolgenwerte betrachtet, und Zeichenfolgenwerte werden als größer als numerische Werte oder Datums-/Uhrzeitwerte betrachtet; Zahlen und Datums-/Uhrzeitwerte werden als mit demselben Rang betrachtet. Für boolesche Werte oder Zeichenfolgenwerte werden keine impliziten Konvertierungen ausgeführt. BLANK oder ein leerer Wert wird je nach Datentyp des anderen verglichenen Werts in 0/""/false konvertiert.
Die folgenden DAX-Ausdrücke veranschaulichen dieses Verhalten:
=IF(FALSE()>"true";"Expression is true", "Expression is false"), gibt "Expression is true" zurück.
=WENN("12">12;"Ausdruck ist wahr"; "Ausdruck ist false"), gibt "Ausdruck ist true" zurück.
=IF("12"=12;"Expression is true", "Expression is false"), gibt "Expression is false" zurück.
Konvertierungen werden implizit für numerische Typen oder Datums-/Uhrzeittypen ausgeführt, wie in der folgenden Tabelle beschrieben:
Vergleichsoperator |
INTEGER |
CURRENCY |
REAL |
Datum/Uhrzeit |
---|---|---|---|---|
INTEGER |
INTEGER |
CURRENCY |
REAL |
REAL |
CURRENCY |
CURRENCY |
CURRENCY |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
REAL |
Datum/Uhrzeit |
REAL |
REAL |
REAL |
Datum/Uhrzeit |
Behandeln von Leerzeichen, leeren Zeichenfolgen und Nullwerten
In DAX werden ein NULL-Wert, ein leerer Wert, eine leere Zelle oder ein fehlender Wert durch denselben neuen Werttyp, einen LEEREN, dargestellt. Sie können auch Leerzeichen generieren, indem Sie die BLANK-Funktion verwenden oder mit der ISBLANK-Funktion auf Leerzeichen testen.
Wie Leerzeichen in Vorgängen wie Addition oder Verkettung behandelt werden, hängt von der einzelnen Funktion ab. In der folgenden Tabelle werden die Unterschiede zwischen DAX- und Microsoft Excel-Formeln in der Art und Weise zusammengefasst, wie Leerzeichen behandelt werden.
Expression |
DAX |
Excel |
---|---|---|
LEER + LEER |
LEER |
0 (null) |
LEER +5 |
5 |
5 |
LEER * 5 |
LEER |
0 (null) |
5/LEER |
Unendlich |
Fehler |
0/LEER |
NaN |
Fehler |
LEER/LEER |
LEER |
Fehler |
FALSE ODER LEER |
FALSE |
FALSE |
FALSE UND LEER |
FALSE |
FALSE |
TRUE ODER LEER |
WAHR |
WAHR |
TRUE UND LEER |
FALSCH |
WAHR |
LEER ODER LEER |
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.