# inlunarweek - kod ve grafik fonksiyonu

Bu fonksiyon timestamp değerinin base\_date değerini içeren ay haftası içinde mi kaldığını belirler. Qlik Sense içinde ay haftaları 1 Ocak haftanın ilk günü olarak sayılarak tanımlanır. Yılın son haftasının dışında her hafta tam olarak yedi gün içerirler.

Söz Dizimi:

InLunarWeek (timestamp, base\_date, period\_no[, first\_week\_day])

Dönüş verileri türü: Boole

Bilgi notu

Qlik Sense üzerinde Boolean true değeri -1 ile, false ise 0 ile temsil edilir.

`inlunarweek()` fonksiyonu `base_date` değerinin ay yılında hangi haftaya denk geldiğini belirler. Her zaman damgası değerinin `base_date` ile aynı ay yılı haftasında yer alıp almadığını belirledikten sonra bir Boole sonucu döndürür.

`inlunarweek()` fonksiyonu diyagramı

`inlunarweek()` fonksiyonu diyagramı

`inlunarweek()`inlunarweek() fonksiyonu diyagramı ![Giriş bilgilerine göre fonksiyonun TRUE değerini döndüreceği tarihleri gösteren inlunarweek fonksiyonunun örnek diyagramı.](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inlunarweek-overview.png)

## Ne zaman kullanılır?

`inlunarweek()` fonksiyonu bir Boole sonucu döndürür. Bu tür fonksiyonlar genellikle bir IF ifadesinde koşul olarak kullanılır. Bu fonksiyon, değerlendirilen tarihin söz konusu ay yılı haftasına denk gelip gelmediğine bağlı olarak bir toplama veya hesaplama döndürebilir.

Örneğin `inlunarweek()` fonksiyonu belirli bir ay yılı haftasında üretilen tüm ekipmanı tanımlamak için 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 | Ay haftasını değerlendirmek için kullanılan tarih. |
| period\_no | Ay haftası period\_no ile kaydırılabilir. period\_no bir tamsayı olup, burada 0 değeri base\_date içeren ay haftasını belirtir. period\_no içindeki negatif değerler önceki ay haftalarını; pozitif değerler ise sonraki ay haftalarını gösterir. |
| first\_week\_day | Kaydırma değeri sıfırdan büyük ya da küçük olabilir. Bu değer, belirtilen gün sayısı ve/veya bir günün kesirleri ile yılın başını değiştirir. |

Fonksiyon örnekleri

| Örnek | Sonuç |
| --- | --- |
| `inlunarweek('01/12/2013', '01/14/2013',<br>0)` | `timestamp` değeri (01/12/2013) 01/08/2013 - 01/14/2013 haftasına denk geldiği için `TRUE` döndürür. |
| `inlunarweek('01/12/2013', '01/07/2013',<br>0)` | `base_date` 01/07/2013, 01/01/2013 ile 01/07/2013 arası olarak tanımlanan ay yılı haftasında yer aldığından `FALSE` döndürür. |
| `inlunarweek('01/12/2013', '01/14/2013',<br>-1)` | `FALSE` döndürür. period\_no değeri olarak -1 belirtildiğinde, hafta bir önceki haftaya (01/01/2013 - 01/07/2013) kayar. |
| `inlunarweek('01/07/2013', 01/14/2013',<br>-1)` | `TRUE` döndürür. Önceki örnekle karşılaştırıldığında, geriye kayma hesaba katıldıktan sonra `timestamp` sonraki haftada yer alır. |
| `inlunarweek('01/11/2006', '01/08/2006',<br>0, 3)` | `FALSE` döndürür. `first_week_day` için 3 değerinin belirtilmesi, yıl başlangıcının 01/04/2013 tarihinden hesaplandığı anlamına gelir. Bu nedenle `base`\_date değeri ilk haftaya denk gelir ve `timestamp` değeri de 01/11/2013 - 01/17/2013 haftasına denk gelir. |

`inlunarweek()` fonksiyonu genellikle şu fonksiyonlarla birlikte kullanılır:

