# lastworkdate - kod ve grafik fonksiyonu

lastworkdate fonksiyonu, isteğe bağlı holiday varsa bunları da dikkate alarak, start\_date ile başlanması halinde no\_of\_workdays (Pazartesi-Cuma) elde edilmesi için gerekli en erken bitiş tarihini döndürür. start\_date ve holiday geçerli tarihler veya zaman damgaları olmalıdır.

Söz Dizimi:

lastworkdate(start\_date, no\_of\_workdays {, holiday})

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

`lastworkdate()` fonksiyonunun nasıl kullanıldığını gösteren takvim

`lastworkdate()` fonksiyonunun nasıl kullanıldığını gösteren takvim

`lastworkdate()`lastworkdate() fonksiyonunun nasıl kullanıldığını gösteren takvim ![Bir aylık takvimi gösteren diyagram.](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-lastworkdate-diagram1.png)

Sınırlamalar

Pazartesi başlayıp Cuma biten çalışma haftaları dışında bir çalışma haftası olan bölgeler veya senaryolar için `lastworkdate()` fonksiyonunu değiştirmeye yönelik hiçbir yöntem yoktur.

Tatil parametresi bir dize sabiti olmalıdır. Bu parametre ifade kabul etmez.

Ne zaman kullanılır?

`lastworkdate()` fonksiyonu genel olarak, kullanıcı projenin başlangıcını ve proje dönemine denk gelen tatilleri temel alarak bir proje veya atamanın önerilen bitiş tarihini hesaplamak istediğinde, bir ifadenin parçası olarak 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.

Bağımsız Değişkenler

| Bağımsız Değişken | Açıklama |
| --- | --- |
| start\_date | Değerlendirilecek başlangıç tarihi. |
| no\_of\_workdays | Elde edilecek iş günü sayısı. |
| 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' ` |

## Örnek 1 – Temel örnek

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lastworkdate.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:

* Projeler için gereken proje kimliklerini, proje başlangıç tarihlerini ve gün cinsinden tahmini çalışmayı içeren veri kümesi. Veri kümesi "`Projects`" adlı tabloya yüklenir.

* "`end_date`" alanı olarak ayarlanan ve her projenin zamanlanan bitiş tarihini belirleyen `lastworkdate()` fonksiyonunun yer aldığı önceki bir yükleme.

Komut dosyası

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

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

Sonuçlar

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

* `id`
* `start_date`
* `effort`
* `end_date`

Sonuçlar tablosu

| kimlik | start\_date | effort | end\_date |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 14 | 01/20/2022 |
| 2 | 02/10/2022 | 17 | 03/04/2022 |
| 3 | 05/17/2022 | 5 | 05/23/2022 |
| 4 | 06/01/2022 | 12 | 06/16/2022 |
| 5 | 08/10/2022 | 26 | 09/14/2022 |

Zamanlanan tatil olmadığından, fonksiyon mümkün olan en erken bitiş tarihini bulmak için tanımlanmış iş günlerinin (Pazartesi - Cuma) sayısını başlangıç tarihine ekler.

Aşağıdaki takvim proje 3'ün başlangıç ve bitiş tarihlerini gösterir. İş günleri yeşille vurgulanmıştır.

Proje 3'ün başlangıç ve bitiş tarihlerini gösteren takvim

Proje 3'ün başlangıç ve bitiş tarihlerini gösteren takvim

Proje 3'ün başlangıç ve bitiş tarihlerini gösteren takvim ![Proje 3'ün, başlangıç tarihi 17 Mayıs ve son iş günü 23 Mayıs olmak üzere toplam beş iş gününü gösteren diyagram.](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-lastworkdate-example1-diagram.png)

## Örnek 2 - Tek tatil

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lastworkdate.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:

* Projeler için gereken proje kimliklerini, proje başlangıç tarihlerini ve gün cinsinden tahmini çalışmayı içeren veri kümesi. Veri kümesi "`Projects`" adlı tabloya yüklenir.

* "`end_date`" alanı olarak ayarlanan ve her projenin zamanlanan bitiş tarihini belirleyen `lastworkdate()` fonksiyonunun yer aldığı önceki bir yükleme.

Ancak 18 Mayıs 2022 tarihine zamanlanan tek bir tatil vardır. Önceki yüklemede yer alan `lastworkdate()` fonksiyonu, her projenin zamanlanan bitiş tarihini belirlemek için üçüncü bağımsız değişkeninde tatili içerir.

Komut dosyası

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

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

Sonuçlar

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

* `id`
* `start_date`
* `effort`
* `end_date`

Sonuçlar tablosu

| kimlik | start\_date | effort | end\_date |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 14 | 01/20/2022 |
| 2 | 02/10/2022 | 17 | 03/04/2022 |
| 3 | 05/17/2022 | 5 | 05/24/2022 |
| 4 | 06/01/2022 | 12 | 06/16/2022 |
| 5 | 08/10/2022 | 26 | 09/14/2022 |

Zamanlanan tek tatil, `lastworkdate()` fonksiyonunun üçüncü bağımsız değişkeni olarak girilmiştir. Sonuç olarak, proje 3'ün bitiş tarihinden önceki iş günlerinden biri tatil olduğundan bitiş tarihi bir gün ileri kaydırılır.

Aşağıdaki takvim proje 3'ün başlangıç ve bitiş tarihlerini, ayrıca tatil nedeniyle projenin bitiş tarihinde bir günlük değişiklik olduğunu gösterir.

