Leere Datumsfelder filtern

Manchmal sind Daten unvollständig oder optional, weshalb Felder in Analytics-Tabellen leer sein können. Wenn ein Ausdruck in Analytics ein leeres Datumsfeld vergleicht, wird das leere Datum 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:

Produktkategorie Basismarge Auftragsdatum Auftragskennung Priorität Menge Steuersatz Kategorie
Kleinunternehmen 0,04   3 Niedrig 6 0,8 Bürobedarf
Verbraucher 0,07   293 Hoch 49 0,58 Bürobedarf
Verbraucher 0,01 07/23/2012 293 Hoch 27 0,39 Bürobedarf
Kapitalgesellschaft 0,08 10/15/2010 483 Hoch 30 0,58 Technologie
Verbraucher 0,08 08/28/2010 515 Nicht spezifiziert 19 0,5 Bürobedarf
Verbraucher 0,05 08/28/2010 515 Nicht spezifiziert 21 0,37 Möbel
Kapitalgesellschaft 0,03 06/17/2011 613 Hoch 12 0,38 Bürobedarf
Kapitalgesellschaft 0,09 06/17/2011 613 Hoch 22 0 Bürobedarf
Kapitalgesellschaft 0,07 03/24/2012 643 Hoch 21 0 Bürobedarf
Heimbüro 0,07 02/26/2009 678 Niedrig 44 0,38 Bürobedarf

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 leere Datumswerte als 1900-01-01 behandelt und der 1. Januar 1900 vor dem 1. Januar 2011 liegt, beinhalten Ihre Ergebnisse Datensätze mit leeren Auftragsdatum-Feldern, die Sie eigentlich ausschließen möchten:

Produktkategorie Basismarge Auftragsdatum Auftragskennung Priorität Menge Steuersatz Kategorie
Kleinunternehmen 0,04   3 Niedrig 6 0,8 Bürobedarf
Verbraucher 0,07   293 Hoch 49 0,58 Bürobedarf
Kapitalgesellschaft 0,08 10/15/2010 483 Hoch 30 0,58 Technologie
Verbraucher 0,08 08/28/2010 515 Nicht spezifiziert 19 0,5 Bürobedarf
Verbraucher 0,05 08/28/2010 515 Nicht spezifiziert 21 0,37 Möbel
Heimbüro 0,07 02/26/2009 678 Niedrig 44 0,38 Bürobedarf

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

Mit Funktionen können Sie leere Datenfelder 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 leere Felder 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

Da Sie vor dem Test auf eine Auftragserteilung vor 2011 leere Werte ausgeschlossen haben, beinhalten die Ergebnisse dieses Filters keine stornierten Aufträge mehr wie es beim ersten Filter der Fall war:

Produktkategorie Basismarge Auftragsdatum Auftragskennung Priorität Menge Steuersatz Kategorie
Kapitalgesellschaft 0,08 10/15/2010 483 Hoch 30 0,58 Technologie
Verbraucher 0,08 08/28/2010 515 Nicht spezifiziert 19 0,5 Bürobedarf
Verbraucher 0,05 08/28/2010 515 Nicht spezifiziert 21 0,37 Möbel
Heimbüro 0,07 02/26/2009 678 Niedrig 44 0,38 Bürobedarf