İlgili fonksiyonlar

| Fonksiyon | Etkileşim |
| --- | --- |
| [lunarweekname - kod ve grafik fonksiyonu](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.htm) | Bu fonksiyon, giriş tarihinin içinde bulunduğu yılın ay yılındaki hafta numarasını belirlemek için kullanılı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.

## Örnek 1 – Ek bağımsız değişken yok

#### Komut dosyası ve sonuçlar

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:

* Ocak ayının işlemlerini içeren ve `Transactions` adlı tabloya yüklenen bir veri kümesi.

* Tarih alanı `DateFormat` sistem değişkeninde (AA/GG/YYYY) biçiminde sağlanmıştır.

İşlemlerin 10 Ocak ile aynı ay yılı haftasında gerçekleşip gerçekleşmediğini belirleyen bir `in_lunar_week` alanı oluşturun.

Komut dosyası

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        inlunarweek(date,'01/10/2022', 0) as in_lunar_week
        ;
Load
*
Inline 
[
id,date,amount
8183,'1/5/2022',42.32
8184,'1/6/2022',68.22
8185,'1/7/2022',15.25
8186,'1/8/2022',25.26
8187,'1/9/2022',37.23
8188,'1/10/2022',37.23
8189,'1/11/2022',17.17
8190,'1/12/2022',88.27
8191,'1/13/2022',57.42
8192,'1/14/2022',53.80
8193,'1/15/2022',82.06
8194,'1/16/2022',87.21
8195,'1/17/2022',95.93
8196,'1/18/2022',45.89
8197,'1/19/2022',36.23
8198,'1/20/2022',25.66
8199,'1/21/2022',82.77
8200,'1/22/2022',69.98
8201,'1/23/2022',76.11
];
```

Sonuçlar

Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:

* `date`

* `in_lunar_week`

Sonuçlar tablosu

| tarih | in\_lunar\_week |
| --- | --- |
| 1/5/2022 | 0 |
| 1/6/2022 | 0 |
| 1/7/2022 | 0 |
| 1/8/2022 | -1 |
| 1/9/2022 | -1 |
| 1/10/2022 | -1 |
| 1/11/2022 | -1 |
| 1/12/2022 | -1 |
| 1/13/2022 | -1 |
| 1/14/2022 | -1 |
| 1/15/2022 | 0 |
| 1/16/2022 | 0 |
| 1/17/2022 | 0 |
| 1/18/2022 | 0 |
| 1/19/2022 | 0 |
| 1/20/2022 | 0 |
| 1/21/2022 | 0 |
| 1/22/2022 | 0 |
| 1/23/2022 | 0 |

`inlunarweek()` fonksiyonu, temel örnek

`inlunarweek()` fonksiyonu, temel örnek

`inlunarweek()`inlunarweek() fonksiyonu, temel örnek![Giriş bilgilerine göre fonksiyonun TRUE değerini döndüreceği tarih aralığını gösteren inlunarweek fonksiyonunun kullanım örneği.](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inlunarweek-basic-example.png)

`in_lunar_week` alanı, önceki yükleme deyiminde `inlunarweek()` fonksiyonu kullanılarak ve fonksiyonun bağımsız değişkenleri olarak aşağıdakiler geçirilerek oluşturulmuştur:

* `date` alanı

* 10 Ocak için `base_date` şeklinde sabit kodlanmış tarih

* Değeri 0 olan `period_no`

Ay yılı haftaları 1 Ocak'ta başladığından, 10 Ocak tarihi 8 Ocak'ta başlayıp 14 Ocak'ta sona eren ay yılı haftasına denk gelir. Bu nedenle, Ocak ayında bu iki tarih arasında gerçekleşen işlemler `TRUE` Boole değerini döndürür. Bu, sonuçlar tablosunda doğrulanır.

## Örnek 2 – period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inlunarweek.htm)

#### Örnekler ve sonuçlar:

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:

* İlk örnek ile aynı veri kümesi ve senaryo.

* Tarih alanı `DateFormat` sistem değişkeninde (AA/GG/YYYY) biçiminde sağlanmıştır.

Öte yandan bu örnekteki görev, işlemlerin 10 Ocak'tan sonraki iki ay yılı haftasında gerçekleşip gerçekleşmediğini belirleyen bir `2_lunar_weeks_later` alanı oluşturmaktır.

Komut dosyası

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        inlunarweek(date,'01/10/2022', 2) as [2_lunar_weeks_later]
        ;
Load
*
Inline 
[
id,date,amount
8183,'1/5/2022',42.32
8184,'1/6/2022',68.22
8185,'1/7/2022',15.25
8186,'1/8/2022',25.26
8187,'1/9/2022',37.23
8188,'1/10/2022',37.23
8189,'1/11/2022',17.17
8190,'1/12/2022',88.27
8191,'1/13/2022',57.42
8192,'1/14/2022',53.80
8193,'1/15/2022',82.06
8194,'1/16/2022',87.21
8195,'1/17/2022',95.93
8196,'1/18/2022',45.89
8197,'1/19/2022',36.23
8198,'1/20/2022',25.66
8199,'1/21/2022',82.77
8200,'1/22/2022',69.98
8201,'1/23/2022',76.11
];
```

