Diese Funktion liefert True, wenn timestamp in dem Teil des Quartals liegt, der base_date enthält, und zwar bis einschließlich der letzten Millisekunde von base_date.
In Qlik Sense wird der boolesche Wert „wahr“ durch -1 dargestellt, der Wert „falsch“ durch 0.
Die Funktion inquartertodate() unterteilt das Jahr in vier gleiche Quartale zwischen dem 1. Januar und dem 31. Dezember (bzw. dem benutzerdefinierten Jahresbeginn und dem entsprechenden Enddatum). Unter Verwendung des base_date unterteilt die Funktion dann ein bestimmtes Quartal, wobei das base_date sowohl das Quartal als auch das maximal zulässige Datum für dieses Quartalssegment definiert. Abschließend gibt die Funktion ein boolesches Ergebnis zurück, wenn die vordefinierten Datumswerte mit diesem Segment verglichen werden.
Argumente
Argument
Beschreibung
timestamp
Das Datum, das mit base_date verglichen werden soll.
base_date
Datum, das für die Interpretation des Quartals verwendet wird.
period_no
Mit period_no kann der Beginn für das Quartal festgelegt werden. period_no ist eine ganze Zahl, wobei 0 für das Quartal steht, das base_date enthält. Negative Werte von period_no stehen für vorangehende, positive Werte für nachfolgende Quartale.
first_month_of_year
Wenn Sie mit abweichenden Geschäftsjahren arbeiten möchten, definieren Sie mit einer Zahl zwischen 2 und 12 für first_month_of_year einen anderen Startmonat.
Verwendung
Die Funktion inquartertodate() gibt einen booleschen Wert zurück. In der Regel wird dieser Funktionstyp als Bedingung in einem if-Ausdruck verwendet. Die Funktion inquartertodate() gibt eine Aggregierung oder Berechnung zurück, abhängig davon, ob ein ausgewertetes Datum in das Quartal bis einschließlich zum betreffenden Datum fällt.
Beispielsweise kann die Funktion inquartertodate() verwendet werden, um alle in einem Quartal bis zu einem bestimmten Datum gefertigten Geräte zu identifizieren.
Funktionsbeispiele
Beispiel
Ergebnis
inquartertodate('01/25/2013', '03/25/2013', 0)
Gibt TRUE zurück, da der Wert von timestamp, 01/25/2013, innerhalb des Dreimonatszeitraums vom 01/01/2013 bis zum 03/25/2013 liegt, in den der Wert von base_date, 03/25/2013, fällt.
inquartertodate('04/26/2013', '03/25/2013', 0)
Gibt FALSE zurück, da 04/26/2013 außerhalb des Zeitraums aus dem vorigen Beispiel liegt.
inquartertodate('02/25/2013', '06/09/2013', -1)
Gibt TRUE zurück, da der Wert von period_no, -1, den Suchzeitraum um einen Dreimonatszeitraum zurück verschiebt (ein Quartal des Jahres). Dadurch ist der Suchzeitraum 01/01/2013 bis 03/09/2013.
inquartertodate('03/25/2006', '04/15/2006', 0, 2)
Gibt TRUE zurück, da der Wert von first_month_of_year auf 2 festgelegt ist, wodurch der Suchzeitraum 02/01/2006 bis 04/15/2006 anstelle von 04/01/2006 bis 04/15/2006 ist.
Regionaleinstellungen
Sofern nicht anders angegeben, verwenden die Beispiele in diesem Thema das folgende Datumsformat: MM/TT/JJJJ. Das Datumsformat wird in der Anweisung SET DateFormat in Ihrem Datenladeskript angegeben. Das Standarddatumsformat in Ihrem System kann aufgrund Ihrer regionalen Einstellungen und anderer Faktoren abweichen. Sie können die Formate in den Beispielen unten Ihren Anforderungen entsprechend ändern. Sie können auch die Formate in Ihrem Ladeskript entsprechend den Beispielen ändern. Weitere Informationen finden Sie unter Ändern von regionalen Einstellungen für Apps und Skripte.
Regionale Standardeinstellungen in Apps basieren auf dem Benutzerprofil. Diese Einstellungen im regionalen Format hängen nicht mit der Sprache zusammen, die in der Benutzeroberfläche von Qlik Cloud angezeigt wird. Qlik Cloud wird in der gleichen Sprache wie der von Ihnen verwendete Browser angezeigt.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
date
in_quarter_to_date
Ergebnistabelle
date
in_quarter_to_date
1/7/2022
0
1/19/2022
0
2/5/2022
0
2/28/2022
0
3/16/2022
0
4/1/2022
-1
5/7/2022
-1
5/16/2022
0
6/15/2022
0
6/26/2022
0
7/9/2022
0
7/22/2022
0
7/23/2022
0
7/27/2022
0
8/2/2022
0
8/8/2022
0
8/19/2022
0
9/26/2022
0
10/14/2022
0
10/29/2022
0
Das Feld „in_quarter_to_date“ wird im vorangehenden load-Befehl mithilfe der Funktion inquartertodate() erstellt. Das erste angegebene Argument identifiziert, welches Feld ausgewertet wird. Das zweite Argument ist ein hardcodiertes Datum für den 15. Mai. Dies ist das base_date, das identifiziert, welches Quartal segmentiert wird, und die Endbegrenzung dieses Segments definiert. Eine period_no von 0 ist das abschließende Argument, was bedeutet, dass die Funktion keine Quartale vor oder nach dem segmentierten Quartal vergleicht.
Jede Transaktion, die zwischen dem 1. April und dem 15. Mai stattfindet, gibt ein boolesches Ergebnis von TRUE zurück. Transaktionen mit einem Datum am oder nach dem 16. Mai geben FALSE zurück, ebenso wie alle Transaktionen vor dem 1. April.
Beispiel 2 – period_no
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
Derselbe Datensatz und dasselbe Szenario wie im ersten Beispiel.
Die Erstellung eines Felds previous_qtr_to_date, das bestimmt, welche Transaktionen ein ganzes Quartal vor dem Quartalssegment stattfanden, das am 15. Mai 2022 endet.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
date
previous_qtr_to_date
Ergebnistabelle
date
previous_qtr_to_date
1/7/2022
-1
1/19/2022
-1
2/5/2022
-1
2/28/2022
0
3/16/2022
0
4/1/2022
0
5/7/2022
0
5/16/2022
0
6/15/2022
0
6/26/2022
0
7/9/2022
0
7/22/2022
0
7/23/2022
0
7/27/2022
0
8/2/2022
0
8/8/2022
0
8/19/2022
0
9/26/2022
0
10/14/2022
0
10/29/2022
0
Ein period_no-Wert von -1 gibt an, dass die Funktion inquartertodate () das Eingabequartalssegment mit dem vorherigen Quartal vergleicht. Der 15. Mai fällt in das zweite Quartal des Jahres, sodass das Segment anfänglich dem Zeitraum vom 1. April bis zum 15. Mai entspricht. Die period_no verschiebt dann dieses Segment um drei Monate zurück, sodass die Datumsgrenzen der 1. Januar bis zum 15. Februar werden.
Daher gibt jede Transaktion, die zwischen dem 1. Januar und 15. Februar stattfindet, ein boolesches Ergebnis von TRUE zurück.
Beispiel 3 – first_month_of_year
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
Derselbe Datensatz und dasselbe Szenario wie im ersten Beispiel.
Die Erstellung eines Felds in_quarter_to_date, das bestimmt, welche Transaktionen im gleichen Quartal bis zum 15. Mai 2022 stattgefunden haben.
In diesem Beispiel wird März als erster Monat des Geschäftsjahrs festgelegt.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:
date
in_quarter_to_date
Ergebnistabelle
date
in_quarter_to_date
1/7/2022
0
1/19/2022
0
2/5/2022
0
2/28/2022
0
3/16/2022
-1
4/1/2022
-1
5/7/2022
-1
5/16/2022
0
6/15/2022
0
6/26/2022
0
7/9/2022
0
7/22/2022
0
7/23/2022
0
7/27/2022
0
8/2/2022
0
8/8/2022
0
8/19/2022
0
9/26/2022
0
10/14/2022
0
10/29/2022
0
Indem 3 als Argument first_month_of_year in der Funktion inquartertodate() verwendet wird, beginnt die Funktion das Jahr am 1. März und unterteilt dann das Jahr in Quartale. Daher lauten die Quartalssegmente wie folgt:
März bis Mai
Juni bis August
September bis November
Dezember bis Februar
Das base_date vom 15. Mai segmentiert dann das Quartal März bis Mai, indem seine Endgrenze als 15. Mai festgelegt wird.
Daher gibt jede Transaktion, die zwischen dem 1. März und dem 15. Mai stattfindet, ein boolesches Ergebnis von TRUE zurück, während Transaktionen mit Datum außerhalb dieser Grenzen einen Wert von FALSE zurückgeben.
Beispiel 4 – Diagrammobjektbeispiel
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript verwendet den gleichen Datensatz und das gleiche Szenario wie das erste Beispiel. In diesem Beispiel wird jedoch der unveränderte Datensatz in die Anwendung geladen. Die Berechnung, die bestimmt, ob Transaktionen im gleichen Quartal wie der 15. Mai stattfanden, wird als Kennzahl in einem Diagrammobjekt erstellt.
Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie dieses Feld als Dimension hinzu:date.
Erstellen Sie die folgende Kennzahl:
=inquartertodate(date,'05/15/2022', 0)
Ergebnistabelle
date
=inquartertodate(date,'05/15/2022', 0)
1/7/2022
0
1/19/2022
0
2/5/2022
0
2/28/2022
0
3/16/2022
0
4/1/2022
-1
5/7/2022
-1
5/16/2022
0
6/15/2022
0
6/26/2022
0
7/9/2022
0
7/22/2022
0
7/23/2022
0
7/27/2022
0
8/2/2022
0
8/8/2022
0
8/19/2022
0
9/26/2022
0
10/14/2022
0
10/29/2022
0
Die Kennzahl in_quarter_to_date wird in einem Diagrammobjekt anhand der Funktion inquartertodate() erstellt. Das erste Argument ist das Datumsfeld, das ausgewertet wird. Das zweite Argument ist ein hardcodiertes Datum für den 15. Mai. Dies ist das base_date, das identifiziert, welches Quartal segmentiert wird, und definiert die Endbegrenzung dieses Segments. Eine period_no von 0 ist das abschließende Argument, was bedeutet, dass die Funktion keine Quartale vor oder nach dem segmentierten Quartal vergleicht.
Jede Transaktion, die zwischen dem 1. April und dem 15. Mai stattfindet, gibt ein boolesches Ergebnis von TRUE zurück. Transaktionen mit einem Datum am oder nach dem 16. Mai geben FALSE zurück, ebenso wie alle Transaktionen vor dem 1. April.
Beispiel 5 – Szenario
Übersicht
Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in eine neue Registerkarte ein.
Das Ladeskript umfasst:
Ein Datensatz, der in eine Tabelle namens Products geladen wird.
Informationen bezüglich Produkt-ID, Herstellungsdatum und Selbstkosten.
Am 15. Mai 2022 wurde ein Maschinenfehler im Herstellungsprozess identifiziert und behoben. Produkte, die in diesem Quartal bis zu diesem Datum hergestellt wurden, sind mangelhaft. Der Endbenutzer möchte ein Diagrammobjekt haben, das nach Quartalsnamen den Status der Produkte als „mangelhaft“ und als „einwandfrei“ und die Kosten der in diesem Quartal bisher gefertigten Produkte angibt.
Die Funktion inquartertodate() gibt einen booleschen Wert zurück, wenn sie das Herstellungsdatum der einzelnen Produkte auswertet. Für diejenigen, die einen booleschen Wert von TRUE zurückgeben, markiert sie die Produkte als ‘Defective’. Für jedes Produkt, das einen Wert von FALSE zurückgibt und somit nicht im Quartal bis einschließlich 15. Mai hergestellt wurde, werden die Produkte als ‘Faultless’ markiert.
Hat diese Seite Ihnen geholfen?
Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!