Datentypen in Datenmodellen
In einem Datenmodell hat jede Spalte einen zugeordneten Datentyp, der den Datentyp angibt, den die Spalte enthalten kann: ganze Zahlen, Dezimalzahlen, Text, Währungsdaten, Datum und Uhrzeit usw. Der Datentyp bestimmt auch, welche Arten von Operationen Sie mit der Spalte ausführen können und wie viel Speicher 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. Möglicherweise müssen Sie dies tun, wenn eine Datumsspalte als Zeichenfolge importiert wurde, Sie jedoch etwas anderes benötigen. Weitere Informationen finden Sie unter Festlegen des Datentyps einer Spalte in Power Pivot.
In diesem Artikel
Zusammenfassung der Datentypen
Die folgende Tabelle listet Datentypen auf, 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. Auch Werte, die sich aus Formeln ergeben, verwenden diese Datentypen.
Datentyp in Excel | Datentyp in DAX | Beschreibung |
---|---|---|
Ganze Zahl | Ein 64-Bit (acht Byte) ganzzahliger Wert 1, 2 | Zahlen ohne Nachkommastellen. 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 Nachkommastellen haben können. Reelle Zahlen decken einen weiten 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 signifikanter Stellen ist jedoch auf 15 Dezimalstellen begrenzt. |
WAHR FALSCH | Boolesch | Entweder ein wahrer oder ein falscher Wert. |
Text | Schnur | Eine Zeichenfolge aus Unicode-Zeichen. Können Zeichenfolgen, Zahlen oder Daten sein, die in einem Textformat dargestellt werden. Die maximale Zeichenfolgenlänge beträgt 268.435.456 Unicode-Zeichen (256 Megazeichen) oder 536.870.912 Byte. |
Datum | Terminzeit | Datums- und Uhrzeitangaben in einer akzeptierten Datums-/Uhrzeitdarstellung. Gültige Daten sind alle Daten nach dem 1. Januar 1900. |
Währung | Währung | Der Datentyp „Währung" lässt Werte zwischen -922.337.203.685.477,5808 bis 922.337.203.685.477,5807 mit vier Dezimalstellen mit fester Genauigkeit zu. |
N / A | Leer | Ein Leerzeichen ist ein Datentyp in DAX, der SQL-Nullen darstellt und ersetzt. Sie können ein Leerzeichen erstellen, indem Sie die BLANK-Funktion verwenden, und auf Leerzeichen testen, indem Sie die logische Funktion ISBLANK verwenden. |
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, schlägt der Import möglicherweise mit dem folgenden Fehler fehl:
In-Memory-Datenbankfehler: 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, weil Power Pivot diesen Wert verwendet, um Nullen darzustellen. Die Werte in der folgenden Liste sind Synonyme für den Nullwert:
Wert | |
---|---|
9223372036854775807 | |
-9223372036854775808 | |
1.7976931348623158e+308 | |
2.2250738585072014e-308 |
Entfernen Sie den Wert aus Ihren Daten und versuchen Sie erneut, ihn zu importieren.
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 unter DAX Function Reference .
Implizite und explizite Datentypkonvertierung in DAX-Formeln
Jede DAX-Funktion hat spezifische Anforderungen an die Datentypen, die als Eingaben und Ausgaben verwendet werden. Beispielsweise erfordern einige Funktionen Ganzzahlen 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 für die Funktion erforderlichen Datentyp kompatibel sind, gibt DAX in vielen Fällen einen Fehler zurück. Wo immer möglich, 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 umzuwandeln.
Sie können TRUE + 1 addieren und erhalten das Ergebnis 2, da TRUE implizit in die Zahl 1 umgewandelt wird und die Operation 1+1 ausgeführt wird.
Wenn Sie Werte in zwei Spalten hinzufügen und ein Wert zufällig 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, stellt Excel sie als Zeichenfolgen dar und verkettet sie dann. Der folgende Ausdruck gibt „1234" zurück: = 12 & 34
Die folgende Tabelle fasst die impliziten Datentypkonvertierungen zusammen, die in Formeln durchgeführt werden. Excel führt nach Möglichkeit implizite Konvertierungen durch, wenn dies für den angegebenen Vorgang erforderlich ist.
Tabelle der impliziten Datenkonvertierungen
Die Art der durchgeführten Konvertierung wird vom Operator bestimmt, der die erforderlichen Werte umwandelt, bevor er die angeforderte Operation ausführt. Diese Tabellen listen die Operatoren auf und geben die Konvertierung an, die für jeden Datentyp in der Spalte durchgeführt wird, wenn er mit dem Datentyp in der sich überschneidenden Zeile gepaart wird.
Hinweis: Textdatentypen sind in diesen Tabellen nicht enthalten. Wenn eine Zahl in einem Textformat dargestellt wird, versucht Power Pivot in einigen Fällen, den Zahlentyp zu bestimmen und als Zahl darzustellen.
Zusatz (+)
Operator (+) | GANZE ZAHL | WÄHRUNG | ECHT | Terminzeit |
---|---|---|---|---|
GANZE ZAHL | GANZE ZAHL | WÄHRUNG | ECHT | Terminzeit |
WÄHRUNG | WÄHRUNG | WÄHRUNG | ECHT | Terminzeit |
ECHT | ECHT | ECHT | ECHT | Terminzeit |
Terminzeit | Terminzeit | Terminzeit | Terminzeit | Terminzeit |
Wenn beispielsweise eine reelle Zahl in einer Additionsoperation in Kombination mit Währungsdaten verwendet wird, werden beide Werte in REAL konvertiert und das Ergebnis als REAL zurückgegeben.
Subtraktion (-)
In der folgenden Tabelle ist die Zeilenüberschrift der Minuend (linke Seite) und die Spaltenüberschrift der Subtrahend (rechte Seite).
Operator (-) | GANZE ZAHL | WÄHRUNG | ECHT | Terminzeit |
---|---|---|---|---|
GANZE ZAHL | GANZE ZAHL | WÄHRUNG | ECHT | ECHT |
WÄHRUNG | WÄHRUNG | WÄHRUNG | ECHT | ECHT |
ECHT | ECHT | ECHT | ECHT | ECHT |
Terminzeit | Terminzeit | Terminzeit | Terminzeit | Terminzeit |
Wenn beispielsweise ein Datum in einer Subtraktionsoperation 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 nicht den Datentyp des Operanden.
Multiplikation (*)
Operator (*) | GANZE ZAHL | WÄHRUNG | ECHT | Terminzeit |
---|---|---|---|---|
GANZE ZAHL | GANZE ZAHL | WÄHRUNG | ECHT | GANZE ZAHL |
WÄHRUNG | WÄHRUNG | ECHT | WÄHRUNG | WÄHRUNG |
ECHT | ECHT | WÄHRUNG | ECHT | ECHT |
Wenn beispielsweise bei einer Multiplikation eine ganze Zahl mit einer reellen Zahl kombiniert wird, werden beide Zahlen in reelle Zahlen umgewandelt und der Rückgabewert ist ebenfalls REAL.
Aufteilung (/)
In der folgenden Tabelle ist der Zeilenkopf der Zähler und der Spaltenkopf der Nenner.
Operator (/) (Zeile Spalte) | GANZE ZAHL | WÄHRUNG | ECHT | Terminzeit |
---|---|---|---|---|
GANZE ZAHL | ECHT | WÄHRUNG | ECHT | ECHT |
WÄHRUNG | WÄHRUNG | ECHT | WÄHRUNG | ECHT |
ECHT | ECHT | ECHT | ECHT | ECHT |
Terminzeit | ECHT | ECHT | ECHT | ECHT |
Wenn beispielsweise bei einer Division eine Ganzzahl mit einem Währungswert kombiniert wird, werden beide Werte in reelle Zahlen umgewandelt, und das Ergebnis ist ebenfalls eine reelle Zahl.
Vergleichsoperatoren
In Vergleichsausdrücken gelten boolesche Werte als größer als Zeichenfolgenwerte und Zeichenfolgenwerte als größer als numerische oder Datums-/Uhrzeitwerte; Zahlen und Datums-/Uhrzeitwerte gelten als gleichrangig. Für boolesche oder Zeichenfolgenwerte werden keine impliziten Konvertierungen durchgeführt; BLANK oder ein Leerwert wird je nach Datentyp des anderen verglichenen Werts in 0/""/false umgewandelt.
Die folgenden DAX-Ausdrücke veranschaulichen dieses Verhalten:
=IF(FALSE()>"true","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 durchgeführt, wie in der folgenden Tabelle beschrieben:
Vergleichsoperator | GANZE ZAHL | WÄHRUNG | ECHT | Terminzeit |
---|---|---|---|---|
GANZE ZAHL | GANZE ZAHL | WÄHRUNG | ECHT | ECHT |
WÄHRUNG | WÄHRUNG | WÄHRUNG | ECHT | ECHT |
ECHT | ECHT | ECHT | ECHT | ECHT |
Terminzeit | ECHT | ECHT | ECHT | Terminzeit |
Umgang mit Leerzeichen, leeren Zeichenfolgen und Nullwerten
In DAX werden ein Nullwert, ein leerer Wert, eine leere Zelle oder ein fehlender Wert alle durch denselben neuen Werttyp, ein BLANK, dargestellt. Sie können auch Leerzeichen generieren, indem Sie die BLANK-Funktion verwenden, oder auf Leerzeichen testen, indem Sie die ISBLANK-Funktion verwenden.
Wie Leerzeichen bei Operationen wie Addition oder Verkettung behandelt werden, hängt von der jeweiligen Funktion ab. Die folgende Tabelle fasst die Unterschiede zwischen DAX- und Microsoft Excel-Formeln in der Art und Weise zusammen, wie Leerzeichen 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 | FALSCH | FALSCH |
FALSCH UND LEER | FALSCH | FALSCH |
WAHR ODER LEER | WAHR | WAHR |
WAHR UND LEER | FALSCH | WAHR |
LEER ODER LEER | LEER | Fehler |
LEER UND LEER | LEER | Fehler |
Einzelheiten dazu, wie eine bestimmte Funktion oder ein bestimmter Operator Leerzeichen behandelt, finden Sie in den einzelnen Themen zu jeder DAX-Funktion im Abschnitt DAX-Funktionsreferenz .
No comments:
Post a Comment