Freigeben über


Arbeiten mit leeren Werten

Ein leerer Wert kennzeichnet, dass ein bestimmtes Element, ein bestimmtes Tupel oder eine bestimmte Zelle leer ist. Ein leerer Zellenwert kennzeichnet entweder, dass die Daten für die angegebene Zelle in der zugrunde liegenden Faktentabelle nicht gefunden wurden, oder, dass das Tupel für die angegebene Zelle einer Kombination aus Elementen entspricht, die für den Cube nicht anwendbar ist.

ms145626.note(de-de,SQL.90).gifHinweis:
Ein leerer Wert ist zwar nicht mit dem Wert 0 identisch, wird aber meistens wie der Wert 0 behandelt.

Die folgenden Informationen gelten für leere Werte:

  • Die IsEmpty-Funktion gibt TRUE zurück, wenn die Zelle, die durch den in der Funktion angegebenen Tupel identifiziert ist, leer ist. Andernfalls gibt die Funktion FALSE zurück.
    ms145626.note(de-de,SQL.90).gifHinweis:
    Die IsEmpty-Funktion kann nicht ermitteln, ob ein Element leer ist. Zum Ermitteln, ob ein Element leer ist, verwenden Sie den IS-Operator.
  • Ist der leere Zellwert ein Operand für einen der numerischen Operatoren (+, -, *, /), wird der leere Zellwert als 0 behandelt, wenn der andere Operand ein nicht leerer Wert ist. Sind beide Operanden leer, gibt der numerische Operator den leeren Zellwert zurück.
  • Ist der leere Zellwert ein Operand für den Operator für Zeichenfolgenverkettungen (+), wird der leere Zellwert als leere Zeichenfolge behandelt, wenn der andere Operand ein nicht leerer Wert ist. Sind beide Operanden leer, gibt der Operator für Zeichenfolgenverkettungen den leeren Zellwert zurück.
  • Wenn der leere Zellwert ein Operand für einen der Vergleichsoperatoren (=. <>, >=, <=, >, <) ist, wird er als 0 oder leere Zeichenfolge behandelt, abhängig davon, ob der Datentyp des anderen Operanden entsprechend ein numerischer Typ oder eine Zeichenfolge ist. Sind beide Operanden leer, werden beide als 0 behandelt.
  • Beim Sortieren numerischer Werte nimmt der leere Zellwert dieselbe Stelle ein wie die Zahl Null. Bei der Sortierung zwischen dem leeren Zellwert und null wird der leere Zellwert vor null eingeordnet.
  • Beim Sortieren von Zeichenfolgenwerten nimmt der leere Zellwert dieselbe Stelle ein wie die leere Zeichenfolge. Bei der Sortierung zwischen dem leeren Zellwert und der leeren Zeichenfolge wird der leere Zellwert vor der leeren Zeichenfolge eingeordnet.

Umgehen mit leeren Werten in MDX-Anweisungen und Cubes

In MDX-Anweisungen (Multidimensional Expressions) können Sie nach leeren Werten suchen und dann bestimmte Berechnungen für Zellen ausführen, die gültige (also nicht leere) Daten enthalten. Das Entfernen von leeren Werten aus Berechnungen kann wichtig sein, da bestimmte Berechnungen (z. B. eine Durchschnittsberechnung) verfälscht werden können, wenn leere Zellwerte eingeschlossen werden.

Wenn in den Daten der zugrunde liegenden Faktentabelle leere Werte gespeichert werden können, Sie aber nicht möchten, dass der Cube leere Zellwerte enthält, erstellen Sie Abfragen sowie Anweisungen zur Datenänderung, die leere Werte entweder ausschließen oder mit einem anderen Wert zusammenführen. Außerdem können Sie für ein Measure die Option NULL-Verarbeitung verwenden, um NULL-Werte so zu ändern, dass NULL in 0 oder einen leeren Wert konvertiert oder dass während der Verarbeitung ein Fehler ausgelöst wird.

Leere Werte und Vergleichsoperatoren

Sind leere Werte in den Daten vorhanden, ist es möglich, dass logische Operatoren und Vergleichsoperatoren nicht nur TRUE oder FALSE zurückgeben, sondern ein drittes Ergebnis: EMPTY. Diese Notwendigkeit einer dreiwertigen Logik ist die Ursache für zahlreiche Anwendungsfehler. In den folgenden Tabellen wird dargestellt, welche Auswirkungen die Einführung von Vergleichen zwischen leeren Werten haben kann.

Die folgende Tabelle zeigt die Ergebnisse des Anwendens eines AND-Operators auf zwei boolesche Operanden.

AND TRUE EMPTY FALSE

TRUE

TRUE

FALSE

FALSE

EMPTY

FALSE

EMPTY

FALSE

FALSE

FALSE

FALSE

FALSE

Die folgende Tabelle zeigt die Ergebnisse des Anwendens eines OR-Operators auf zwei boolesche Operanden.

OR TRUE FALSE

TRUE

TRUE

TRUE

EMPTY

TRUE

TRUE

FALSE

TRUE

FALSE

Die folgende Tabelle zeigt, wie der NOT-Operator das Ergebnis eines booleschen Operators negiert oder umkehrt.

Boolescher Ausdruck, auf den der NOT-Operator angewendet wird Auswertungsergebnis

TRUE

FALSE

EMPTY

EMPTY

FALSE

TRUE

Siehe auch

Verweis

MDX-Funktionsreferenz (MDX)
MDX-Operatorreferenz (MDX)

Konzepte

Ausdrücke (MDX)

Andere Ressourcen

Definieren und Konfigurieren der Dimensionsverwendung und der Dimensionsbeziehungen
Lektion 5: Definieren von Beziehungen zwischen Dimensionen und Measuregruppen

Hilfe und Informationen

Informationsquellen für SQL Server 2005