Monday, May 2, 2022

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

Seitenanfang

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 .

Seitenanfang

No comments:

Post a Comment