quarterend Komut dosyası ve grafik fonksiyonu
Bu fonksiyon, date içeren çeyreğin son milisaniyesinin zaman damgasına karşılık gelen bir değer döndürür. Varsayılan çıktı biçimi kodda ayarlanan DateFormat olur.
QuarterEnd(date[, period_no[, first_month_of_year]])
Dönüş verileri türü: Dual
quarterend() fonksiyonu diyagramı

quarterend() fonksiyonu tarihin hangi çeyreğin içinde bulunduğunu belirler. Ardından o çeyreğin son ayının son milisaniyesi için tarih biçiminde bir zaman damgası döndürür. Yılın ilk ayı varsayılan olarak Ocak'tır. Ancak first_month_of_year fonksiyonunda quarterend() bağımsız değişkenini kullanarak ayarlanan ilk ayı değiştirebilirsiniz.
Ne zaman kullanılır?
Genel olarak quarterend() fonksiyonu, hesaplamada çeyreğin henüz oluşmamış kısmını kullanmak istemeniz durumunda, ifadenin içinde kullanılır. Örneğin çeyrek içinde henüz oluşmamış toplam faizi hesaplamak isteyebilirsiniz.
| Bağımsız Değişken | Açıklama |
|---|---|
| date | Değerlendirilecek tarih veya zaman damgası. |
| period_no | period_no bir tamsayı olup, burada 0 değeri date içeren çeyreği belirtir. period_no içindeki negatif değerler önceki çeyrekleri; pozitif değerler ise sonraki çeyrekleri gösterir. |
| first_month_of_year | Ocak'ta başlamayan (mali) yıllarla çalışmak istiyorsanız, first_month_of_year içinde 2 ile 12 arasında bir değer belirtin. |
Yılın ilk ayını ayarlamak için first_month_of_year bağımsız değişkeninde aşağıdaki değerleri kullanabilirsiniz:
| Ay | değer |
|---|---|
| Şubat | 2 |
| Mart | 3 |
| Nisan | 4 |
| Mayıs | 5 |
| Haziran | 6 |
| Temmuz | 7 |
| Ağustos | 8 |
| Eylül | 9 |
| Ekim | 10 |
| Kasım | 11 |
|
Aralık |
12 |
Bölgesel ayarlar
Aksi belirtilmedikçe bu konudaki örneklerde aşağıdaki tarih formatı kullanılır: MM/DD/YYYY. Tarih formatı, veri yükleme kodunuzda SET DateFormat deyiminde belirtilir. Varsayılan tarih formatı, bölgesel ayarlarınız ve diğer unsurlar nedeniyle sisteminizde farklı olabilir. Aşağıdaki örneklerdeki formatları ihtiyaçlarınıza uyacak şekilde değiştirebilirsiniz. Dilerseniz yükleme kodunuzdaki formatları aşağıdaki örneklere uyacak şekilde değiştirebilirsiniz.
Uygulamalardaki varsayılan bölgesel ayarlar, Qlik Sense'in yüklü olduğu bilgisayarın veya sunucunun bölgesel sistem ayarları temel alınır. Eriştiğiniz Qlik Sense sunucusu İsveç olarak ayarlıysa, Veri yükleme düzenleyicisi tarihler, saat ve para birimi için İsveç bölgesel ayarlarını kullanır. Bu bölgesel format ayarları, Qlik Sense kullanıcı arayüzünde görüntülenen dille ilgili değildir. Qlik Sense kullandığınız tarayıcıyla aynı dilde görüntülenecektir.
| Örnek | Sonuç |
|---|---|
| quarterend('10/29/2005') | 31/12/2000 23:59:59 döndürür. |
| quarterend('10/29/2005', -1) | 30/09/2005 23:59:59 döndürür. |
| quarterend('10/29/2005', 0, 3) | 30/11/2005 23:59:59 döndürür. |
Örnek 1 – Temel örnek
Genel bakış
Veri yükleme düzenleyicisini açın ve aşağıdaki komut dosyasını yeni bir bölüme ekleyin.
Komut dosyası şunları içerir:
-
'Transactions' adlı tabloya yüklenen, 2022 işlemlerini içeren bir veri kümesi.
-
Şunları içeren önceki bir yükleme:
-
"quarterend()" end_of_quarteralanı olarak ayarlanan ve işlemin gerçekleştiği çeyreğin sonunun zaman damgasını döndüren fonksiyonu.
-
"timestamp()" alanı olarak ayarlanan ve seçilen çeyreğin sonunun zaman damgasını döndüren end_of_quarter_timestamp fonksiyonu.
-
Komut dosyası
SET DateFormat='MM/DD/YYYY';
Transactions:
Load
*,
quarterend(date) as end_of_quarter,
timestamp(quarterend(date)) as end_of_quarter_timestamp
;
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
]; Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
-
id
-
date
-
end_of_quarter
-
end_of_quarter_timestamp
| Kimlik | Tarih | end_of_quarter | end_of_quarter_timestamp |
|---|---|---|---|
| 8188 | 1/7/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8189 | 1/19/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8190 | 2/5/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8191 | 2/28/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8192 | 3/16/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8195 | 5/16/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8196 | 6/15/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8197 | 6/26/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8198 | 7/9/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8199 | 7/22/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8200 | 7/23/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8201 | 7/27/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8202 | 8/2/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8203 | 8/8/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8204 | 8/19/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8205 | 9/26/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8206 | 10/14/2022 | 12/31/2022 | 12/31/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 12/31/2022 | 12/31/2022 11:59:59 PM |
'end_of_quarter' alanı, önceki Load deyiminde quarterend() fonksiyonu kullanılarak ve tarih alanı fonksiyonun bağımsız değişkeni olarak geçilerek oluşturulur.
quarterend() fonksiyonu önce tarih değerinin içinde bulunduğu çeyreği belirler ve o çeyreğin son milisaniyesinin zaman damgasını döndürür.
8203 numaralı işlemin gerçekleştiği çeyreğin sonunun belirlendiği quarterend() fonksiyonu diyagramı