Sonuçlar

Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:

* `date`

* `2_lunar_weeks_later`

Sonuçlar tablosu

| tarih | 2\_lunar\_weeks\_later |
| --- | --- |
| 1/5/2022 | 0 |
| 1/6/2022 | 0 |
| 1/7/2022 | 0 |
| 1/8/2022 | 0 |
| 1/9/2022 | 0 |
| 1/10/2022 | 0 |
| 1/11/2022 | 0 |
| 1/12/2022 | 0 |
| 1/13/2022 | 0 |
| 1/14/2022 | 0 |
| 1/15/2022 | 0 |
| 1/16/2022 | 0 |
| 1/17/2022 | 0 |
| 1/18/2022 | 0 |
| 1/19/2022 | 0 |
| 1/20/2022 | 0 |
| 1/21/2022 | 0 |
| 1/22/2022 | -1 |
| 1/23/2022 | -1 |

`inlunarweek()` fonksiyonu, period\_no örneği

`inlunarweek()` fonksiyonu, period\_no örneği

`inlunarweek()`inlunarweek() fonksiyonu, period\_no örneği![inlunarweek fonksiyonu, period_no örneği](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inlunarweek-period-no.png)

Bu örnekte, `inlunarweek()` fonksiyonundaki offset bağımsız değişkeni olarak 2 `period_no` değeri kullanıldığından, fonksiyon işlemleri doğrularken ay yılı haftası olarak 22 Ocak'ta başlayan haftayı tanımlar. Bu nedenle 22 Ocak ile 28 Ocak arasında gerçekleşen tüm işlemler `TRUE` Boole sonucunu döndürür.

## Örnek 3 – first\_week\_day

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inlunarweek.htm)

#### Komut dosyası ve sonuçlar

Genel bakış

Veri yükleme düzenleyicisini açın ve aşağıdaki komut dosyasını yeni bir sekmeye ekleyin.

Komut dosyasında ilk örnekle aynı veri kümesi ve senaryo kullanılır. Bununla birlikte, biz örnekte ay yılı haftalarını 6 Ocak'ta başlayacak şekilde ayarladık.

* İlk örnek ile aynı veri kümesi ve senaryo.

* Varsayılan `DateFormat` sistem değişkeni AA/GG/YYYY kullanılmaktadır.

* Değeri 5 olan `first_week_day` bağımsız değişkeni. Bu, ay yılı haftalarını 5 Ocak'ta başlayacak şekilde ayarlar.

Komut dosyası

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        inlunarweek(date,'01/10/2022', 0,5) as in_lunar_week
        ;
