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:
- Die FunktionDATETIME( ) konvertiert den Datumswert aus Auftragsdatum in einen Textwert (`20100828` wird zu "20100828").
- Die Funktion ISBLANK( ) überprüft, ob der Textwert leer ist, und wird als „wahr“ oder „falsch“ ausgewertet:
- 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 |