# networkdays - kod ve grafik fonksiyonu

networkdays fonksiyonu, isteğe bağlı olarak listelenen tüm holiday öğelerini dikkate alarak, start\_date ve end\_date arasındaki ve bu tarihleri de içeren iş günlerinin (Pazartesi - Cuma) sayısını döndürür.

Söz Dizimi:

networkdays (start\_date, end\_date [, holiday])

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

networkdays fonksiyonu tarafından döndürülen tarih aralığının görüntülendiği takvim diyagramı

networkdays fonksiyonu tarafından döndürülen tarih aralığının görüntülendiği takvim diyagramı

networkdays fonksiyonu tarafından döndürülen tarih aralığının görüntülendiği takvim diyagramı ![BURAYA ALT METİN EKLEYİN.....!!!!!!](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-general-calendar.png)

`networkdays` fonksiyonunun şu sınırlamaları vardır:

* İş günlerini değiştirmeye yönelik hiçbir yöntem yoktur. Diğer bir deyişle, Pazartesi ile Cuma arası çalışma dışında bir çalışma düzeni olan bölgeler veya durumlar için fonksiyonu değiştirmenin hiçbir yolu yoktur.

* `holiday` parametresi bir dize sabiti olmalıdır. İfadeler kabul edilmez.

Bağımsız Değişkenler

| Bağımsız Değişken | Açıklama |
| --- | --- |
| start\_date | Değerlendirilecek başlangıç tarihi. |
| end\_date | Değerlendirilecek bitiş tarihi. |
| holiday | İş günlerinden hariç tutulacak tatil dönemleri. Bir tatil sabit dizeli bir tarih olarak ifade edilir. Virgüllerle ayırarak birden çok tatil tarihi belirtebilirsiniz.<br><br>Örnek: `  '12/25/2013', '12/26/2013', '12/31/2013', '01/01/2014' ` |

## Ne zaman kullanılır?

Genel olarak `networkdays()` fonksiyonu, kullanıcının hesaplamada iki tarih arasındaki çalışma haftası günlerinin sayısını kullanmak istemesi durumunda, ifadenin içinde kullanılır. Örneğin kullanıcı, bir PAYE (kazandıkça öde) sözleşmesine göre çalışanın kazanacağı toplam ücreti hesaplamak isteyebilir.

Fonksiyon örnekleri

| Örnek | Sonuç |
| --- | --- |
| `networkdays ('12/19/2013', '01/07/2014')` | 14 döndürür. Bu örnek tatil günlerini hesaba katmaz. |
| `networkdays ('12/19/2013', '01/07/2014', '12/25/2013', '12/26/2013')` | 12 döndürür. Bu örnek 12/25/2013 ile 12/26/2013 arasındaki tatili hesaba katar. |
| `networkdays ('12/19/2013', '01/07/2014', '12/25/2013', '12/26/2013', '12/31/2013', '01/01/2014')` | 10 döndürür. Bu örnek iki tatil dönemini hesaba katar. |

## 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 – Temel örnek

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

#### 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:

* Proje kimliklerini, projelerin başlangıç tarihlerini ve bitiş tarihlerini içeren bir veri kümesi. Bu bilgiler `Projects` adlı tabloya yüklenir.

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

* Her projenin içerdiği iş günü sayısını hesaplamak için `net_work_days` adlı ek bir alan oluşturma.

Komut dosyası

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

Projects:
    Load
        *,
        networkdays(start_date,end_date) as net_work_days
        ;
