Bu fonksiyon, date değerini içeren takvim haftasının ilk gününün (Pazartesi) ilk milisaniyesinin zaman damgasına karşılık gelen bir değer döndürür. Varsayılan çıktı biçimi kodda ayarlanan DateFormat olur.
weekstart() fonksiyonu tarihin hangi haftanın içinde bulunduğunu belirler. Ardından söz konusu haftanın ilk 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, weekstart() 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 weekstart() fonksiyonu, kullanıcının hesaplamada haftanın şu ana kadar geçen kısmını kullanmak istemesi durumunda, ifadenin içinde kullanılır. Örneğin, kullanıcı haftanın şu ana kadar geçen süresinde kazanılan toplam ücreti hesaplamak istediğinde kullanılabilir.
Aşağıdaki örneklerde varsayılanlar:
SET FirstWeekDay=0;
Fonksiyon örnekleri
Örnek
Sonuç
weekstart('01/12/2013')
01/07/2013 döndürür.
weekstart('01/12/2013', -1 )
11/31/2012 döndürür.
weekstart('01/12/2013', 0, 1)
01/08/2013 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.
Uygulamalardaki bölgesel ayarlarda 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 dil ayarlarıyla ilgili değildir. Qlik Sense, kullandığınız tarayıcıyla aynı dilde görüntülenir.
Örnekler:
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 weekstart() fonksiyonundan şu sonuçları verir:
Weekstart fonksiyonu örneği
Tarih
ISO hafta başı
ABD hafta başı
26 Aralık 2020 Cumartesi
2020-12-21
12/20/2020
27 Aralık 2020 Pazar
2020-12-21
12/27/2020
28 Aralık 2020 Pazartesi
2020-12-28
12/27/2020
29 Aralık 2020 Salı
2020-12-28
12/27/2020
30 Aralık 2020 Çarşamba
2020-12-28
12/27/2020
31 Aralık 2020 Perşembe
2020-12-28
12/27/2020
1 Ocak 2021 Cuma
2020-12-28
12/27/2020
2 Ocak 2021 Cumartesi
2020-12-28
12/27/2020
3 Ocak 2021 Pazar
2020-12-28
1/3/2021
4 Ocak 2021 Pazartesi
2021-01-04
1/3/2021
5 Ocak 2021 Salı
2021-01-04
1/3/2021
Bilgi notuHafta ISO sütununda Pazartesi günü, ABD sütununda ise Pazar günü başlar.
Örnek 1 – Ek bağımsız değişken yok
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 başlangıcına ilişkin zaman damgasını döndüren start_of_week alanını hesaplama.
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
date
start_of_week
start_of_week_timestamp
Sonuçlar tablosu
date
start_of_week
start_of_week_timestamp
1/7/2022
01/02/2022
01/2/2022 00:00:00
1/19/2022
01/16/2022
01/16/2022 00:00:00
2/5/2022
01/30/2022
01/30/2022 00:00:00
2/28/2022
02/27/2022
02/27/2022 00:00:00
3/16/2022
03/13/2022
03/13/2022 00:00:00
4/1/2022
03/27/2022
03/27/2022 00:00:00
5/7/2022
05/01/2022
05/1/2022 00:00:00
5/16/2022
05/15/2022
05/15/2022 00:00:00
6/15/2022
06/12/2022
06/12/2022 00:00:00
6/26/2022
06/26/2022
06/26/2022 00:00:00
7/9/2022
07/03/2022
07/3/2022 00:00:00
7/22/2022
07/17/2022
07/17/2022 00:00:00
7/23/2022
07/17/2022
07/17/2022 00:00:00
7/27/2022
07/24/2022
07/24/2022 00:00:00
8/2/2022
07/31/2022
07/31/2022 00:00:00
8/8/2022
08/07/2022
08/7/2022 00:00:00
8/19/2022
08/14/2022
08/14/2022 00:00:00
9/26/2022
09/25/2022
09/25/2022 00:00:00
10/14/2022
10/09/2022
10/9/2022 00:00:00
10/29/2022
10/23/2022
10/23/2022 00:00:00
start_of_week alanı, önceki LOAD deyiminde weekstart() fonksiyonu kullanılarak ve tarih alanı fonksiyonun bağımsız değişkeni olarak geçilerek oluşturulur.
weekstart() fonksiyonu, başlangıçta tarih değerinin hangi haftanın içinde bulunduğunu belirler ve o haftanın ilk milisaniyesi için bir zaman damgası 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. weekstart() fonksiyonu 5 Şubat'tan önceki ilk Pazar'ın (dolayısıyla haftanın başlangıcının) 30 Ocak olduğunu belirler. Bu nedenle söz konusu işlemin start_of_week değeri, o günün 30 Ocak saat 00:00:00 olan ilk 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ştiği çeyrekten önceki çeyreğin başlangıcına ilişkin zaman damgasını döndüren previous_week_start 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_start
previous_week_start_timestamp
Sonuçlar tablosu
tarih
previous_week_start
previous_week_start_timestamp
1/7/2022
12/26/2021
12/26/2021 00:00:00
1/19/2022
01/09/2022
01/9/2022 00:00:00
2/5/2022
01/23/2022
01/23/2022 00:00:00
2/28/2022
02/20/2022
02/20/2022 00:00:00
3/16/2022
03/06/2022
03/6/2022 00:00:00
4/1/2022
03/20/2022
03/20/2022 00:00:00
5/7/2022
04/24/2022
04/24/2022 00:00:00
5/16/2022
05/08/2022
05/8/2022 00:00:00
6/15/2022
06/05/2022
06/5/2022 00:00:00
6/26/2022
06/19/2022
06/19/2022 00:00:00
7/9/2022
06/26/2022
06/26/2022 00:00:00
7/22/2022
07/10/2022
07/10/2022 00:00:00
7/23/2022
07/10/2022
07/10/2022 00:00:00
7/27/2022
07/17/2022
07/17/2022 00:00:00
8/2/2022
07/24/2022
07/24/2022 00:00:00
8/8/2022
07/31/2022
07/31/2022 00:00:00
8/19/2022
08/07/2022
08/7/2022 00:00:00
9/26/2022
09/18/2022
09/18/2022 00:00:00
10/14/2022
10/02/2022
10/2/2022 00:00:00
10/29/2022
10/16/2022
10/16/2022 00:00:00
Bu örnekte, weekstart() 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. Sonra bir önceki haftaya bakar ve o haftanın ilk milisaniyesini belirler.
8196 numaralı işlem 15 Haziran'da gerçekleşmiştir. weekstart() fonksiyonu haftanın 12 Haziran'da başladığını belirler. Bu nedenle önceki hafta 5 Haziran saat 00:00:00'da başlamıştır; bu, previous_week_start 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
start_of_week
start_of_week_timestamp
Sonuçlar tablosu
date
start_of_week
start_of_week_timestamp
1/7/2022
01/04/2022
01/4/2022 00:00:00
1/19/2022
01/18/2022
01/18/2022 00:00:00
2/5/2022
02/01/2022
02/1/2022 00:00:00
2/28/2022
02/22/2022
02/22/2022 00:00:00
3/16/2022
03/15/2022
03/15/2022 00:00:00
4/1/2022
03/29/2022
03/29/2022 00:00:00
5/7/2022
05/03/2022
05/3/2022 00:00:00
5/16/2022
05/10/2022
05/10/2022 00:00:00
6/15/2022
06/14/2022
06/14/2022 00:00:00
6/26/2022
06/21/2022
06/21/2022 00:00:00
7/9/2022
07/05/2022
07/5/2022 00:00:00
7/22/2022
07/19/2022
07/19/2022 00:00:00
7/23/2022
07/19/2022
07/19/2022 00:00:00
7/27/2022
07/26/2022
07/26/2022 00:00:00
8/2/2022
08/02/2022
08/2/2022 00:00:00
8/8/2022
08/02/2022
08/2/2022 00:00:00
8/19/2022
08/16/2022
08/16/2022 00:00:00
9/26/2022
09/20/2022
09/20/2022 00:00:00
10/14/2022
10/11/2022
10/11/2022 00:00:00
10/29/2022
10/25/2022
10/25/2022 00:00:00
Bu örnekte, weekstart() 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. weekstart() fonksiyonu bu tarihten önceki ilk Salı'nın (dolayısıyla haftanın başlangıcının ve döndürülen değerin) 1 Şubat saat 00:00:00 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 başlangıcı 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ştirildiği haftanın başlangıcını hesaplamak için aşağıdaki hesaplamaları ekleyin:
=weekstart(date)
=timestamp(weekstart(date))
Sonuçlar tablosu
date
start_of_week
start_of_week_timestamp
1/7/2022
01/02/2022
01/2/2022 00:00:00
1/19/2022
01/16/2022
01/16/2022 00:00:00
2/5/2022
01/30/2022
01/30/2022 00:00:00
2/28/2022
02/27/2022
02/27/2022 00:00:00
3/16/2022
03/13/2022
03/13/2022 00:00:00
4/1/2022
03/27/2022
03/27/2022 00:00:00
5/7/2022
05/01/2022
05/1/2022 00:00:00
5/16/2022
05/15/2022
05/15/2022 00:00:00
6/15/2022
06/12/2022
06/12/2022 00:00:00
6/26/2022
06/26/2022
06/26/2022 00:00:00
7/9/2022
07/03/2022
07/3/2022 00:00:00
7/22/2022
07/17/2022
07/17/2022 00:00:00
7/23/2022
07/17/2022
07/17/2022 00:00:00
7/27/2022
07/24/2022
07/24/2022 00:00:00
8/2/2022
07/31/2022
07/31/2022 00:00:00
8/8/2022
08/07/2022
08/7/2022 00:00:00
8/19/2022
08/14/2022
08/14/2022 00:00:00
9/26/2022
09/25/2022
09/25/2022 00:00:00
10/14/2022
10/09/2022
10/9/2022 00:00:00
10/29/2022
10/23/2022
10/23/2022 00:00:00
start_of_week hesaplaması, grafik nesnesinde weekstart() fonksiyonu kullanılarak ve date alanı fonksiyonun bağımsız değişkeni olarak geçilerek oluşturulur.
weekstart() fonksiyonu, başlangıçta tarih değerinin hangi haftanın içinde bulunduğunu belirler ve o haftanın ilk milisaniyesi için bir zaman damgası 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. weekstart() fonksiyonu 5 Şubat'tan önceki ilk Pazar'ın (dolayısıyla haftanın başlangıcının) 30 Ocak olduğunu belirler. Bu nedenle, söz konusu işlemin start_of_week değeri o günün 30 Ocak saat 00:00:00 olan ilk 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:
Payroll adlı tabloya yüklenen bir veri kümesi.
Çalışan kimlikleri, çalışan adları ve her çalışanın kazandığı günlük ücretten oluşan veriler.
Çalışanlar Pazartesi günü çalışmaya başlar ve haftada altı gün çalışır. FirstWeekDay sistem değişkeni değiştirilmemelidir.
Son kullanıcı, çalışan kimliği ve çalışan adına göre haftanın başından şu ana kadar geçen sürede kazanılan ücretleri görüntüleyen bir grafik nesnesi istemektedir.
weekstart() fonksiyonu, ilk bağımsız değişkeni olarak bugünün tarihini ve üçüncü bağımsız değişkeni olarak da 0 kullanarak, haftanın ilk gününü Pazartesi olarak ayarlar ve geçerli haftanın başlangıç tarihini döndürür. İfade, bu sonucu geçerli tarihten çıkararak bu hafta içinde şimdiye kadar geçen gün sayısını döndürür.
Ardından koşul, bu hafta altı günden fazla geçip geçmediğini değerlendirir. Öyleyse, çalışanın day_rate değeri 6 günle çarpılır. Aksi takdirde, day_rate değeri bu hafta içinde şimdiye kadar geçen gün sayısıyla çarpılı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!