Qlik Sense üzerinde Boolean true değeri -1 ile, false ise 0 ile temsil edilir.
inweek() fonksiyonu, tarihin hangi yedi günlük dönemin içinde bulunduğunu belirlemek için base_date bağımsız değişkenini kullanır. Haftanın başlangıç günü FirstWeekDay sistem değişkenine bağlıdır. Ancak inweek() fonksiyonundaki first_week_day bağımsız değişkenini kullanarak haftanın ilk gününü de değiştirebilirsiniz.
Seçilen hafta tanımlandıktan sonra, fonksiyon önerilen tarih değerlerini söz konusu hafta segmentiyle karşılaştırarak Boole sonuçları döndürür.
Ne zaman kullanılır?
inweek() fonksiyonu bir Boole sonucu döndürür. Normal olarak bu tür bir fonksiyon if expression içinde bir koşul olarak kullanılır. inweek() fonksiyonu, değerlendirilen tarihin base_date bağımsız değişkeninin seçilen tarihiyle aynı haftada gerçekleşip gerçekleşmediğine bağlı olarak bir toplama veya hesaplama döndürür.
Örneğin belirli bir haftada üretilen tüm ekipmanı tanımlamak için inweek() fonksiyonu kullanılabilir.
Bağımsız Değişkenler
Bağımsız Değişken
Açıklama
timestamp
base_date ile karşılaştırmak istediğiniz tarih.
base_date
Haftayı değerlendirmek için kullanılan tarih.
period_no
Hafta period_no ile kaydırılabilir. period_no, 0 değerinin base_date değerini içeren haftayı gösterdiği bir tamsayıdır. period_no içindeki negatif değerler önceki haftaları; pozitif değerler ise sonraki haftaları gösterir.
first_week_day
Varsayılan olarak, haftanın ilk günü Pazar'dır (FirstWeekDay sistem değişkeni tarafından belirlendiği gibi) ve Cumartesi'yi Pazar'a bağlayan gece yarısında başlar. first_week_day parametresi FirstWeekDay değişkeninin yerini alır. Haftanın başka bir günde başladığını göstermek için 0 ile 6 arasında bir işaret belirtin.
first_week_day değerleri
Gün
Değer
Pazartesi
0
Salı
1
Çarşamba
2
Perşembe
3
Cuma
4
Cumartesi
5
Pazar
6
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.
first_week_day değeri olarak 3 (Perşembe) belirtildiğinden ve bu durumda 01/09/2006 tarihini içeren haftadan sonraki haftanın ilk günü 01/12/2006 olduğundan FALSE döndürür.
Bu konular bu fonksiyon ile çalışmanıza yardımcı olabilir:
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
date
week_day
in_week
Sonuçlar tablosu
date
week_day
in_week
01/02/2022
Paz
0
01/05/2022
Çar
0
01/06/2022
Per
0
01/08/2022
Cmt
0
01/09/2022
Paz
-1
01/10/2022
Pzt
-1
01/11/2022
Sal
-1
01/12/2022
Çar
-1
01/13/2022
Per
-1
01/14/2022
Cum
-1
01/15/2022
Cmt
-1
01/16/2022
Paz
0
01/17/2022
Pzt
0
01/18/2022
Sal
0
01/26/2022
Çar
0
01/27/2022
Per
0
01/28/2022
Cum
0
01/29/2022
Cmt
0
01/30/2022
Paz
0
01/31/2022
Pzt
0
"in_week" alanı, önceki LOAD deyiminde inweek() fonksiyonu kullanılarak oluşturulur. İlk bağımsız değişken hangi alanın değerlendirildiğini tanımlar. İkinci bağımsız değişken sabit kodlanmış 14 Ocak tarihi olan base_date bağımsız değişkenidir. base_date bağımsız değişkeni karşılaştırıcı haftayı tanımlamak için FirstWeekDay sistem değişkeniyle birlikte çalışır. 0period_no son bağımsız değişkendir ve fonksiyonun segmenti oluşturan haftanın öncesindeki veya sonrasındaki haftaları karşılaştırmayacağı anlamına gelir.
FirstWeekDay sistem değişkeni, haftanın Pazar başlayıp Cumartesi bittiğini belirtmektedir. Dolayısıyla Ocak aşağıdaki diyagrama göre haftalara ayrılacak, 9 Ocak ile 15 Ocak arasındaki tarihler inweek() hesaplaması için geçerli olan dönemi verecektir:
9 Ocak ile 15 Ocak arasında gerçekleşen tüm işlemler TRUE Boole sonucunu 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:
2022 işlemlerini içeren aynı veri kümesi "Transactions" adlı tabloya yüklenmiştir.
6 (Pazar) olarak ayarlanmış olan FirstWeekDay sistem değişkeni.
Şunları içeren önceki bir yükleme:
14 Ocak 2022 haftasından önceki tam bir hafta içinde hangi işlemlerin gerçekleştiğini belirleyen ve "prev_week" alanı olarak ayarlanan inweek () fonksiyonu.
Her tarihe haftanın hangi gününün karşılık geldiğini gösteren ve "week_day" alanı olarak ayarlanan weekday() fonksiyonu.
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
date
week_day
prev_week
Sonuçlar tablosu
date
week_day
prev_week
01/02/2022
Paz
-1
01/05/2022
Çar
-1
01/06/2022
Per
-1
01/08/2022
Cmt
-1
01/09/2022
Paz
0
01/10/2022
Pzt
0
01/11/2022
Sal
0
01/12/2022
Çar
0
01/13/2022
Per
0
01/14/2022
Cum
0
01/15/2022
Cmt
0
01/16/2022
Paz
0
01/17/2022
Pzt
0
01/18/2022
Sal
0
01/26/2022
Çar
0
01/27/2022
Per
0
01/28/2022
Cum
0
01/29/2022
Cmt
0
01/30/2022
Paz
0
01/31/2022
Pzt
0
inweek() fonksiyonunda period_no bağımsız değişkeni olarak -1 kullanıldığında karşılaştırıcı haftanın sınırları tam yedi gün geri kaydırılır. 0period_no ile hafta 9 Ocak ile 15 Ocak arasında olur. Ancak bu örnekte, -1period_no değeri bu segmentin başlangıç ve bitiş sınırını bir hafta geri kaydırmaktadır. Tarih sınırları 2 Ocak ile 8 Ocak olmaktadır.
Bu nedenle 2 Ocak ile 8 Ocak arasında gerçekleşen tüm işlemler TRUE Boole sonucunu döndürür.
Örnek 3 – first_week_day
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:
2022 işlemlerini içeren aynı veri kümesi "Transactions" adlı tabloya yüklenmiştir.
6 (Pazar) olarak ayarlanmış olan FirstWeekDay sistem değişkeni.
Şunları içeren önceki bir yükleme:
Hangi işlemlerin 14 Ocak 2022 haftasında gerçekleştiğini belirleyen ve "in_week" alanı olarak ayarlanan inweek() fonksiyonu.
Her tarihe haftanın hangi gününün karşılık geldiğini gösteren ve "week_day" alanı olarak ayarlanan weekday() fonksiyonu.
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
date
week_day
in_week
Sonuçlar tablosu
date
week_day
in_week
01/02/2022
Paz
0
01/05/2022
Çar
0
01/06/2022
Per
0
01/08/2022
Cmt
0
01/09/2022
Paz
0
01/10/2022
Pzt
-1
01/11/2022
Sal
-1
01/12/2022
Çar
-1
01/13/2022
Per
-1
01/14/2022
Cum
-1
01/15/2022
Cmt
-1
01/16/2022
Paz
-1
01/17/2022
Pzt
0
01/18/2022
Sal
0
01/26/2022
Çar
0
01/27/2022
Per
0
01/28/2022
Cum
0
01/29/2022
Cmt
0
01/30/2022
Paz
0
01/31/2022
Pzt
0
inweek() fonksiyonunda first_week_day bağımsız değişkeni olarak 0 kullanıldığında, FirstWeekDay sistem değişkeni geçersiz kılınır ve Pazartesi haftanın ilk günü olarak ayarlanır.
Bu nedenle, 10 Ocak ile 16 Ocak arası gerçekleşen tüm işlemler TRUE Boole sonucunu 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. Hangi işlemlerin 14 Ocak 2022 haftasında gerçekleştiğini belirlemek için sonuçlar tablosunda bir hesaplama oluşturun.
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanı boyut olarak ekleyin:
date
Aşağıdaki hesaplamaları oluşturun:
İşlemlerin 14 Ocak ile aynı haftada gerçekleşip gerçekleşmediğini hesaplamak için =inweek (date,'01/14/2022',0).
Her tarihe haftanın hangi gününün karşılık geldiğini göstermek için =weekday(date).
Sonuçlar tablosu
date
week_day
=inweek (date,'01/14/2022',0)
01/02/2022
Paz
0
01/05/2022
Çar
0
01/06/2022
Per
0
01/08/2022
Cmt
0
01/09/2022
Paz
-1
01/10/2022
Pzt
-1
01/11/2022
Sal
-1
01/12/2022
Çar
-1
01/13/2022
Per
-1
01/14/2022
Cum
-1
01/15/2022
Cmt
-1
01/16/2022
Paz
0
01/17/2022
Pzt
0
01/18/2022
Sal
0
01/26/2022
Çar
0
01/27/2022
Per
0
01/28/2022
Cum
0
01/29/2022
Cmt
0
01/30/2022
Paz
0
01/31/2022
Pzt
0
"in_week" hesaplaması, grafikte inweek() fonksiyonu kullanılarak oluşturulur. İlk bağımsız değişken hangi alanın değerlendirildiğini tanımlar. İkinci bağımsız değişken sabit kodlanmış 14 Ocak tarihi olan base_date bağımsız değişkenidir. base_date bağımsız değişkeni karşılaştırıcı haftayı tanımlamak için FirstWeekDay sistem değişkeniyle birlikte çalışır. 0 için period_no son bağımsız değişkendir.
FirstWeekDay sistem değişkeni, haftanın Pazar başlayıp Cumartesi bittiğini belirtmektedir. Dolayısıyla Ocak aşağıdaki diyagrama göre haftalara ayrılacak, 9 Ocak ile 15 Ocak arasındaki tarihler inweek() hesaplaması için geçerli olan dönemi verecektir:
9 Ocak ile 15 Ocak arasında gerçekleşen tüm işlemler TRUE Boole sonucunu 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:
"Products" adlı tabloya yüklenen bir veri kümesi.
Tablo aşağıdaki alanları içermektedir:
ürün kimliği
ürün türü
üretim tarihi
maliyet fiyatı
Ekipman hatası nedeniyle 12 Ocak haftasında üretilen ürünlerin kusurlu olduğu belirlenmiştir. Son kullanıcı, haftaya göre üretilen ürünlerden hangilerinin durumunun "kusurlu" veya "kusursuz" olduğunu ve o hafta üretilen ürünlerin maliyetini görüntüleyen bir grafik istemektedir.
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanı boyut olarak ekleyin:
=weekname(manufacture_date)
Aşağıdaki hesaplamaları oluşturun:
inweek() fonksiyonunu kullanarak hangi ürünlerin kusurlu ve hangilerinin kusursuz olduğunu belirlemek için =if(only(inweek(manufacture_date,makedate(2022,01,12),0)),'Defective','Faultless').
Her ürünün maliyet toplamını göstermek için =sum(cost_price).
inweek() fonksiyonu, ürünlerin her birinin üretim tarihlerini değerlendirirken bir Boole değeri döndürür. inweek() fonksiyonu 12 Ocak haftasında üretilen ürünlerin her biri için TRUE Boole değerini döndürür ve ürünleri "Kusurlu" olarak işaretler. FALSE değerini döndüren ve dolayısıyla söz konusu hafta üretilmemiş olan tüm ürünleri "Kusursuz" olarak işaretler.
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!