Load
id,
start_date,
end_date
Inline 
[	
id,start_date,end_date
1,01/01/2022,01/18/2022
2,02/10/2022,02/17/2022
3,05/17/2022,07/05/2022
4,06/01/2022,06/12/2022
5,08/10/2022,08/26/2022
];
```

Sonuçlar

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

* `id`

* `start_date`

* `end_date`

* `net_work_days`

Sonuçlar tablosu

| kimlik | start\_date | end\_date | net\_work\_days |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 01/18/2022 | 12 |
| 2 | 02/10/2022 | 02/17/2022 | 6 |
| 3 | 05/17/2022 | 07/05/2022 | 36 |
| 4 | 06/01/2022 | 06/12/2022 | 8 |
| 5 | 08/10/2022 | 08/26/2022 | 13 |

Zamanlanan tatil olmadığından (`networkdays()` fonksiyonunun üçüncü bağımsız değişkeninde bulunabilirdi), fonksiyon iki tarih arasındaki iş günlerinin sayısını hesaplamak için `start_date` tarihini ve tüm hafta sonlarını `end_date` tarihinden çıkarır.

Proje 5'in iş günlerinin vurgulandığı takvim diyagramı (tatil yok)

Proje 5'in iş günlerinin vurgulandığı takvim diyagramı (tatil yok)

Proje 5'in iş günlerinin vurgulandığı takvim diyagramı (tatil yok)![Veri kümesinden kimliği 5 olan projenin iş günlerinin gösterildiği, Ağustos ayının takvim diyagramı. Burada, 10-26 Ağustos arasındaki tüm hafta içi günler (Pazartesi-Cuma) vurgulanmış, Cumartesi ve Pazar günleri hariç tutulmuştur.](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-basic.png)

Yukarıdaki takvimde `id` değeri 5 olan proje görsel olarak açıklanır. Proje 5 10 Ağustos 2022 Çarşamba günü başlar ve 26 Ağustos 2022'de biter. Tüm Cumartesi ve Pazar günleri yoksayıldığında, bu iki tarih arasında (bu tarihler de dahil) 13 iş günü vardır.

## Örnek 2 - Tek tatil

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

#### 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:

* Önceki örnekle aynı veri kümesi ve senaryo.

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

* Her projenin içerdiği iş günü sayısını hesaplamak için `net_work_days` adlı ek bir alan oluşturma.

Bu örnekte, 19 Ağustos 2022'ye zamanlanan bir günlük bir tatil vardır.

Komut dosyası

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

Projects:
    Load
        *,
        networkdays(start_date,end_date,'08/19/2022') as net_work_days
        ;
Load
id,
start_date,
end_date
Inline 
[	
id,start_date,end_date
1,01/01/2022,01/18/2022
2,02/10/2022,02/17/2022
3,05/17/2022,07/05/2022
4,06/01/2022,06/12/2022
5,08/10/2022,08/26/2022
];
```

Sonuçlar

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

* `id`

* `start_date`

* `end_date`

* `net_work_days`

Sonuçlar tablosu

| kimlik | start\_date | end\_date | net\_work\_days |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 01/18/2022 | 12 |
| 2 | 02/10/2022 | 02/17/2022 | 6 |
| 3 | 05/17/2022 | 07/05/2022 | 36 |
| 4 | 06/01/2022 | 06/12/2022 | 8 |
| 5 | 08/10/2022 | 08/26/2022 | 12 |

Zamanlanan tek tatil, `networkdays()` fonksiyonunun üçüncü bağımsız değişkeni olarak girilmiştir.

Proje 5'in iş günlerinin vurgulandığı takvim diyagramı (tek tatil)

Proje 5'in iş günlerinin vurgulandığı takvim diyagramı (tek tatil)

Proje 5'in iş günlerinin vurgulandığı takvim diyagramı (tek tatil)![Veri kümesinden kimliği 5 olan projenin iş günlerinin gösterildiği, Ağustos ayının takvim diyagramı. Burada, 10-26 Ağustos arasındaki tüm hafta içi günler (Pazartesi-Cuma) vurgulanmış, yalnızca 19 Ağustos 2022 (tatil) hariç tutulmuştur.](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-single-holiday.png)

Yukarıdaki takvimde proje 5 görsel olarak açıklanır ve tatili dahil etmeye yönelik bu ayarlama gösterilir. Bu tatil proje 5 sırasında, 19 Ağustos 2022 Cuma günüdür. Sonuç olarak, proje 5 için toplam `net_work_days` değeri bir gün kısalır ve 13 günden 12 güne düşer.

## Örnek 3 - Birden fazla tatil

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

#### 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:

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

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

* Her projenin içerdiği iş günü sayısını hesaplamak için `net_work_days` adlı ek bir alan oluşturma.

Öte yandan bu örnekte 18 Ağustos ile 21 Ağustos 2022 arasına zamanlanan dört tatil vardır.

Komut dosyası

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

Projects:
    Load
        *,
        networkdays(start_date,end_date,'08/18/2022','08/19/2022','08/20/2022','08/21/2022') as net_work_days
        ;
