Bu fonksiyon, date değerini içeren takvim haftasının son gününün (Pazar) 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.
weekend() fonksiyonu tarihin hangi haftanın içinde bulunduğunu belirler. Ardından söz konusu haftanın son milisaniyesi için tarih biçiminde bir zaman damgası döndürür. Haftanın ilk günü FirstWeekDay ortam değişkeni tarafından belirlenir. Ancak bu, weekend() fonksiyonundaki first_week_day bağımsız değişkeni tarafından geçersiz kılınabilir.
Bağımsız Değişkenler
Bağımsız Değişken
Açıklama
timestamp
Değerlendirilecek tarih veya zaman damgası.
period_no
shift bir tamsayı olup, burada 0 değeri date içeren haftayı belirtir. Shift içindeki negatif değerler önceki haftaları; pozitif değerler ise sonraki haftaları gösterir.
first_week_day
Haftanın başladığı günü belirtir. Atlandığı takdirde, FirstWeekDay değişkeninin değeri kullanılır.
Olabilecek first_week_day değerleri Pazartesi için 0, Salı için 1, Çarşamba için 2, Perşembe için 3, Cuma için 4, Cumartesi için 5 ve Pazar için 6'dır.
Sistem değişkeni hakkında daha fazla bilgi için bkz. FirstWeekDay.
Ne zaman kullanılır?
Genel olarak weekend() fonksiyonu, kullanıcının hesaplamada belirtilen tarih için haftanın kalan günlerini kullanmak istemesi durumunda, ifadenin içinde kullanılır. Örneğin, kullanıcı hafta içinde henüz oluşmamış toplam faizi hesaplamak istediğinde kullanılabilir.
Aşağıdaki örneklerde varsayılanlar:
SET FirstWeekDay=0;
Örnek
Sonuç
weekend('01/10/2013')
01/12/2013 23:59:59 döndürür.
weekend('01/10/2013', -1)
01/05/2013 23:59:59. döndürür.
weekend('01/10/2013', 0, 1)
01/14/2013 23:59:59 döndürür.
Bölgesel ayarlar
Aksi belirtilmedikçe bu konudaki örneklerde aşağıdaki tarih formatı kullanılır: AA/GG/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. Daha fazla bilgi için bkz. Uygulamalar ve komut dosyaları için bölgesel ayarları değiştirme.
Uygulamalardaki varsayılan bölgesel ayarlarda kullanıcı profili temel alınır. Bu bölgesel format ayarları, Qlik Cloud kullanıcı arayüzünde görüntülenen dil ayarlarıyla ilgili değildir. Qlik Cloud, kullandığınız tarayıcıyla aynı dilde görüntülenir.
Haftalar ve hafta numaraları için ISO ayarlarını istiyorsanız, şu komut dosyasına sahip olduğunuzdan emin olun:
Set DateFormat ='YYYY-MM-DD';
Set FirstWeekDay =0; // Monday as first week day
Set BrokenWeeks =0; //(use unbroken weeks)
Set ReferenceDay =4; // Jan 4th is always in week 1
ABD ayarlarını istiyorsanız, kodda şunlara sahip olduğunuzdan emin olun:
Set DateFormat ='M/D/YYYY';
Set FirstWeekDay =6; // Sunday as first week day
Set BrokenWeeks =1; //(use broken weeks)
Set ReferenceDay =1; // Jan 1st is always in week 1
Yukarıdaki örnekler weekend() fonksiyonundan şu sonuçları verir:
Weekend fonksiyonunun örneği
Tarih
ISO hafta sonu
ABD hafta sonu
26 Aralık 2020 Cumartesi
2020-12-27
12/26/2020
27 Aralık 2020 Pazar
2020-12-27
1/2/2021
28 Aralık 2020 Pazartesi
2021-01-03
1/2/2021
29 Aralık 2020 Salı
2021-01-03
1/2/2021
30 Aralık 2020 Çarşamba
2021-01-03
1/2/2021
31 Aralık 2020 Perşembe
2021-01-03
1/2/2021
1 Ocak 2021 Cuma
2021-01-03
1/2/2021
2 Ocak 2021 Cumartesi
2021-01-03
1/2/2021
3 Ocak 2021 Pazar
2021-01-03
1/9/2021
4 Ocak 2021 Pazartesi
2021-01-10
1/9/2021
5 Ocak 2021 Salı
2021-01-10
1/9/2021
Bilgi notuHafta sonları ISO sütununda Pazar günlerine, ABD sütununda ise Cumartesi günlerine gelir.
Örnek 1 – Temel örnek
Genel bakış
Veri yükleme düzenleyicisini açın ve aşağıdaki yükleme kodunu yeni bir sekmeye ekleyin.
Yükleme kodu şunları içerir:
"Transactions" adlı tabloya yüklenen, 2022'nin işlemlerini içeren bir veri kümesi.
Tarih alanıDateFormat sistem değişkeninde (AA/GG/YYYY) biçiminde sağlanmıştır.
İşlemlerin gerçekleştiği haftanın sonunun zaman damgasını döndüren end_of_week alanını oluşturma.
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
date
end_of_week
end_of_week_timestamp
Sonuçlar tablosu
date
end_of_week
end_of_week_timestamp
1/7/2022
01/08/2022
1/8/2022 11:59:59 PM
1/19/2022
01/22/2022
1/22/2022 11:59:59 PM
2/5/2022
02/05/2022
2/5/2022 11:59:59 PM
2/28/2022
03/05/2022
3/5/2022 11:59:59 PM
3/16/2022
03/19/2022
3/19/2022 11:59:59 PM
4/1/2022
04/02/2022
4/2/2022 11:59:59 PM
5/7/2022
05/07/2022
5/7/2022 11:59:59 PM
5/16/2022
05/21/2022
5/21/2022 11:59:59 PM
6/15/2022
06/18/2022
6/18/2022 11:59:59 PM
6/26/2022
07/02/2022
7/2/2022 11:59:59 PM
7/9/2022
07/09/2022
7/9/2022 11:59:59 PM
7/22/2022
07/23/2022
7/23/2022 11:59:59 PM
7/23/2022
07/23/2022
7/23/2022 11:59:59 PM
7/27/2022
07/30/2022
7/30/2022 11:59:59 PM
8/2/2022
08/06/2022
8/6/2022 11:59:59 PM
8/8/2022
08/13/2022
8/13/2022 11:59:59 PM
8/19/2022
08/20/2022
8/20/2022 11:59:59 PM
9/26/2022
10/01/2022
10/1/2022 11:59:59 PM
10/14/2022
10/15/2022
10/15/2022 11:59:59 PM
10/29/2022
10/29/2022
10/29/2022 11:59:59 PM
"end_of_week" alanı, önceki Load deyiminde weekend() fonksiyonu kullanılarak ve tarih alanı fonksiyonun bağımsız değişkeni olarak geçilerek oluşturulur.
weekend() fonksiyonu tarih değerinin içinde bulunduğu haftayı belirler ve söz konusu haftanın son milisaniyesine ilişkin zaman damgasını döndürür.
8191 numaralı işlem 5 Şubat'ta gerçekleşmiştir. FirstWeekDay sistem değişkeni haftanın ilk günü olarak Pazar gününü ayarlar. weekend() fonksiyonu, 5 Şubat'tan sonraki ilk Cumartesi'nin (dolayısıyla haftanın sonunun) 5 Şubat olduğunu belirler. Bu nedenle söz konusu işlemin end_of_week değeri, o günün 5 Şubat 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 yükleme kodunu yeni bir sekmeye ekleyin.
Yükleme kodu şunları içerir:
İlk örnek ile aynı veri kümesi ve senaryo.
İşlemin gerçekleşmesinden önceki haftanın başlangıcına ilişkin zaman damgasını döndüren previous_week_end alanını oluşturma.
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
date
previous_week_end
previous_week_end_timestamp
Sonuçlar tablosu
date
end_of_week
end_of_week_timestamp
1/7/2022
01/01/2022
1/1/2022 11:59:59 PM
1/19/2022
01/15/2022
1/15/2022 11:59:59 PM
2/5/2022
01/29/2022
1/29/2022 11:59:59 PM
2/28/2022
02/26/2022
2/26/2022 11:59:59 PM
3/16/2022
03/12/2022
3/12/2022 11:59:59 PM
4/1/2022
03/26/2022
3/26/2022 11:59:59 PM
5/7/2022
04/30/2022
4/30/2022 11:59:59 PM
5/16/2022
05/14/2022
5/14/2022 11:59:59 PM
6/15/2022
06/11/2022
6/11/2022 11:59:59 PM
6/26/2022
06/25/2022
6/25/2022 11:59:59 PM
7/9/2022
07/02/2022
7/2/2022 11:59:59 PM
7/22/2022
07/16/2022
7/16/2022 11:59:59 PM
7/23/2022
07/16/2022
7/16/2022 11:59:59 PM
7/27/2022
07/23/2022
7/23/2022 11:59:59 PM
8/2/2022
07/30/2022
7/30/2022 11:59:59 PM
8/8/2022
08/06/2022
8/6/2022 11:59:59 PM
8/19/2022
08/13/2022
8/13/2022 11:59:59 PM
9/26/2022
09/24/2022
9/24/2022 11:59:59 PM
10/14/2022
10/08/2022
10/8/2022 11:59:59 PM
10/29/2022
10/22/2022
10/22/2022 11:59:59 PM
Bu örnekte, weekend() fonksiyonunda offset bağımsız değişkeni olarak değeri -1 olan period_no kullanıldığından, fonksiyon önce işlemlerin gerçekleştiği haftayı belirler. Ardından bir önceki haftaya bakar ve o haftanın son milisaniyesini belirler.
8196 numaralı işlem 15 Haziran'da gerçekleşmiştir. weekend() fonksiyonu haftanın 12 Haziran'da başladığını belirler. Bu nedenle önceki hafta 11 Haziran saat 23:59:59'da sona erer; bu, previous_week_end alanı için döndürülen değerdir.
Örnek 3 – first_week_day
Genel bakış
Veri yükleme düzenleyicisini açın ve aşağıdaki komut dosyasını yeni bir sekmeye ekleyin.
Komut dosyası ilk örnek ile aynı veri kümesini ve senaryoyu içerir. Öte yandan bu örnekte, çalışma haftasının ilk gününü Salı olarak ayarlamamız gerekmektedir.
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
date
end_of_week
end_of_week_timestamp
Sonuçlar tablosu
date
end_of_week
end_of_week_timestamp
1/7/2022
01/10/2022
1/10/2022 11:59:59 PM
1/19/2022
01/24/2022
1/24/2022 11:59:59 PM
2/5/2022
02/07/2022
2/7/2022 11:59:59 PM
2/28/2022
02/28/2022
2/28/2022 11:59:59 PM
3/16/2022
03/21/2022
3/21/2022 11:59:59 PM
4/1/2022
04/04/2022
4/4/2022 11:59:59 PM
5/7/2022
05/09/2022
5/9/2022 11:59:59 PM
5/16/2022
05/16/2022
5/16/2022 11:59:59 PM
6/15/2022
06/20/2022
6/20/2022 11:59:59 PM
6/26/2022
06/27/2022
6/27/2022 11:59:59 PM
7/9/2022
07/11/2022
7/11/2022 11:59:59 PM
7/22/2022
07/25/2022
7/25/2022 11:59:59 PM
7/23/2022
07/25/2022
7/25/2022 11:59:59 PM
7/27/2022
08/01/2022
8/1/2022 11:59:59 PM
8/2/2022
08/08/2022
8/8/2022 11:59:59 PM
8/8/2022
08/08/2022
8/8/2022 11:59:59 PM
8/19/2022
08/22/2022
8/22/2022 11:59:59 PM
9/26/2022
09/26/2022
9/26/2022 11:59:59 PM
10/14/2022
10/17/2022
10/17/2022 11:59:59 PM
10/29/2022
10/31/2022
10/31/2022 11:59:59 PM
Bu örnekte, weekend() fonksiyonunda first_week_date bağımsız değişkeni için 1 kullanıldığından haftanın ilk günü Salı olarak ayarlanır.
8191 numaralı işlem 5 Şubat'ta gerçekleşmiştir. weekend() fonksiyonu bu tarihten önceki ilk Pazartesi'nin (dolayısıyla haftanın sonunun ve döndürülen değerin) 6 Şubat saat 23:59:59 olduğunu belirler.
Örnek 4 – Grafik nesnesi örneği
Genel bakış
Veri yükleme düzenleyicisini açın ve aşağıdaki komut dosyasını yeni bir sekmeye ekleyin.
Komut dosyası ilk örnek ile aynı veri kümesini ve senaryoyu içerir. Ancak bu örnekte uygulamaya değiştirilmemiş veri kümesi yüklenmektedir. İşlemin yapıldığı haftanın sonu için zaman damgasını döndüren hesaplama, uygulamanın grafik nesnesinde bir hesaplama olarak oluşturulur.
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanı boyut olarak ekleyin: date.
İşlemin gerçekleştiği haftanın başlangıcını hesaplamak için aşağıdaki hesaplamaları ekleyin:
=weekend(date)
=timestamp(weekend(date))
Sonuçlar tablosu
tarih
=weekend(date)
=timestamp(weekend(date))
1/7/2022
01/08/2022
1/8/2022 11:59:59 PM
1/19/2022
01/22/2022
1/22/2022 11:59:59 PM
2/5/2022
02/05/2022
2/5/2022 11:59:59 PM
2/28/2022
03/05/2022
3/5/2022 11:59:59 PM
3/16/2022
03/19/2022
3/19/2022 11:59:59 PM
4/1/2022
04/02/2022
4/2/2022 11:59:59 PM
5/7/2022
05/07/2022
5/7/2022 11:59:59 PM
5/16/2022
05/21/2022
5/21/2022 11:59:59 PM
6/15/2022
06/18/2022
6/18/2022 11:59:59 PM
6/26/2022
07/02/2022
7/2/2022 11:59:59 PM
7/9/2022
07/09/2022
7/9/2022 11:59:59 PM
7/22/2022
07/23/2022
7/23/2022 11:59:59 PM
7/23/2022
07/23/2022
7/23/2022 11:59:59 PM
7/27/2022
07/30/2022
7/30/2022 11:59:59 PM
8/2/2022
08/06/2022
8/6/2022 11:59:59 PM
8/8/2022
08/13/2022
8/13/2022 11:59:59 PM
8/19/2022
08/20/2022
8/20/2022 11:59:59 PM
9/26/2022
10/01/2022
10/1/2022 11:59:59 PM
10/14/2022
10/15/2022
10/15/2022 11:59:59 PM
10/29/2022
10/29/2022
10/29/2022 11:59:59 PM
end_of_week hesaplaması, grafik nesnesinde weekend() fonksiyonu kullanılarak ve tarih alanı fonksiyonun bağımsız değişkeni olarak geçilerek oluşturulur. weekend() fonksiyonu tarih değerinin içinde bulunduğu haftayı belirler ve söz konusu haftanın son milisaniyesine ilişkin zaman damgasını döndürür.
8191 numaralı işlem 5 Şubat'ta gerçekleşmiştir. FirstWeekDay sistem değişkeni haftanın ilk günü olarak Pazar gününü ayarlar. weekend() fonksiyonu, 5 Şubat'tan sonraki ilk Cumartesi'nin (dolayısıyla haftanın sonunun) 5 Şubat olduğunu belirler. Bu nedenle söz konusu işlemin end_of_week değeri, o günün 5 Şubat 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 yükleme kodunu yeni bir sekmeye ekleyin.
Yükleme kodu şunları içerir:
Employee_Expenses adlı tabloya yüklenen bir veri kümesi.
Çalışan kimlikleri, çalışan adları ve her çalışanın günlük ortalama masraf taleplerinden oluşan veriler.
Son kullanıcı, haftanın 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.
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
employee_id
employee_name
Sonra biriken faizi hesaplamak için bir hesaplama oluşturun:
=(weekend(today(1))-today(1))*avg_daily_claim
Hesaplamanın Sayı BiçiminiPara olarak ayarlayın.
Sonuçlar tablosu
employee_id
employee_name
=(weekend(today(1))-today(1))*avg_daily_claim
182
Mark
$90.00
183
Deryck
$75.00
184
Dexter
$75.00
185
Sydney
$162.00
186
Agatha
$108.00
weekend() fonksiyonu bugünün tarihini tek bağımsız değişkeni olarak kullanır ve geçerli haftanın bitiş tarihini döndürür. Ardından ifade, bugünün tarihini haftanın bitiş tarihinden çıkararak bu haftanın kalan gün sayısını döndürür.
Bu değer daha sonra her çalışanın ortalama günlük masraf talebiyle çarpılarak her çalışanın haftanın kalan kısmında talep etmesi beklenen tahmini masraf tutarı hesaplanır.
Bu sayfa size yardımcı oldu mu?
Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız, bize bildirin, düzeltelim!