Bu fonksiyon, date öğesini içeren haftanın ilk gününün ilk milisaniyesinin zaman damgasına karşılık gelen bir temel sayısal değerle yıl ve hafta sayısını gösteren bir değer döndürür.
weekname() fonksiyonu, tarihin hangi hafta içinde kaldığını belirler ve o haftanın hafta numarasını ve yılını döndürür. Haftanın ilk günü FirstWeekDay sistem değişkeni tarafından belirlenir. Ancak, weekname() fonksiyonundaki first_week_day bağımsız değişkenini kullanarak haftanın ilk gününü de değiştirebilirsiniz.
Qlik Sense'te, bölgesel ayarlar uygulama oluşturulurken getirilir ve karşılık gelen ayarlar komut dosyasında ortam değişkenleri olarak saklanır.
Kuzey Amerikalı bir uygulama geliştiricisi, komut dosyasında sıklıkla bölünmüş haftalara karşılık gelen Set BrokenWeeks=1; alır. Avrupalı bir uygulama geliştiricisi, komut dosyasında bölünmemiş haftalara karşılık gelen Set BrokenWeeks=0; alır.
Uygulamanız bölünmüş haftalar kullanıyorsa, hafta numarası sayımı 1 Ocak'ta başlar ve kaç geçtiğine bakılmaksızın FirstWeekDay sistem değişkeninden önceki gün biter.
Ancak uygulamanız bölünmemiş haftalar kullanıyorsa, 1. hafta önceki yılda veya Ocak'ın ilk günlerinde başlayabilir. Bu, ReferenceDay ve FirstWeekDay sistem değişkenlerini nasıl kullandığınıza bağlıdır.
Weekname fonksiyonu örneği
Tarih
ISO hafta adı
ABD hafta adı
26 Aralık 2020 Cumartesi
2020/52
2020/52
27 Aralık 2020 Pazar
2020/52
2020/53
28 Aralık 2020 Pazartesi
2020/53
2020/53
29 Aralık 2020 Salı
2020/53
2020/53
30 Aralık 2020 Çarşamba
2020/53
2020/53
31 Aralık 2020 Perşembe
2020/53
2020/53
1 Ocak 2021 Cuma
2020/53
2021/01
2 Ocak 2021 Cumartesi
2020/53
2021/01
3 Ocak 2021 Pazar
2020/53
2021/02
4 Ocak 2021 Pazartesi
2021/01
2021/02
5 Ocak 2021 Salı
2021/01
2021/02
Ne zaman kullanılır?
weekname() fonksiyonu, toplamaları haftalara göre karşılaştırmak istediğinizde yararlıdır.
Örneğin ürünlerin toplam satışlarını haftalara göre görmek istediğinizde. Uygulamada BrokenWeeks ortam değişkeni ile tutarlılığı korumak için weekname() yerine lunarweekname() kullanın. Uygulama bölünmemiş haftalar kullanıyorsa, 1. hafta önceki yılın Aralık ayından tarihler içerebilir veya mevcut yılın Ocak ayındaki tarihleri hariç tutabilir. Uygulama bölünmüş haftalar kullanıyorsa 1. hafta yediden daha az gün içerebilir.
Dönüş verileri türü: Dual
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.
broken_weeks
broken_weeks öğesini belirtmezseniz BrokenWeeks değişkeninin değeri, haftaların bölünmüş olup olmadığını tanımlamak için kullanılır.
Sistem değişkeni hakkında daha fazla bilgi için bkz. BrokenWeeks
reference_day
reference_day belirtilmezse, 1. haftayı tanımlamak üzere referans gün olarak Ocak ayındaki hangi günün ayarlanacağını belirlemek için değişken ReferenceDay değeri kullanılır. Varsayılan olarak, Qlik Sense fonksiyonları referans gün olarak 4 kullanır. Bu da 1. haftanın 4 Ocak gününü içermesi gerektiği veya başka bir deyişle 1. haftanın Ocak ayında her zaman en az 4 günü olması gerektiği anlamına gelir.
Sistem değişkeni hakkında daha fazla bilgi için bkz. ReferenceDay
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.
Aşağıdaki örneklerde varsayılanlar:
Set FirstWeekDay=0;
Set BrokenWeeks=0;
Set ReferenceDay=4;
Fonksiyon örnekleri
Örnek
Sonuç
weekname('01/12/2013')
2013/02 döndürür.
weekname('01/12/2013', -1)
2013/01 döndürür.
weekname('01/12/2013', 0, 1)
2013/02 döndürür.
Örnek 1 – Ek bağımsız değişken olmadan tarih
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:
2021'in son haftası ile 2022'nin ilk iki haftasına ilişkin işlemleri içeren ve 'Transactions' adlı tabloya yüklenen bir veri kümesi.
DateFormat biçimine ayarlanan MM/DD/YYYY sistem değişkeni.
BrokenWeeks olarak ayarlanan 1 sistem değişkeni.
FirstWeekDay olarak ayarlanan 6 sistem değişkeni.
Şunları içeren önceki bir yükleme:
İşlemlerin gerçekleştiği yılı ve hafta numarasını döndüren, ‘week_number’ alanı olarak ayarlanan weekday() fonksiyonu.
Her işlem tarihinin haftanın günü değerini göstermek için "weekname()" adlı alan olarak ayarlanan week_day fonksiyonu.
Komut dosyası
SET BrokenWeeks=1;
SET DateFormat='MM/DD/YYYY';
SET FirstWeekDay=6;
Transactions:
Load
*,
WeekDay(date) as week_day,
Weekname(date) as week_number
;
Load
*
Inline
[
id,date,amount
8183,12/27/2021,58.27
8184,12/28/2021,67.42
8185,12/29/2021,23.80
8186,12/30/2021,82.06
8187,12/31/2021,40.56
8188,01/01/2022,37.23
8189,01/02/2022,17.17
8190,01/03/2022,88.27
8191,01/04/2022,57.42
8192,01/05/2022,53.80
8193,01/06/2022,82.06
8194,01/07/2022,40.56
8195,01/08/2022,53.67
8196,01/09/2022,26.63
8197,01/10/2022,72.48
8198,01/11/2022,18.37
8199,01/12/2022,45.26
8200,01/13/2022,58.23
8201,01/14/2022,18.52
];
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
id
date
week_day
week_number
Sonuçlar tablosu
Kimlik
Tarih
week_day
hafta_numarası
8183
12/27/2021
Pzt
2021/53
8184
28.12.2021
Sal
2021/53
8185
29.12.2021
Çar
2021/53
8186
30.12.2021
Per
2021/53
8187
12/31/2021
Cum
2021/53
8188
01/01/2022
Cmt
2022/01
8189
01/02/2022
Paz
2022/02
8190
01/03/2022
Pzt
2022/02
8191
01/04/2022
Sal
2022/02
8192
01/05/2022
Çar
2022/02
8193
01/06/2022
Per
2022/02
8194
01/07/2022
Cum
2022/02
8195
08.01.2022
Cmt
2022/02
8196
09.01.2022
Paz
2022/03
8197
10.01.2022
Pzt
2022/03
8198
01/11/2022
Sal
2022/03
8199
12.01.2022
Çar
2022/03
8200
13.01.2022
Per
2022/03
8201
01/14/2022
Cum
2022/03
'week_number' alanı, önceki Load deyiminde weekname() fonksiyonu kullanılarak ve tarih alanı fonksiyonun bağımsız değişkeni olarak geçilerek oluşturulur.
weekname() fonksiyonu, ilk olarak tarih değerinin hangi haftaya düştüğünü belirler ve hafta numarası sayısını ve işlemin gerçekleştiği yılı döndürür.
FirstWeekDay sistem değişkeni haftanın ilk günü olarak Pazar'ı ayarlar. BrokenWeeks sistem değişkeni, uygulamayı bölünmüş haftalar kullanmaya ayarlar; yani 1. hafta 1 Ocak'ta başlar.
1. hafta Cumartesi gününe gelen 1 Ocak'ta başlar ve dolayısıyla bu tarihte yapılan işlemler 2022/01 değerini döndürür (yıl ve hafta numarası).
8192 numaralı işlemin hafta numarasını tanımlayan weekname() fonksiyonu diyagramı.
Uygulama bölünmüş haftalar kullandığı ve haftanın ilk günü Pazar olduğu için, 2 Ocak ile 8 Ocak arasında yapılan işlemler 2022/02 değerini döndürür (2022'de 2. hafta.) Bunun bir örneği, 5 Ocak'ta gerçekleşen ve 'week_number' alanı için 2022/02 değerini döndüren 8192 numaralı işlem olacaktır.
Örnek 2 – period_no
Genel bakış
Birinci örnekteki veri kümesi ve senaryo kullanılır.
Ancak bu örnekte görev, yılı ve işlemin yapılmasından önceki haftayı döndüren "previous_week_number" alanını oluşturmaktır.
Veri yükleme düzenleyicisi bölümünü açın ve aşağıdaki yükleme kodunu yeni bir bölüme ekleyin.
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
id
date
week_day
week_number
Sonuçlar tablosu
Kimlik
Tarih
week_day
hafta_numarası
8183
12/27/2021
Pzt
2021/52
8184
28.12.2021
Sal
2021/52
8185
29.12.2021
Çar
2021/52
8186
30.12.2021
Per
2021/52
8187
12/31/2021
Cum
2021/52
8188
01/01/2022
Cmt
2021/52
8189
01/02/2022
Paz
2021/53
8190
01/03/2022
Pzt
2021/53
8191
01/04/2022
Sal
2021/53
8192
01/05/2022
Çar
2021/53
8193
01/06/2022
Per
2021/53
8194
01/07/2022
Cum
2021/53
8195
08.01.2022
Cmt
2022/01
8196
09.01.2022
Paz
2022/02
8197
10.01.2022
Pzt
2022/02
8198
01/11/2022
Sal
2022/02
8199
12.01.2022
Çar
2022/02
8200
13.01.2022
Per
2022/02
8201
01/14/2022
Cum
2022/02
period_no fonksiyonunda kaydırma bağımsız değişkeni -1 için weekname() kullanıldığından, fonksiyon önce işlemlerin yapıldığı haftayı belirler. Sonra bir önceki haftaya bakar ve o haftanın ilk milisaniyesini belirler.
8192 numaralı işlem 5 Ocak 2022'de yapılmıştır. weekname() fonksiyonu bir hafta öncesine; 30 Aralık 2021'e bakar ve o tarihin hafta numarasını ve yılını döndürür – 2021/53.
Örnek 3 – first_week_day
Genel bakış
Birinci örnekteki veri kümesi ve senaryo kullanılır.
Ancak bu örnekte şirket politikası çalışma haftasının Salı günü başlamasıdır.
Veri yükleme düzenleyicisi bölümünü açın ve aşağıdaki yükleme kodunu yeni bir bölüme ekleyin.
Komut dosyası
SET BrokenWeeks=1;
SET DateFormat='MM/DD/YYYY';
Transactions:
Load
*,
weekday(date) as week_day,
weekname(date,0,1) as week_number
;
Load
*
Inline
[
id,date,amount
8183,12/27/2021,58.27
8184,12/28/2021,67.42
8185,12/29/2021,23.80
8186,12/30/2021,82.06
8187,12/31/2021,40.56
8188,01/01/2022,37.23
8189,01/02/2022,17.17
8190,01/03/2022,88.27
8191,01/04/2022,57.42
8192,01/05/2022,53.80
8193,01/06/2022,82.06
8194,01/07/2022,40.56
8195,01/08/2022,53.67
8196,01/09/2022,26.63
8197,01/10/2022,72.48
8198,01/11/2022,18.37
8199,01/12/2022,45.26
8200,01/13/2022,58.23
8201,01/14/2022,18.52
];
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
id
date
week_day
week_number
Sonuçlar tablosu
Kimlik
Tarih
week_day
hafta_numarası
8183
12/27/2021
Pzt
2021/52
8184
28.12.2021
Sal
2021/53
8185
29.12.2021
Çar
2021/53
8186
30.12.2021
Per
2021/53
8187
12/31/2021
Cum
2021/53
8188
01/01/2022
Cmt
2022/01
8189
01/02/2022
Paz
2022/01
8190
01/03/2022
Pzt
2022/01
8191
01/04/2022
Sal
2022/02
8192
01/05/2022
Çar
2022/02
8193
01/06/2022
Per
2022/02
8194
01/07/2022
Cum
2022/02
8195
08.01.2022
Cmt
2022/02
8196
09.01.2022
Paz
2022/02
8197
10.01.2022
Pzt
2022/02
8198
01/11/2022
Sal
2022/03
8199
12.01.2022
Çar
2022/03
8200
13.01.2022
Per
2022/03
8201
01/14/2022
Cum
2022/03
Haftanın ilk günü olarak Salı ile weekname() fonksiyonu diyagramı.
first_week_date fonksiyonunda 1 bağımsız değişkeni için weekname() kullanıldığından, fonksiyon Salı'yı haftanın ilk günü olarak kullanır. Fonksiyon bu nedenle 2021'in 53. haftasının 28 Aralık Salı günü başladığını belirler ve uygulamanın bölünmüş haftalar kullanması nedeniyle 1. hafta 1 Ocak 2022'de başlar ve 3 Ocak 2022 Pazartesi gününün son milisaniyesinde biter.
Haftanın ilk günü olarak Salı ile 8192 numaralı işlemin hafta numarasını gösteren diyagram.
8192 numaralı işlem 5 Ocak 2022'de yapılmıştır. Bu nedenle first_week_day parametresi olarak Salı kullanıldığında weekname() fonksiyonu "2022/02" alanı için week_number 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 yapıldığı haftanın yıl numarasını döndüren hesaplama, uygulamanın bir grafik nesnesinde 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
=week_day (date)
Bir işlemin yapıldığı haftanın başlangıcını hesaplamak için şu hesaplamayı oluşturun:
=weekname(date)
Sonuçlar tablosu
Kimlik
Tarih
=weekday(date)
=weekname(date)
8183
12/27/2021
Pzt
2021/53
8184
28.12.2021
Sal
2021/53
8185
29.12.2021
Çar
2021/53
8186
30.12.2021
Per
2021/53
8187
12/31/2021
Cum
2021/53
8188
01/01/2022
Cmt
2022/01
8189
01/02/2022
Paz
2022/02
8190
01/03/2022
Pzt
2022/02
8191
01/04/2022
Sal
2022/02
8192
01/05/2022
Çar
2022/02
8193
01/06/2022
Per
2022/02
8194
01/07/2022
Cum
2022/02
8195
08.01.2022
Cmt
2022/02
8196
09.01.2022
Paz
2022/03
8197
10.01.2022
Pzt
2022/03
8198
01/11/2022
Sal
2022/03
8199
12.01.2022
Çar
2022/03
8200
13.01.2022
Per
2022/03
8201
01/14/2022
Cum
2022/03
"week_number" alanı, weekname() fonksiyonu kullanılarak ve tarih alanı fonksiyonun bağımsız değişkeni olarak geçilerek grafik nesnesinde bir hesaplama olarak oluşturulur.
weekname() fonksiyonu, ilk önce tarihin içinde kaldığı haftayı tanımlar ve hafta numarası sayısını ve işlemin yapıldığı yılı döndürür.
FirstWeekDay sistem değişkeni haftanın ilk günü olarak Pazar'ı ayarlar. BrokenWeeks sistem değişkeni, uygulamayı bölünmüş haftalar kullanmaya ayarlar; yani 1. hafta 1 Ocak'ta başlar.
Haftanın ilk günü olarak Pazar ile haftanın numarasını gösteren diyagram.
8192 numaralı işlemin iki numaralı haftada yapıldığını gösteren diyagram.
Uygulama bölünmüş haftalar kullandığı ve haftanın ilk günü Pazar olduğu için 2 Ocak ile 8 Ocak arasında yapılan işlemler 2022'de 2. hafta olan 2022/02 değerini döndürür. 8192 numaralı işlemin 5 Ocak'ta yapıldığına ve "week_number" alanı için 2022/02 değerini döndürdüğüne dikkat edin.
Ö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:
2019'un son haftası ve 2020'nin ilk iki haftası için işlemler içeren bir veri kümesi "Transactions" adlı tabloya yüklenir.
BrokenWeeks olarak ayarlanan 0 sistem değişkeni.
ReferenceDay olarak ayarlanan 2 sistem değişkeni.
DateFormat biçimine ayarlanan MM/DD/YYYY sistem değişkeni.
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun.
Şu ifadeyi kullanarak hesaplanan bir boyut oluşturun:
=weekname(date)
Toplam satışları hesaplamak için şu toplama hesaplamasını oluşturun:
=sum(amount)
Hesaplamanın Sayı Biçimini Para olarak ayarlayın.
Sonuçlar tablosu
weekname(date)
=sum(amount)
2019/52
$125.69
2020/01
$346.51
2020/02
$347.57
2020/03
$122.01
Bu senaryoda weekname() fonksiyonunu kullanmanın sonuçlarını göstermek için şu alanı bir boyut olarak ekleyin:
date
Tarih alanıyla sonuçlar tablosu
weekname(date)
Tarih
=sum(amount)
2019/52
12/27/2019
$58.27
2019/52
12/28/2019
$67.42
2020/01
12/29/2019
$23.80
2020/01
12/30/2019
$82,06
2020/01
12/31/2019
$40.56
2020/01
01/01/2020
$37.23
2020/01
01/02/2020
$17.17
2020/01
01/03/2020
$88.27
2020/01
01/04/2020
$57.42
2020/02
01/05/2020
$53.80
2020/02
01/06/2020
$82,06
2020/02
01/07/2020
$40.56
2020/02
01/08/2020
$53.67
2020/02
01/09/2020
$26.63
2020/02
01/10/2020
$72.48
2020/02
01/11/2020
$18.37
2020/03
01/12/2020
$45.26
2020/03
01/13/2020
$58.23
2020/03
01/14/2020
$18.52
Uygulama bölünmemiş haftalar kullandığı ve ReferenceDay sistem değişkeni nedeniyle 1. hafta en az iki gün gerektirdiği için 2020'nin 1. haftası 29 Aralık 2019'dan işlemler içerir.
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 lütfen bize bildirin!