18 Mayıs'daki tatille birlikte proje 3'ün başlangıç ve bitiş tarihlerinin gösterildiği takvim

18 Mayıs'daki tatille birlikte proje 3'ün başlangıç ve bitiş tarihlerinin gösterildiği takvim

18 Mayıs'daki tatille birlikte proje 3'ün başlangıç ve bitiş tarihlerinin gösterildiği takvim ![18 Mayıs'daki tatille birlikte proje 3'ün başlangıç tarihini 17 Mayıs olarak gösteren diyagram.](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-lastworkdate-example2-diagram.png)

## Örnek 3 - Birden fazla tatil

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lastworkdate.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:

* Projeler için gereken proje kimliklerini, proje başlangıç tarihlerini ve gün cinsinden tahmini çalışmayı içeren veri kümesi. Veri kümesi "`Projects`" adlı tabloya yüklenir.

* "`end_date`" alanı olarak ayarlanan ve her projenin zamanlanan bitiş tarihini belirleyen `lastworkdate()` fonksiyonunun yer aldığı önceki bir yükleme.

Ancak 19, 20, 21 ve 22 Mayıs'a zamanlanan üç tatil vardır. Önceki yüklemede yer alan `lastworkdate()` fonksiyonu, her projenin zamanlanan bitiş tarihini belirlemek için üçüncü bağımsız değişkeninde tatilleri içerir.

Komut dosyası

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

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

Sonuçlar

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

* `id`
* `start_date`
* `effort`
* `end_date`

Sonuçlar tablosu

| kimlik | start\_date | effort | end\_date |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 14 | 01/20/2022 |
| 2 | 02/10/2022 | 17 | 03/04/2022 |
| 3 | 05/17/2022 | 5 | 05/25/2022 |
| 4 | 06/01/2022 | 12 | 06/16/2022 |
| 5 | 08/10/2022 | 26 | 09/14/2022 |

`lastworkdate()` fonksiyonunda başlangıç tarihi ve iş günlerinin sayısının ardından bağımsız değişken listesi olarak dört tatil girilmiştir.

Aşağıdaki takvim proje 3'ün başlangıç ve bitiş tarihlerini, ayrıca tatiller nedeniyle proje bitiş tarihinde üç günlük değişiklik olduğunu gösterir.

19 Mayıs ile 22 Mayıs arasındaki tatillerle birlikte proje 3'ün başlangıç ve bitiş tarihlerini gösteren takvim

19 Mayıs ile 22 Mayıs arasındaki tatillerle birlikte proje 3'ün başlangıç ve bitiş tarihlerini gösteren takvim

19 Mayıs ile 22 Mayıs arasındaki tatillerle birlikte proje 3'ün başlangıç ve bitiş tarihlerini gösteren takvim ![Proje 3'ün başlangıç tarihini 17 Mayıs, son iş gününü 25 Mayıs olarak gösteren ve son iş gününü üç gün geri kaydıran fazladan dört tatili içeren (tatillerin ikisi Cumartesi ve Pazar günlerindedir) diyagram.](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-lastworkdate-example3-diagram.png)

## Örnek 4 - Tek tatil (grafik)

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

#### Komut dosyası ve grafik ifadesi

Genel bakış

Birinci örnekteki veri kümesi ve senaryo kullanılır.

Öte yandan bu örnekte veri kümesi değişmemiş ve uygulamaya yüklenmiştir. `end_date` alanı, grafikteki bir hesaplama olarak hesaplanır.

Yükleme kodu

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

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

Sonuçlar

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

* `id`
* `start_date`
* `effort`

end\_date değerini hesaplamak için şu hesaplamayı oluşturun:

* `=LastWorkDate(start_date,effort,'05/18/2022')`

Sonuçlar tablosu

| kimlik | start\_date | effort | =LastWorkDate(start\_date,effort,'05/18/2022') |
| --- | --- | --- | --- |
| 1 | 01/01/2022 | 14 | 01/20/2022 |
| 2 | 02/10/2022 | 17 | 03/04/2022 |
| 3 | 05/17/2022 | 5 | 05/23/2022 |
| 4 | 06/01/2022 | 12 | 06/16/2022 |
| 5 | 08/10/2022 | 26 | 09/14/2022 |

Zamanlanan tek tatil, grafikte bir hesaplama olarak girilmiştir. Sonuç olarak, proje 3'ün bitiş tarihinden önceki iş günlerinden biri tatil olduğundan bitiş tarihi bir gün ileri kaydırılır.

Aşağıdaki takvim proje 3'ün başlangıç ve bitiş tarihlerini, ayrıca tatil nedeniyle projenin bitiş tarihinde bir günlük değişiklik olduğunu gösterir.

18 Mayıs'daki tatille birlikte proje 3'ün başlangıç ve bitiş tarihlerinin gösterildiği takvim

18 Mayıs'daki tatille birlikte proje 3'ün başlangıç ve bitiş tarihlerinin gösterildiği takvim

18 Mayıs'daki tatille birlikte proje 3'ün başlangıç ve bitiş tarihlerinin gösterildiği takvim ![18 Mayıs'daki tatille birlikte proje 3'ün başlangıç tarihini 17 Mayıs olarak gösteren diyagram.](https://help.qlik.com/tr-TR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-lastworkdate-example2-diagram.png)