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 Zeitangaben und so weiter. Der Datentyp bestimmt außerdem, welche Arten von Vorgängen Sie für die Spalte verwenden können und wie viel Arbeitsspeicher zum Speichern der Werte in der Spalte benötigt wird.
Wenn Sie das Add- Power Pivot verwenden, können Sie den Datentyp einer Spalte ändern. Möglicherweise müssen Sie dies tun, wenn eine Datumsspalte als Zeichenfolge importiert wurde, sie aber ein anderer Wert sein muss. Weitere Informationen finden Sie unter Festlegen des Datentyps einer Spalte in Power Pivot.
Inhalt dieses Artikels
Zusammenfassung der Datentypen
In der folgenden Tabelle sind die in einem Datenmodell unterstützten Datentypen aufgeführt. Wenn Sie Daten importieren oder einen Wert in einer Formel verwenden, werden die Daten in einen dieser Datentypen konvertiert, auch wenn die ursprüngliche Datenquelle einen anderen Datentyp enthält. Werte, die aus Formeln resultieren, verwenden ebenfalls 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 echte 64-Bit-Zahl (acht Bytes) 1, 2 |
Echte Zahlen sind Zahlen, die Dezimalstellen enthalten können. Echte 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 nachkommastellenden Stellen ist jedoch auf 15 Dezimalstellen begrenzt. |
WAHR/FALSCH |
Boolesch |
Entweder ein Wert vom Wert "Wahr" oder "Falsch". |
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 nach dem 1. Januar 1900. |
Währung |
Währung |
Der Datentyp Währung ermöglicht Werte zwischen -922.337.203.685.477,5808 bis 922.337.203.685.477,5807 mit vier Dezimalstellen fester Genauigkeit. |
n. v. |
Leer |
Ein leeres Feld ist ein Datentyp in DAX, der Nullen SQL darstellt und ersetzt. Sie können ein Leeres mit der Funktion LEER erstellen und mit der logischen Funktion IST LEER auf Leerzeichen testen. |
1 DAX-Formeln unterstützen keine Datentypen, die kleiner als die in der Tabelle aufgeführten sind.
2 Wenn Sie versuchen, Daten mit sehr großen numerischen Werten zu importieren, tritt beim Import möglicherweise ein Fehler auf, und der folgende Fehler wird angezeigt:
Speicherinte 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 zum Darstellen von Nullen verwendet. Die Werte in der folgenden Liste sind Synonyme für den Nullwert:
Value |
|
---|---|
9223372036854775807 |
|
-9223372036854775808 |
|
1,7976931348623158e+308 |
|
2,2250738585072014e-308 |
Entfernen Sie den Wert aus Ihren Daten, und wiederholen Sie den Import.
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. Bei einigen Funktionen, die eine Tabelle als Eingabe erfordern, können Sie einen Ausdruck angeben, der eine Tabelle auswertet. für einige Funktionen ist ein Verweis auf eine Basistabelle erforderlich. Informationen zu den Anforderungen bestimmter Funktionen finden Sie unter DAX-Funktionsreferenz.
Implizite und explizite Datentypkonvertierung in DAX-Formeln
Für jede DAX-Funktion gelten spezifische Anforderungen im Fall der Datentypen, die als Ein- und Ausgaben verwendet werden. Beispielsweise erfordern einige Funktionen für einige Argumente und Datumsangaben ganze Zahlen. andere Funktionen Text oder Tabellen erfordern.
Wenn die Daten in der als Argument angegebenen Spalte 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. Zum 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 konvertieren.
-
Sie können WAHR + 1 hinzufügen und das Ergebnis 2 erhalten, 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 durch. Der folgende Ausdruck gibt 44 zurück: = "22" + 22
-
Wenn Sie versuchen, zwei Zahlen zu verketten, Excel Sie als Zeichenfolgen und dann verketten. 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 aus, wie dies für den angegebenen Vorgang erforderlich ist.
Tabelle impliziter Datenkonvertierungen
Der Ausgeführte Konvertierungstyp wird vom -Operator bestimmt, der die benötigten Werte wandelt, bevor der angeforderte Vorgang ausgeführt wird. In diesen Tabellen sind die Operatoren aufgeführt, und sie geben die Konvertierung an, die für jeden Datentyp in der Spalte ausgeführt wird, wenn dieser mit dem Datentyp in der sich überschneidenden Zeile gekoppelt wird.
Hinweis: Textdatentypen sind in diesen Tabellen nicht enthalten. Wenn eine Zahl als text formatiert dargestellt wird, versucht Power Pivot in einigen Fällen, den Zahlentyp zu bestimmen und als Zahl zu darstellen.
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 echte Zahl in einem Additionsvorgang in Kombination mit Währungsdaten verwendet wird, werden beide Werte in REAL umgerechnet, 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 untertrahend (rechte Seite).
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 Datumswerte konvertiert, und der Rückgabewert ist ebenfalls ein Datum.
Hinweis: Datenmodelle unterstützen auch den unären Operator - (negativ), dieser Operator ändert jedoch nicht den Datentyp des Operanden.
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 re echten Zahl kombiniert wird, werden beide Zahlen in reale 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 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 echte Zahlen umgerechnet, und das Ergebnis ist ebenfalls eine echte Zahl.
Vergleichsoperatoren
In Vergleichsausdrücken werden boolesche Werte als größer als Zeichenfolgenwerte und Zeichenfolgenwerte als größer als numerische Werte oder Datums-/Uhrzeitwerte betrachtet. Zahlen und Datums-/Uhrzeitwerte werden als ranggleich betrachtet. Für boolesche oder Zeichenfolgenwerte werden keine impliziten Konvertierungen ausgeführt. BLANK or a blank value is converted to 0/"""/false depending on the data type of the other compared value.
Die folgenden DAX-Ausdrücke veranschaulichen dieses Verhalten:
=WENN(FALSCH()>"wahr";"Ausdruck ist wahr"; "Ausdruck ist falsch"), gibt "Ausdruck ist wahr" zurück.
=WENN("12">12;"Ausdruck ist wahr"; "Ausdruck ist falsch"), gibt "Ausdruck ist wahr" zurück.
=WENN("12"=12;"Ausdruck ist wahr"; "Ausdruck ist falsch"), gibt "Ausdruck ist falsch" zurück.
Konvertierungen werden implizit für numerische 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 Leeren, leeren Zeichenfolgen und Nullwerten
In DAX werden ein Nullwert, ein leerer Wert, eine leere Zelle oder ein fehlender Wert durch denselben neuen Werttyp, ein BLANK-Wert, dargestellt. Sie können leere Zellen auch mithilfe der Funktion LEER generieren oder mit der Funktion ISTFK auf Leerzeichen testen.
Wie Leere in Vorgängen behandelt werden, z. B. Addition oder Verkettung, hängt von der jeweiligen Funktion ab. In der folgenden Tabelle werden die Unterschiede zwischen DAX- und Microsoft Excel Formeln in der Weise zusammengefasst, wie Leere behandelt werden.
Ausdruck |
DAX |
Excel |
---|---|---|
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 |
FALSCH ODER LEER |
FALSE |
FALSE |
FALSCH UND LEER |
FALSE |
FALSE |
WAHR ODER LEER |
WAHR |
WAHR |
WAHR UND LEER |
FALSCH |
WAHR |
LEER ODER LEER |
LEER |
Fehler |
LEER UND LEER |
LEER |
Fehler |
Details dazu, wie eine bestimmte Funktion oder ein bestimmter Operator Leere behandelt, finden Sie in den einzelnen Themen zu den einzelnen DAX-Funktionen im Abschnitt DAX-Funktionsreferenz.