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, uygulama oluşturulurken bölgesel ayarlar getirilir ve karşılık gelen ayarlar komut dosyasında ortam değişkenleri olarak saklanır.
Kuzey Amerikalı bir uygulama geliştiricisi kodda sıklıkla bölünmüş haftalara karşılık gelen Set BrokenWeeks=1; alır. Avrupalı bir uygulama geliştiricisi kodda sıklıkla 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 lunarweekname() yerine weekname() 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 öğesini belirtmezseniz ReferenceDay değişkeninin değeri, 1. haftayı tanımlamak için Ocak ayındaki hangi günün referans gün olarak ayarlanacağını tanımlamak için 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: 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.
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 yükleme kodunu yeni bir sekmeye ekleyin.
Yükleme kodu şunları içerir:
"Transactions" adlı bir tabloya yüklenen, 2021 yılının son iki haftası ve 2022 yılının ilk iki haftası için işlemler içeren bir veri kümesi.
MM/DD/YYYY biçimine ayarlanan DateFormat sistem değişkeni.
1 olarak ayarlanan BrokenWeeks sistem değişkeni.
6 olarak ayarlanan FirstWeekDay sistem değişkeni.
Şunları içeren önceki bir yükleme:
İşlem yapıldığında 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 "week_day" adlı alan olarak ayarlanan weekname() 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
id
date
week_day
week_number
8183
12/27/2021
Pzt
2021/53
8184
12/28/2021
Sal
2021/53
8185
12/29/2021
Çar
2021/53
8186
12/30/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
01/08/2022
Cmt
2022/02
8196
01/09/2022
Paz
2022/03
8197
01/10/2022
Pzt
2022/03
8198
01/11/2022
Sal
2022/03
8199
01/12/2022
Çar
2022/03
8200
01/13/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, başlangıçta tarih değerinin içinde kaldığı haftayı tanımlar ve işlemin yapıldığı hafta numarası sayısını ve 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ı).
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 (2022'de 2 numaralı hafta) döndürür. Bunun bir örneği, 5 Ocak'ta yapılan ve "week_number" alanı için 2022/02 değerini döndüren 8192 numaralı işlemdir.
Ö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 sekmeye 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
id
date
week_day
week_number
8183
12/27/2021
Pzt
2021/52
8184
12/28/2021
Sal
2021/52
8185
12/29/2021
Çar
2021/52
8186
12/30/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
01/08/2022
Cmt
2022/01
8196
01/09/2022
Paz
2022/02
8197
01/10/2022
Pzt
2022/02
8198
01/11/2022
Sal
2022/02
8199
01/12/2022
Çar
2022/02
8200
01/13/2022
Per
2022/02
8201
01/14/2022
Cum
2022/02
weekname() fonksiyonunda kaydırma bağımsız değişkeni period_no için -1 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 sekmeye 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
id
date
week_day
week_number
8183
12/27/2021
Pzt
2021/52
8184
12/28/2021
Sal
2021/53
8185
12/29/2021
Çar
2021/53
8186
12/30/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
01/08/2022
Cmt
2022/02
8196
01/09/2022
Paz
2022/02
8197
01/10/2022
Pzt
2022/02
8198
01/11/2022
Sal
2022/03
8199
01/12/2022
Çar
2022/03
8200
01/13/2022
Per
2022/03
8201
01/14/2022
Cum
2022/03
weekname() fonksiyonunda first_week_date bağımsız değişkeni için 1 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.
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 "week_number" alanı için 2022/02 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
id
tarih
=weekday(date)
=weekname(date)
8183
12/27/2021
Pzt
2021/53
8184
12/28/2021
Sal
2021/53
8185
12/29/2021
Çar
2021/53
8186
12/30/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
01/08/2022
Cmt
2022/02
8196
01/09/2022
Paz
2022/03
8197
01/10/2022
Pzt
2022/03
8198
01/11/2022
Sal
2022/03
8199
01/12/2022
Çar
2022/03
8200
01/13/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.
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 yükleme kodunu yeni bir sekmeye ekleyin.
Yükleme kodu ş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.
0 olarak ayarlanan BrokenWeeks sistem değişkeni.
2 olarak ayarlanan ReferenceDay sistem değişkeni.
MM/DD/YYYY biçimine ayarlanan DateFormat 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çimlendirmesiniPara 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, bize bildirin, düzeltelim!