8203 numaralı işlem 8 Ağustos'ta gerçekleşmiştir. quarterend() fonksiyonu işlemin üçüncü çeyrekte gerçekleştiğini belirler ve söz konusu çeyreğin 30 Eylül saat 23:59:59 olan son milisaniyesini döndürür.
Örnek 2 – period_no
Genel bakış
Veri yükleme düzenleyicisini açın ve aşağıdaki komut dosyasını yeni bir bölüme ekleyin.
Komut dosyası şunları içerir:
-
2022'de gerçekleşen işlemleri içeren ve "Transactions" adlı tabloya yüklenen bir veri kümesi.
-
Şunları içeren önceki bir yükleme:
-
"quarterend()" alanı olarak ayarlanan ve işlemin gerçekleşmesinden önceki çeyreğin sonu için bir zaman damgası döndüren previous_quarter_end fonksiyonu.
-
"timestamp()" alanı olarak ayarlanan ve işlemin gerçekleşmesinden önceki çeyreğin sonunun tam zaman damgasını döndüren previous_end_of_quarter_timestamp fonksiyonu.
-
Komut dosyası
SET DateFormat='MM/DD/YYYY';
Transactions:
Load
*,
quarterend(date, -1) as previous_quarter_end,
timestamp(quarterend(date, -1)) as previous_quarter_end_timestamp
;
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
]; Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
-
id
-
date
-
previous_quarter_end
-
previous_quarter_end_timestamp
| Kimlik | Tarih | previous_quarter_end | previous_quarter_end_timestamp |
|---|---|---|---|
| 8188 | 1/7/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8189 | 1/19/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8190 | 2/5/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8191 | 2/28/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8192 | 3/16/2022 | 12/31/2021 | 12/31/2021 11:59:59 PM |
| 8193 | 4/1/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8195 | 5/16/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8196 | 6/15/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8197 | 6/26/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8198 | 7/9/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8199 | 7/22/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8200 | 7/23/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8201 | 7/27/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8202 | 8/2/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8203 | 8/8/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8204 | 8/19/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8205 | 9/26/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8206 | 10/14/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
period_no fonksiyonunda offset bağımsız değişkeni olarak -1 için quarterend() kullanıldığından, fonksiyon önce işlemlerin yapıldığı çeyreği belirler. Ardından bir önceki çeyreğe geçer ve bu çeyreğin son milisaniyesini belirler.
period_no değeri -1 olan quarterend() fonksiyonu diyagramı

