# weekyear - kod ve grafik fonksiyonu

Bu fonksiyon, ortam değişkenlerine göre hafta sayısı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(timestamp [, first\_week\_day [, broken\_weeks [, reference\_day]]])

Dönüş verileri türü: tamsayı

Bağımsız Değişkenler

| Bağımsız Değişken | Açıklama |
| --- | --- |
| timestamp | Değerlendirilecek tarih veya zaman damgası. |
| first\_week\_day | Haftanın başladığı günü belirtir. Atlandığı takdirde, FirstWeekDay değişkeninin değeri kullanılır.<br><br>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.<br><br>Sistem değişkeni hakkında daha fazla bilgi için bkz. [FirstWeekDay](https://help.qlik.com/tr-TR/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm). |
| 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.<br><br>Sistem değişkeni hakkında daha fazla bilgi için bkz. [BrokenWeeks](https://help.qlik.com/tr-TR/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/BrokenWeeks.htm). |
| 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.<br><br>Sistem değişkeni hakkında daha fazla bilgi için bkz. [ReferenceDay](https://help.qlik.com/tr-TR/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/ReferenceDay.htm). |

`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.

`BrokenWeeks` `0` (false) olarak ayarlanırsa, `weekyear()` `year()` ile aynı değeri döndürür.

`weekyear()` fonksiyonu aralığının diyagramı

`weekyear()` fonksiyonu aralığının diyagramı

`weekyear()`weekyear() fonksiyonu aralığının diyagramı ![weekyear() fonksiyonunun değerlendirdiği zaman aralığını gösteren diyagram.](https://help.qlik.com/tr-TR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-diagram1.png)

Ö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.

Bölünmemiş haftalar kullanıldığında `weekyear()` fonksiyonu aralığının diyagramı

Bölünmemiş haftalar kullanıldığında `weekyear()` fonksiyonu aralığının diyagramı

Bölünmemiş haftalar kullanıldığında `weekyear()`weekyear() fonksiyonu aralığının diyagramı ![weekyear() fonksiyonunun bölünmemiş haftalarla nasıl çalıştığını gösteren diyagram.](https://help.qlik.com/tr-TR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-diagram2.png)

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',0,0,4)` | 1997 döndürür, çünkü 1997'nin 1. haftası 12/30/1996'da başlar |
| `weekyear('01/02/1997',0,0,4)` | 1997 döndürür |
| `weekyear('12/28/1997',0,0,4)` | 1997 döndürür |
| `weekyear('12/30/1997',0,0,4)` | 1998 döndürür, çünkü 1998'in 1. haftası 12/29/1997'de başlar |
| `weekyear('01/02/1999',0,0,4)` | 1998 döndürür, çünkü 1998'in 53. haftası 01/03/1999'da sona erer |

İlgili konular

| Konu | Etkileşim |
| --- | --- |
| [week - kod ve grafik fonksiyonu](https://help.qlik.com/tr-TR/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/week.htm) | ISO 8601 uyarınca hafta numarasını temsil eden bir tamsayı döndürür |
| [year - kod ve grafik fonksiyonu](https://help.qlik.com/tr-TR/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/year.htm) | İ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

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

#### Komut dosyası ve sonuçlar

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.

Bölünmüş haftaların kullanılmasıyla `weekyear()` fonksiyonu aralığının diyagramı

Bölünmüş haftaların kullanılmasıyla `weekyear()` fonksiyonu aralığının diyagramı

Bölünmüş haftaların kullanılmasıyla `weekyear()`weekyear() fonksiyonu aralığının diyagramı ![weekyear() fonksiyonunun 8181 numaralı işlemin 1. hafta gerçekleştiğini belirlediğini ve o haftanın yılını (2021) döndürdüğünü gösteren diyagram.](https://help.qlik.com/tr-TR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-examples1_and3-diagram.png)

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

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

#### Komut dosyası ve sonuçlar

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.

Bölünmemiş haftaların kullanılmasıyla `weekyear()` fonksiyonu aralığının diyagramı

Bölünmemiş haftaların kullanılmasıyla `weekyear()` fonksiyonu aralığının diyagramı

Bölünmemiş haftaların kullanılmasıyla `weekyear()`weekyear() fonksiyonu aralığının diyagramı ![weekyear() fonksiyonunun bölünmemiş haftalarla nasıl çalıştığını ve 53. haftanın hem 2020 hem de 2021'den günler içerdiğini gösteren diyagram.](https://help.qlik.com/tr-TR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-example2-diagram.png)

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

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

#### Komut dosyası ve grafik ifadesi

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.

Komut dosyası

```
SET BrokenWeeks=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 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.

Bölünmüş haftaların kullanılmasıyla `weekyear()` fonksiyonu aralığının diyagramı

Bölünmüş haftaların kullanılmasıyla `weekyear()` fonksiyonu aralığının diyagramı

Bölünmüş haftaların kullanılmasıyla `weekyear()`weekyear() fonksiyonu aralığının diyagramı ![weekyear() fonksiyonunun 8181 numaralı işlemin 1. hafta gerçekleştiğini belirlediğini ve o haftanın yılını (2021) döndürdüğünü gösteren diyagram.](https://help.qlik.com/tr-TR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekyear-examples1_and3-diagram.png)

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

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

#### Komut dosyası ve sonuçlar

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çimini Para olarak ayarlayın.

Sonuçlar tablosu

| weekyear(date) | =sum(amount) |
| --- | --- |
| 2020 | 19.42 |
| 2021 | 373.37 |