Bu fonksiyon, ISO 8601 uyarınca hafta numarasının ait olduğu yılı döndürür. Hafta sayısı, 1 ve yaklaşık 52 arasında değişir.
Söz Dizimi:
weekyear(expression)
Dönüş verileri türü: tamsayı
weekyear() fonksiyonu bir tarihin yılın hangi haftasının içinde bulunduğunu belirler. Ardından söz konusu hafta numarasına karşılık gelen yılı döndürür.
Varsayılan olarak Qlik uygulamaları bölünmüş haftaları kullanır (BrokenWeeks sistem değişkeni tarafından tanımlanır); 1 numaralı hafta 1 Ocak'ta başlar ve 52 hafta sonra yıl sona erer. Bu nedenle, uygulama bölünmüş haftaları kullandığında weekyear() fonksiyonu her zaman week() fonksiyonuyla aynı değeri döndürür.
Öte yandan BrokenWeeks sistem değişkeni bölünmemiş haftaları kullanacak şekilde ayarlandıysa, ReferenceDay sistem değişkeninde belirtilen değere bağlı olarak 1. haftanın Ocak ayında yalnızca belirli sayıda gün içermesi gerekir.
Örneğin ReferenceDay için 4 değeri kullanıldıysa, 1. hafta Ocak ayında en az dört gün içermelidir. 1. haftanın önceki yılın Aralık ayından tarihler içermesi veya yılın son hafta numarasının izleyen yılın Ocak ayından tarihler içermesi mümkündür. Böyle durumlarda weekyear() fonksiyonu year() fonksiyonuna farklı bir değer döndürür.
Ne zaman kullanılır?
weekyear() fonksiyonu, yıllara göre toplamaları karşılaştırmak istediğinizde yararlıdır. Örneğin, yıla göre ürünlerin toplam satışlarını görmek isteyebilirsiniz. Kullanıcı uygulamada BrokenWeeks sistem değişkeniyle tutarlılığı korumak istediğinde, year() fonksiyonu yerine weekyear() tercih edilir.
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.
Fonksiyon örnekleri
Örnek
Sonuç
weekyear('12/30/1996')
1997 döndürür, çünkü 1997'nin 1. haftası 12/30/1996'da başlar
weekyear('01/02/1997')
1997 döndürür
weekyear('12/28/1997')
1997 döndürür
weekyear('12/30/1997')
1998 döndürür, çünkü 1998'in 1. haftası 12/29/1997'de başlar
weekyear('01/02/1999')
1998 döndürür, çünkü 1998'in 53. haftası 01/03/1999'da sona erer
İfade standart sayı yorumlamasına göre tarih olarak yorumlandığında, yılı temsil eden bir tamsayı döndürür.
Örnek 1 - Bölünmüş haftalar
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:
2020'nin son haftası ile 2021'in ilk haftası için işlemleri içeren ve "Transactions" adlı tabloya yüklenen bir veri kümesi.
1 olarak ayarlanan BrokenWeeks değişkeni.
Şunları içeren önceki bir yükleme:
İşlemleri gerçekleştiren yılı döndüren "week_year" alanı olarak ayarlanmış weekyear() fonksiyonu.
Her işlem tarihinin hafta numarasını gösteren "week" alanı olarak ayarlanmış week() fonksiyonu.
Komut dosyası
SET BrokenWeeks=1;
Transactions:
Load
*,
week(date) as week,
weekyear(date) as week_year
;
Load
*
Inline
[
id,date,amount
8176,12/28/2020,19.42
8177,12/29/2020,23.80
8178,12/30/2020,82.06
8179,12/31/2020,40.56
8180,01/01/2021,37.23
8181,01/02/2021,17.17
8182,01/03/2021,88.27
8183,01/04/2021,57.42
8184,01/05/2021,67.42
8185,01/06/2021,23.80
8186,01/07/2021,82.06
];
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
id
date
week
week_year
Sonuçlar tablosu
id
date
week
week_year
8176
12/28/2020
53
2020
8177
12/29/2020
53
2020
8178
12/30/2020
53
2020
8179
12/31/2020
53
2020
8180
01/01/2021
1
2021
8181
01/02/2021
1
2021
8182
01/03/2021
2
2021
8183
01/04/2021
2
2021
8184
01/05/2021
2
2021
8185
01/06/2021
2
2021
8186
01/07/2021
2
2021
"week_year" alanı, önceki LOAD deyiminde weekyear() fonksiyonu kullanılarak ve tarih alanı fonksiyonun bağımsız değişkeni olarak geçilerek oluşturulur.
BrokenWeeks sistem değişkeni, uygulamanın bölünmüş haftaları kullandığı anlamına gelen 1 değerine ayarlanmıştır. 1. hafta 1 Ocak'ta başlar.
8181 numaralı işlem 1. haftanın içinde yer alan 2 Ocak'ta gerçekleştirilir. Bu nedenle "week_year" alanı için 2021'den bir değer döndürür.
Örnek 2 - Bölünmemiş haftalar
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:
2020'nin son haftası ile 2021'in ilk haftası için işlemleri içeren ve "Transactions" adlı tabloya yüklenen bir veri kümesi.
0 olarak ayarlanan BrokenWeeks değişkeni.
Şunları içeren önceki bir yükleme:
İşlemleri gerçekleştiren yılı döndüren "week_year" alanı olarak ayarlanmış weekyear() fonksiyonu.
Her işlem tarihinin hafta numarasını gösteren "week" alanı olarak ayarlanmış week() fonksiyonu.
Ancak bu örnekte şirket politikası bölünmemiş haftaların kullanılmasıdır.
Komut dosyası
SET BrokenWeeks=0;
Transactions:
Load
*,
week(date) as week,
weekyear(date) as week_year
;
Load
*
Inline
[
id,date,amount
8176,12/28/2020,19.42
8177,12/29/2020,23.80
8178,12/30/2020,82.06
8179,12/31/2020,40.56
8180,01/01/2021,37.23
8181,01/02/2021,17.17
8182,01/03/2021,88.27
8183,01/04/2021,57.42
8184,01/05/2021,67.42
8185,01/06/2021,23.80
8186,01/07/2021,82.06
];
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
id
date
week
week_year
Sonuçlar tablosu
id
date
week
week_year
8176
12/28/2020
53
2020
8177
12/29/2020
53
2020
8178
12/30/2020
53
2020
8179
12/31/2020
53
2020
8180
01/01/2021
53
2020
8181
01/02/2021
53
2020
8182
01/03/2021
1
2021
8183
01/04/2021
1
2021
8184
01/05/2021
1
2021
8185
01/06/2021
1
2021
8186
01/07/2021
1
2021
BrokenWeeks sistem değişkeni, uygulamanın bölünmemiş haftaları kullandığı anlamına gelen 0 değerine ayarlanmıştır. Bu nedenle 1. haftanın 1 Ocak'ta başlaması gerekmez.
2020'nin 53. haftası 2 Ocak 2021'in sonuna kadar devam ederken, 2021'in 1. haftası da 3 Ocak 2021 Pazar günü başlar.
8181 numaralı işlem 1. haftanın içinde yer alan 2 Ocak'ta gerçekleştirilir. Bu nedenle "week_year" alanı için 2021'den bir değer döndürür.
Örnek 3 – 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 yılın hafta numarasını döndüren hesaplama, uygulamanın grafiğinde bir hesaplama olarak oluşturulur.
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 haftayı hesaplamak için aşağıdaki hesaplamayı oluşturun:
=week(date)
Hafta numarasına dayanarak işlemin gerçekleştiği yılı hesaplamak için aşağıdaki hesaplamayı oluşturun:
=weekyear(date)
Sonuçlar tablosu
id
date
week
week_year
8176
12/28/2020
53
2020
8177
12/29/2020
53
2020
8178
12/30/2020
53
2020
8179
12/31/2020
53
2020
8180
01/01/2021
1
2021
8181
01/02/2021
1
2021
8182
01/03/2021
2
2021
8183
01/04/2021
2
2021
8184
01/05/2021
2
2021
8185
01/06/2021
2
2021
8186
01/07/2021
2
2021
"week_year" alanı, önceki LOAD deyiminde weekyear() fonksiyonu kullanılarak ve tarih alanı fonksiyonun bağımsız değişkeni olarak geçilerek oluşturulur.
BrokenWeeks sistem değişkeni, uygulamanın bölünmüş haftaları kullandığı anlamına gelen 1 değerine ayarlanmıştır. 1. hafta 1 Ocak'ta başlar.
8181 numaralı işlem 1. haftanın içinde yer alan 2 Ocak'ta gerçekleştirilir. Bu nedenle "week_year" alanı için 2021'den bir değer döndürür.
Örnek 4 – 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:
2020'nin son haftası ile 2021'in ilk haftası için işlemleri içeren ve "Transactions" adlı tabloya yüklenen bir veri kümesi.
0 olarak ayarlanan BrokenWeeks değişkeni. Bu, uygulamanın bölünmemiş haftaları kullanacağı anlamına gelir.
2 olarak ayarlanan ReferenceDay değişkeni. Bu, haftanın 2 Ocak'ta başlayacağı ve Ocak ayından en az iki gün içereceği anlamına gelir.
1 olarak ayarlanan FirstWeekDay değişkeni. Bu, haftanın ilk gününün Salı olacağı anlamına gelir.
Şirket politikası bölünmüş haftaların kullanılmasıdır. Son kullanıcı yıla göre toplam satışları gösteren bir grafik istemektedir. Uygulama bölünmemiş haftaları kullanır ve 1. haftanın Ocak ayı içinde en az iki günü olur.
Komut dosyası
SET BrokenWeeks=0;
SET ReferenceDay=2;
SET FirstWeekDay=1;
Transactions:
Load
*
Inline
[
id,date,amount
8176,12/28/2020,19.42
8177,12/29/2020,23.80
8178,12/30/2020,82.06
8179,12/31/2020,40.56
8180,01/01/2021,37.23
8181,01/02/2021,17.17
8182,01/03/2021,88.27
8183,01/04/2021,57.42
8184,01/05/2021,67.42
8185,01/06/2021,23.80
8186,01/07/2021,82.06
];
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun.
Hafta numarasına dayanarak işlemin gerçekleştiği yılı hesaplamak için aşağıdaki hesaplamayı oluşturun:
=weekyear(date)
Toplam satışları hesaplamak için aşağıdaki hesaplamayı oluşturun:
sum(amount)
Hesaplamanın Sayı BiçiminiPara olarak ayarlayın.
Sonuçlar tablosu
weekyear(date)
=sum(amount)
2020
19.42
2021
373.37
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!