8203 numaralı işlem 8 Ağustos'ta gerçekleşmiştir. quarterend() fonksiyonu, işlemin gerçekleşmesinden önceki çeyreğin 1 Nisan ile 30 Haziran arası olduğunu belirler. Ardından fonksiyon o çeyreğin 30 Haziran saat 23:59:59 olan son milisaniyesini döndürür.
Örnek 3 – first_month_of_year
Genel bakış
Veri yükleme düzenleyicisini açın ve aşağıdaki komut dosyasını yeni bir bölüme ekleyin.
Komut dosyası şunları içerir:
-
2022'de gerçekleşen işlemleri içeren ve "Transactions" adlı tabloya yüklenen bir veri kümesi.
-
Şunları içeren önceki bir yükleme:
-
"quarterend()" alanı olarak ayarlanan ve işlemin gerçekleştiği çeyreğin sonunun zaman damgasını döndüren end_of_quarter fonksiyonu.
-
"timestamp()" alanı olarak ayarlanan ve seçilen çeyreğin sonunun zaman damgasını döndüren end_of_quarter_timestamp fonksiyonu.
-
Öte yandan bu örnekte, şirket politikasına göre mali yıl 1 Mart'ta başlamaktadır.
Komut dosyası
SET DateFormat='MM/DD/YYYY';
Transactions:
Load
*,
quarterend(date, 0, 3) as end_of_quarter,
timestamp(quarterend(date, 0, 3)) as end_of_quarter_timestamp
;
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
]; Sonuçlar
| Kimlik | Tarih | end_of_quarter | end_of_quarter_timestamp |
|---|---|---|---|
| 8188 | 1/7/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8189 | 1/19/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8190 | 2/5/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8191 | 2/28/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8192 | 3/16/2022 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8195 | 5/16/2022 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8196 | 6/15/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8197 | 6/26/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8198 | 7/9/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8199 | 7/22/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8200 | 7/23/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8201 | 7/27/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8202 | 8/2/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8203 | 8/8/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8204 | 8/19/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8205 | 9/26/2022 | 11/30/2022 | 11/30/2022 11:59:59 PM |
| 8206 | 10/14/2022 | 11/30/2022 | 11/30/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 11/30/2022 | 11/30/2022 11:59:59 PM |
first_month_of_year fonksiyonunda 3 bağımsız değişkeni olarak quarterend() kullanıldığından, yılın başlangıcı 1 Ocak'tan 1 Mart'a kaydırılır.
Mart ayının yılın ilk ayı olarak ayarlandığı quarterend() fonksiyonu diyagramı