Load
*
Inline 
[
id,date,amount
8183,'1/5/2022',42.32
8184,'1/6/2022',68.22
8185,'1/7/2022',15.25
8186,'1/8/2022',25.26
8187,'1/9/2022',37.23
8188,'1/10/2022',37.23
8189,'1/11/2022',17.17
8190,'1/12/2022',88.27
8191,'1/13/2022',57.42
8192,'1/14/2022',53.80
8193,'1/15/2022',82.06
8194,'1/16/2022',87.21
8195,'1/17/2022',95.93
8196,'1/18/2022',45.89
8197,'1/19/2022',36.23
8198,'1/20/2022',25.66
8199,'1/21/2022',82.77
8200,'1/22/2022',69.98
8201,'1/23/2022',76.11
];
```

Sonuçlar

Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:

* `date`

* `in_lunar_week`

Sonuçlar tablosu

| tarih | in\_lunar\_week |
| --- | --- |
| 1/5/2022 | 0 |
| 1/6/2022 | -1 |
| 1/7/2022 | -1 |
| 1/8/2022 | -1 |
| 1/9/2022 | -1 |
| 1/10/2022 | -1 |
| 1/11/2022 | -1 |
| 1/12/2022 | -1 |
| 1/13/2022 | 0 |
| 1/14/2022 | 0 |
| 1/15/2022 | 0 |
| 1/16/2022 | 0 |
| 1/17/2022 | 0 |
| 1/18/2022 | 0 |
| 1/19/2022 | 0 |
| 1/20/2022 | 0 |
| 1/21/2022 | 0 |
| 1/22/2022 | 0 |
| 1/23/2022 | 0 |

`inlunarweek()` fonksiyonu, first\_week\_day örneği

`inlunarweek()` fonksiyonu, first\_week\_day örneği

`inlunarweek()`inlunarweek() fonksiyonu, first\_week\_day örneği![Giriş bilgilerine göre fonksiyonun TRUE değerini döndüreceği tarih aralığını gösteren inlunarweek fonksiyonunun kullanım örneği.](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inlunarweek-first-week-day.png)

Bu örnekte, `inlunarweek()` fonksiyonundaki `first_week_date` bağımsız değişkeninde 5 değeri kullanıldığından, ay yılı haftası takvimi 6 Ocak'ta başlayacak şekilde kaydırılır. Bu nedenle, 10 Ocak tarihi 6 Ocak'ta başlayıp 12 Ocak'ta sona eren ay yılı haftasına denk gelir. Bu iki tarih arasında gerçekleşen tüm işlemler `TRUE` Boole değerini döndürür.

## Örnek 4 – Grafik nesnesi

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inlunarweek.htm)

#### Komut dosyası ve grafik ifadesi:

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:

* İlk örnek ile aynı veri kümesi ve senaryo.

* Tarih alanı DateFormat sistem değişkeninde (AA/GG/YYYY) biçiminde sağlanmıştır.

Ancak bu örnekte uygulamaya değiştirilmemiş veri kümesi yüklenmektedir. İşlemlerin 10 Ocak'la aynı ay yılı haftasında gerçekleşip gerçekleşmediğini belirleyen hesaplama, uygulamanın grafik nesnesindeki bir hesaplama olarak oluşturulur.

Komut dosyası

```
SET DateFormat='MM/DD/YYYY';

