Nach leeren Datumswerten filtern

Manchmal sind Daten unvollständig oder optional, weshalb Felder in Analytics-Tabellen leer sein oder Nullwerte beinhalten können. Wenn ein Ausdruck in Analytics einen Nullwert in einem Datumsfeld vergleicht, wird dieser als das Mindestsystemdatum gewertet (1900-01-01). Immer wenn Sie einen Ausdruck schreiben, der Datumswerte vergleicht, müssen Sie dieses Verhalten berücksichtigen.

Die Auftragstabelle

Sie arbeiten mit der folgenden Auftragstabelle und müssen sie filtern, damit Sie alle Aufträge analysieren können, die vor dem Jahr 2011 erteilt wurden. Wenn ein Datensatz kein Auftragsdatum enthält, handelt es sich um einen stornierten Auftrag. Diese möchten Sie nicht in Ihre gefilterten Datensätze aufnehmen:

Kategorie Auftragsdatum Auftragskennung Menge
Bürobedarf   3 6
Bürobedarf   293 49
Bürobedarf 07/23/2012 293 27
Technologie 10/15/2010 483 30
Bürobedarf 08/28/2010 515 19
Möbel 08/28/2010 515 21
Bürobedarf 06/17/2011 613 12
Bürobedarf 06/17/2011 613 22
Bürobedarf 03/24/2012 643 21
Bürobedarf 02/26/2009 678 44

Einfache Filter verwenden

Bei Ihrem ersten Versuch, die Tabelle zu filtern, verwenden Sie den folgenden einfachen Ausdruck, um alle Aufträge ab dem Jahr 2011 auszuschließen:

Tipp

Beachten Sie die Backquotes `, die den literalen Datumswert umschließen. Sie müssen literale Datumzeit-Werte stets mit diesem Kennzeichner umschließen. Weitere Informationen finden Sie unter Datentypen.

COMMENT Filtert alle Datensätze mit einem Auftragsdatum ab 1. Jan. 2011
SET FILTER TO Auftragsdatum < `20110101`

Erstes Filterergebnis

Weil Analytics Nullwerte in Datumsfeldern als „1900-01-01“ behandelt und der 1. Januar 1900 vor dem 1. Januar 2011 liegt, beinhalten Ihre Ergebnisse Datensätze mit leeren Auftragsdatum-Werten, die Sie eigentlich ausschließen möchten:Analytics

Kategorie Auftragsdatum Auftragskennung Menge
Bürobedarf   3 6
Bürobedarf   293 49
Technologie 10/15/2010 483 30
Bürobedarf 08/28/2010 515 19
Möbel 08/28/2010 515 21
Bürobedarf 02/26/2009 678 44

Während der Filterung auf leere Felder überprüfen

Mit Funktionen können Sie Nullwerte in Datumsfeldern ausschließen, bevor Sie Datensätze ab 2011 filtern.

Die Funktion ISBLANK( ) gibt „wahr“ zurück, wenn ein Textwert leer ist. Mit einer gewissen Veränderung des Felds Auftragsdatum können Sie also leere Werte ausschließen:

COMMENT Schließt Nullwerte in Datumsfeldern und Aufträge mit Datum ab 2011 aus
SET FILTER TO NOT ISBLANK(DATETIME(Auftragsdatum)) AND Auftragsdatum < `20110101`

Bei der Auswertung dieses Ausdrucks werden die Funktionen von innen nach außen ausgeführt. Folgendes geschieht:

  1. Die FunktionDATETIME( ) konvertiert den Datumswert aus Auftragsdatum in einen Textwert (`20100828` wird zu "20100828").
  2. Die Funktion ISBLANK( ) überprüft, ob der Textwert leer ist, und wird als „wahr“ oder „falsch“ ausgewertet:
  3. Der NOT-Operator kehrt den logischen Wert um, den ISBLANK( ) zurückgibt.
    • Wenn das Feld Auftragsdatum also leer ist (wahr), wird dieser Wert auf „falsch“ umgekehrt, und der Filter schließt den Datensatz aus.
    • Wenn das Auftragsdatum nicht leer ist (falsch), wird der Wert auf „wahr“ umgekehrt. Der Filter überprüft, ob das Datum vor 2011 liegt, und schließt alle Datensätze ein, die im Feld Auftragsdatum einen Wert vor dem 1. Januar 2011 aufweisen.

Tipp

Es werden nur Datensätze einbezogen, deren Unterausdrücke auf beiden Seiten des AND-Operators als „wahr“ ausgewertet werden. Wenn die Unterausdrücke als „falsch“ ausgewertet werden, wird der Datensatz nicht einbezogen.

Zweites Filterergebnis

Der zweite Filter schließt Nullwerte in Datumsfeldern aus, bevor er testet, ob Aufträge vor 2011 erteilt wurden, damit die Ergebnisse nicht wie der erste Filter stornierte Aufträge enthalten.

Kategorie Auftragsdatum Auftragskennung Menge
Technologie 10/15/2010 483 30
Bürobedarf 08/28/2010 515 19
Möbel 08/28/2010 515 21
Bürobedarf 02/26/2009 678 44