8203 numaralı işlem 8 Ağustos'ta gerçekleşmiştir. Yılın başlangıcı 1 Mart olduğu için, yıldaki çeyrekler Mar-May, Haz-Ağu, Eyl-Kas ve Ara-Şub arasında gerçekleşir.
quarterend() fonksiyonu işlemin Haziran'ın başı ile Ağustos'un sonu arasındaki çeyrekte gerçekleştiğini belirler ve söz konusu çeyreğin 31 Ağustos saat 23:59:59 olan son milisaniyesini döndürür.
Örnek 4 – Grafik nesnesi örneği
Genel bakış
Birinci örnekteki veri kümesi ve senaryo kullanılır.
Ancak bu örnekte veri kümesi değişmez ve uygulamaya yüklenir. İşlemlerin gerçekleştiği çeyreğin sonu için bir zaman damgası döndüren hesaplama, uygulamadaki bir grafikte bir hesaplama olarak oluşturulur.
Komut dosyası
SET DateFormat='MM/DD/YYYY';
Transactions:
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
]; Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
-
id
-
date
İşlemin gerçekleştiği çeyreğin bitiş tarihini hesaplamak için aşağıdaki hesaplamaları oluşturun:
-
=quarterend(date)
-
=timestamp(quarterend(date))
| Kimlik | Tarih | =quarterend(date) | =timestamp(quarterend(date)) |
|---|---|---|---|
| 8188 | 1/7/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8189 | 1/19/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8190 | 2/5/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8191 | 2/28/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8192 | 3/16/2022 | 03/31/2022 | 3/31/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8195 | 5/16/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8196 | 6/15/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8197 | 6/26/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8198 | 7/9/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8199 | 7/22/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8200 | 7/23/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8201 | 7/27/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8202 | 8/2/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8203 | 8/8/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8204 | 8/19/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8205 | 9/26/2022 | 09/30/2022 | 9/30/2022 11:59:59 PM |
| 8206 | 10/14/2022 | 12/31/2022 | 12/31/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 12/31/2022 | 12/31/2022 11:59:59 PM |
'end_of_quarter' alanı, önceki Load deyiminde quarterend() fonksiyonu kullanılarak ve tarih alanı fonksiyonun bağımsız değişkeni olarak geçilerek oluşturulur.
quarterend() fonksiyonu önce tarih değerinin içinde bulunduğu çeyreği belirler ve o çeyreğin son milisaniyesinin zaman damgasını döndürür.
8203 numaralı işlemin gerçekleştiği çeyreğin sonunun belirlendiği quarterend() fonksiyonu diyagramı

8203 numaralı işlem 8 Ağustos'ta gerçekleşmiştir. quarterend() fonksiyonu işlemin üçüncü çeyrekte gerçekleştiğini belirler ve söz konusu çeyreğin 30 Eylül saat 23:59:59 olan son milisaniyesini döndürür.
Örnek 5 – Senaryo
Genel bakış
Veri yükleme düzenleyicisini açın ve aşağıdaki komut dosyasını yeni bir bölüme ekleyin.
Komut dosyası şunları içerir:
-
"Employee_Expenses" adlı tabloya bir veri kümesi yüklenir. Tablo aşağıdaki alanları içermektedir:
-
Çalışan kimlikleri
-
Çalışan adları
-
Her çalışanın günlük ortalama masraf talebi.
-
Son kullanıcı, çeyreğin kalan kısmında oluşacak tahmini masraf talebini çalışan kimliğine ve adına göre görüntüleyen bir grafik nesnesi istemektedir. Mali yıl Ocak'ta başlamaktadır.
Komut dosyası
Employee_Expenses:
Load
*
Inline
[
employee_id,employee_name,avg_daily_claim
182,Mark, $15
183,Deryck, $12.5
184,Dexter, $12.5
185,Sydney,$27
186,Agatha,$18
]; Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
-
employee_id
-
employee_name
Biriken faizi hesaplamak için şu hesaplamayı oluşturun:
-
=(quarterend(today(1))-today(1))*avg_daily_claim
Hesaplamanın Sayı Biçimini Para olarak ayarlayın.
| employee_id | employee_name | =(quarterend(today(1))-today(1))*avg_daily_claim |
|---|---|---|
| 182 | Mark | $480.00 |
| 183 | Deryck | $400.00 |
| 184 | Dexter | $400.00 |
| 185 | Sidney | $864.00 |
| 186 | Agatha | $576.00 |
quarterend() fonksiyonu, tek bağımsız değişkeni olarak bugünün tarihini kullanır ve geçerli ayın bitiş tarihini döndürür. Ardından bugünün tarihini yılın bitiş tarihinden çıkarır ve ifade bu ayın kalan gün sayısını döndürür.
Sonra bu değer her çalışanın günlük ortalama masraf talebiyle çarpılarak her çalışanın çeyreğin kalan kısmında talep etmesi beklenen tahmini talep tutarı hesaplanır.