Transactions:
Load
*
Inline 
[
id,date,amount
8183,'1/5/2022',42.32
8184,'1/6/2022',68.22
8185,'1/7/2022',15.25
8186,'1/8/2022',25.26
8187,'1/9/2022',37.23
8188,'1/10/2022',37.23
8189,'1/11/2022',17.17
8190,'1/12/2022',88.27
8191,'1/13/2022',57.42
8192,'1/14/2022',53.80
8193,'1/15/2022',82.06
8194,'1/16/2022',87.21
8195,'1/17/2022',95.93
8196,'1/18/2022',45.89
8197,'1/19/2022',36.23
8198,'1/20/2022',25.66
8199,'1/21/2022',82.77
8200,'1/22/2022',69.98
8201,'1/23/2022',76.11
];
```

Sonuçlar

Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanı boyut olarak ekleyin: date.

Bir işlemin 10 Ocak tarihini içeren ay yılı haftasında gerçekleşip gerçekleşmediğini hesaplamak için aşağıdaki hesaplamayı oluşturun:

= inlunarweek(date,'01/10/2022', 0)

Sonuçlar tablosu

| tarih | =inlunarweek(date,'01/10/2022', 0) |
| --- | --- |
| 1/5/2022 | 0 |
| 1/6/2022 | 0 |
| 1/7/2022 | 0 |
| 1/8/2022 | -1 |
| 1/9/2022 | -1 |
| 1/10/2022 | -1 |
| 1/11/2022 | -1 |
| 1/12/2022 | -1 |
| 1/13/2022 | -1 |
| 1/14/2022 | -1 |
| 1/15/2022 | 0 |
| 1/16/2022 | 0 |
| 1/17/2022 | 0 |
| 1/18/2022 | 0 |
| 1/19/2022 | 0 |
| 1/20/2022 | 0 |
| 1/21/2022 | 0 |
| 1/22/2022 | 0 |
| 1/23/2022 | 0 |

## Örnek 5 – Senaryo

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inlunarweek.htm)

#### Komut dosyası ve grafik ifadesi:

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:

* Products adlı tabloya yüklenen bir veri kümesi.

* Ürün kimliği, üretim tarihi ve maliyet fiyatı bilgileri.

Ekipman hatası nedeniyle 12 Ocak tarihini içeren ay yılı haftasında üretilen ürünlerin kusurlu olduğu belirlenmiştir. Son kullanıcı, ay yılı haftası adına göre üretilen ürünlerin ‘kusurlu’ veya ‘kusursuz’ olma durumlarını ve söz konusu ay içinde üretilen ürünlerin maliyetini görüntüleyen bir grafik nesnesi istemektedir.

Komut dosyası

```
SET DateFormat='MM/DD/YYYY';

Transactions:
Load
*
Inline 
[
product_id,manufacture_date,cost_price
8183,'1/5/2022',42.32
8184,'1/6/2022',68.22
8185,'1/7/2022',15.25
8186,'1/8/2022',25.26
8187,'1/9/2022',37.23
8188,'1/10/2022',37.23
8189,'1/11/2022',17.17
8190,'1/12/2022',88.27
8191,'1/13/2022',57.42
8192,'1/14/2022',53.80
8193,'1/15/2022',82.06
8194,'1/16/2022',87.21
8195,'1/17/2022',95.93
8196,'1/18/2022',45.89
8197,'1/19/2022',36.23
8198,'1/20/2022',25.66
8199,'1/21/2022',82.77
8200,'1/22/2022',69.98
8201,'1/23/2022',76.11
];
```

Sonuçlar

Aşağıdakileri yapın:

1. Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun.

2. Ay adlarını göstermek için bir boyut oluşturun:

   =lunarweekname(manufacture\_date)

3. inlunarweek() fonksiyonunu kullanarak hangi ürünlerin kusurlu ve hangilerinin kusursuz olduğunu belirlemek için bir hesaplama oluşturun:

   =if(only(inlunarweek(manufacture\_date,makedate(2022,01,12),0)), 'Defective','Faultless')

4. Ürünlerin cost\_price değerini toplamak için bir hesaplama oluşturun:

   =sum(cost\_price)

5. Hesaplamanın Sayı Biçimini Para olarak ayarlayın.

6. Görünüş'ün altında Toplamlar'ı kapatın.

Sonuçlar tablosu

| lunarweekname(manufacture\_date) | =if(only(inlunarweek(manufacture\_date,makedate(2022,01,12),0)), 'Kusurlu','Kusursuz') | sum(cost\_price) |
| --- | --- | --- |
| 2022/01 | Kusursuz | $125.79 |
| 2022/02 | Kusurlu | $316.38 |
| 2022/03 | Kusursuz | $455.75 |
| 2022/04 | Kusursuz | $146.09 |

inlunarweek() fonksiyonu, ürünlerin her birinin üretim tarihlerini değerlendirirken bir Boole değeri döndürür. 10 Ocak tarihini içeren ay yılı haftasında üretilen tüm ürünler için, inlunarweek() fonksiyonu 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.