Load
id,
start_date,
end_date
Inline 
[	
id,start_date,end_date
1,01/01/2022,01/18/2022
2,02/10/2022,02/17/2022
3,05/17/2022,07/05/2022
4,06/01/2022,06/12/2022
5,08/10/2022,08/26/2022
];
```

Sonuçlar

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

* `id`

* `start_date`

* `end_date`

* `net_work_days`

Sonuçlar tablosu

| kimlik | start\_date | end\_date | net\_work\_days |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 01/18/2022 | 12 |
| 2 | 02/10/2022 | 02/17/2022 | 6 |
| 3 | 05/17/2022 | 07/05/2022 | 36 |
| 4 | 06/01/2022 | 06/12/2022 | 8 |
| 5 | 08/10/2022 | 08/26/2022 | 11 |

Zamanlanan dört tatil, `networkdays()` fonksiyonunda üçüncü bağımsız değişkenden başlayıp virgülle ayrılmış bir liste olarak girilmiştir.

Proje 5'in iş günlerinin vurgulandığı takvim diyagramı (birden fazla tatil)

Proje 5'in iş günlerinin vurgulandığı takvim diyagramı (birden fazla tatil)

Proje 5'in iş günlerinin vurgulandığı takvim diyagramı (birden fazla tatil)![Veri kümesinden kimliği 5 olan projenin iş günlerinin gösterildiği, Ağustos ayının takvim diyagramı. Burada, 10-26 Ağustos 2022 arasındaki tüm hafta içi günler (Pazartesi-Cuma) vurgulanmış, yalnızca 18 ve 19 Ağustos 2022 (tatiller) hariç tutulmuştur.](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-multiple-holidays.png)

Yukarıdaki takvimde proje 5 görsel olarak açıklanır ve bu tatilleri dahil etmeye yönelik bu ayarlama gösterilir. Zamanlanan bu tatil dönemi proje 5 sırasında gerçekleşir ve iki tatil günü Perşembe ve Cuma'dır. Sonuç olarak, proje 5 için toplam `net_work_days` değeri 5 gün kısalır ve 13 günden 11 güne düşer.

## Örnek 4 - Tek tatil

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/networkdays.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 örnekle aynı veri kümesi ve senaryo.

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

19 Ağustos 2022'ye zamanlanan bir günlük bir tatil vardır.

Ancak bu örnekte uygulamaya değiştirilmemiş veri kümesi yüklenmektedir. net\_work\_days alanı, grafik nesnesindeki bir hesaplama olarak hesaplanır.

Komut dosyası

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

Projects:
Load
id,
start_date,
end_date
Inline 
[	
id,start_date,end_date
1,01/01/2022,01/18/2022
2,02/10/2022,02/17/2022
3,05/17/2022,07/05/2022
4,06/01/2022,06/12/2022
5,08/10/2022,08/26/2022
];
```

Sonuçlar

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

* id

* start\_date

* end\_date

Şu hesaplamayı oluşturun:

= networkdays(start\_date,end\_date,’08/19/2022’)

Sonuçlar tablosu

| kimlik | start\_date | end\_date | net\_work\_days |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 01/18/2022 | 12 |
| 2 | 02/10/2022 | 02/17/2022 | 6 |
| 3 | 05/17/2022 | 07/05/2022 | 36 |
| 4 | 06/01/2022 | 06/12/2022 | 8 |
| 5 | 08/10/2022 | 08/26/2022 | 12 |

Zamanlanan tek tatil, networkdays() fonksiyonunun üçüncü bağımsız değişkeni olarak girilmiştir.

Tek tatille net iş günlerini gösteren takvim diyagramı (grafik nesnesi)

Tek tatille net iş günlerini gösteren takvim diyagramı (grafik nesnesi)

Tek tatille net iş günlerini gösteren takvim diyagramı (grafik nesnesi)![Veri kümesinden kimliği 5 olan projenin iş günlerinin gösterildiği, Ağustos ayının takvim diyagramı. Burada, 10-26 Ağustos arasındaki tüm hafta içi günler (Pazartesi-Cuma) vurgulanmış, yalnızca 19 Ağustos 2022 (tatil) hariç tutulmuştur.](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-networkdays-example-chart-single-holiday.png)

Yukarıdaki takvimde proje 5 görsel olarak açıklanır ve tatili dahil etmeye yönelik bu ayarlama gösterilir. Bu tatil proje 5 sırasında, 19 Ağustos 2022 Cuma günüdür. Sonuç olarak, proje 5 için toplam net\_work\_days değeri bir gün kısalır ve 13 günden 12 güne düşer.