addyears - kod ve grafik fonksiyonu
Fonksiyon, startdate değerinden n yıl sonra olan tarihi veya n negatif ise, startdate değerinden n yıl önce olan tarihi döndürür.
Söz Dizimi:
AddYears(startdate, n)
Dönüş verileri türü: dual
addyears() fonksiyonu, tanımlı yıl sayısı olan n değerini startdate tarihiyle toplar veya bu tarihten çıkarır. Ardından, sonuçta elde edilen tarihi döndürür.
Bağımsız Değişken | Açıklama |
---|---|
startdate |
Bir zaman damgası olarak başlangıç tarihi; örneğin '2012-10-12'. |
n | Pozitif veya negatif tamsayı olarak yıl sayısı. |
Örnek | Sonuç |
---|---|
addyears ('01/29/2010',3) | "01/29/2013" döndürür. |
addyears ('01/29/2010',-1) | "01/29/2009" döndürü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 – Basit örnek
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:
-
Transactions adlı tabloya yüklenen, 2020 ile 2022 arasında yapılmış işlemler içeren bir veri kümesi.
-
Tarih alanı DateFormat sistem değişkeninde (AA/GG/YYYY) biçiminde sağlanmıştır.
-
İşlemin gerçekleşmesinden iki yıl sonraki tarihi döndüren two_years_later alanını oluşturma.
Komut dosyası
SET DateFormat='MM/DD/YYYY';
Transactions:
Load
*,
addyears(date,2) as two_years_later
;
Load
*
Inline
[
id,date,amount
8188,'01/10/2020',37.23
8189,'02/28/2020',17.17
8190,'04/09/2020',88.27
8191,'04/16/2020',57.42
8192,'05/21/2020',53.80
8193,'08/14/2020',82.06
8194,'10/07/2020',40.39
8195,'12/05/2020',87.21
8196,'01/22/2021',95.93
8197,'02/03/2021',45.89
8198,'03/17/2021',36.23
8199,'04/23/2021',25.66
8200,'05/04/2021',82.77
8201,'06/30/2021',69.98
8202,'07/26/2021',76.11
8203,'12/27/2021',25.12
8204,'02/02/2022',46.23
8205,'02/26/2022',84.21
8206,'03/07/2022',96.24
8207,'03/11/2022',67.67
];
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
-
date
-
two_years_later
date | two_years_later |
---|---|
01/10/2020 | 01/10/2022 |
02/28/2020 | 02/28/2022 |
04/09/2020 | 04/09/2022 |
04/16/2020 | 04/16/2022 |
05/21/2020 | 05/21/2022 |
08/14/2020 | 08/14/2022 |
10/07/2020 | 10/07/2022 |
12/05/2020 | 12/05/2022 |
01/22/2021 | 01/22/2023 |
02/03/2021 | 02/03/2023 |
03/17/2021 | 03/17/2023 |
04/23/2021 | 04/23/2023 |
05/04/2021 | 05/04/2023 |
06/30/2021 | 06/30/2023 |
07/26/2021 | 07/26/2023 |
12/27/2021 | 12/27/2023 |
02/02/2022 | 02/02/2024 |
02/26/2022 | 02/26/2024 |
03/07/2022 | 03/07/2024 |
03/11/2022 | 03/11/2024 |
two_years_later alanı, öncelikli yükleme deyiminde addyears() fonksiyonu kullanılarak oluşturulur. Sağlanan ilk bağımsız değişken hangi tarihin değerlendirilmekte olduğunu belirler. İkinci bağımsız değişken başlangıç tarihiyle toplanacak veya bu tarihten çıkarılacak olan yıl sayısıdır. Bu örnekte 2 değeri sağlanmıştır.
8193 numaralı işlem 14 Ağustos 2020'de gerçekleşmiştir. Bu nedenle addyears() fonksiyonu two_years_later alanı için 14 Ağustos 2022 tarihini döndürür.
Örnek 2 – Grafik nesnesi örneği
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:
-
Transactions adlı tabloya yüklenen, 2020 ile 2022 arasında yapılmış işlemler içeren bir veri kümesi.
-
Tarih alanı DateFormat sistem değişkeninde (AA/GG/YYYY) biçiminde sağlanmıştır.
Grafik nesnesinde, işlemin gerçekleşmesinden bir yıl önceki tarihi döndüren prior_year_date hesaplamasını oluşturun.
Komut dosyası
SET DateFormat='MM/DD/YYYY';
Transactions:
Load
*
Inline
[
id,date,amount
8188,'01/10/2020',37.23
8189,'02/28/2020',17.17
8190,'04/09/2020',88.27
8191,'04/16/2020',57.42
8192,'05/21/2020',53.80
8193,'08/14/2020',82.06
8194,'10/07/2020',40.39
8195,'12/05/2020',87.21
8196,'01/22/2021',95.93
8197,'02/03/2021',45.89
8198,'03/17/2021',36.23
8199,'04/23/2021',25.66
8200,'05/04/2021',82.77
8201,'06/30/2021',69.98
8202,'07/26/2021',76.11
8203,'12/27/2021',25.12
8204,'02/02/2022',46.23
8205,'02/26/2022',84.21
8206,'03/07/2022',96.24
8207,'03/11/2022',67.67
];
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanı boyut olarak ekleyin: date.
Her işlemden bir yıl öncesinin tarihini hesaplamak için aşağıdaki hesaplamayı oluşturun:
=addyears(date,-1)
date | =addyears(date,-1) |
---|---|
01/10/2020 | 01/10/2019 |
02/28/2020 | 02/28/2019 |
04/09/2020 | 04/09/2019 |
04/16/2020 | 04/16/2019 |
05/21/2020 | 05/21/2019 |
08/14/2020 | 08/14/2019 |
10/07/2020 | 10/07/2019 |
12/05/2020 | 12/05/2019 |
01/22/2021 | 01/22/2020 |
02/03/2021 | 02/03/2020 |
03/17/2021 | 03/17/2020 |
04/23/2021 | 04/23/2020 |
05/04/2021 | 05/04/2020 |
06/30/2021 | 06/30/2020 |
07/26/2021 | 07/26/2020 |
12/27/2021 | 12/27/2020 |
02/02/2022 | 02/02/2021 |
02/26/2022 | 02/26/2021 |
03/07/2022 | 03/07/2021 |
03/11/2022 | 03/11/2021 |
Grafik nesnesinde addyears() fonksiyonu kullanılarak one_year_prior hesaplaması oluşturulur. Sağlanan ilk bağımsız değişken hangi tarihin değerlendirilmekte olduğunu belirler. İkinci bağımsız değişken startdate tarihiyle toplanacak veya bu tarihten çıkarılacak olan yıl sayısıdır. Bu örnekte -1 değeri sağlanmıştır.
8193 numaralı İşlem 14 Ağustos'ta gerçekleşmiştir. Bu nedenle addyears() fonksiyonu one_year_prior alanı için 14 Ağustos 2019 tarihini döndürür.
Örnek 3 – 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:
-
Warranties adlı tabloya yüklenen bir veri kümesi.
-
Ürün kimliği, satın alma tarihi, garanti uzunluğu ve satın alma fiyatı bilgileri.
Son kullanıcı, ürün kimliğine göre her ürünün garanti sonlandırma tarihini görüntüleyen bir grafik nesnesi istemektedir.
Komut dosyası
Warranties:
Load
*
Inline
[
product_id,purchase_date,warranty_length,purchase_price
8188,'01/13/2020',4,32000
8189,'02/26/2020',2,28000
8190,'03/27/2020',3,41000
8191,'04/16/2020',4,17000
8192,'05/21/2020',2,25000
8193,'08/14/2020',1,59000
8194,'10/07/2020',2,12000
8195,'12/05/2020',3,12000
8196,'01/22/2021',4,24000
8197,'02/03/2021',1,50000
8198,'03/17/2021',2,80000
8199,'04/23/2021',3,10000
8200,'05/04/2021',4,30000
8201,'06/30/2021',3,30000
8202,'07/26/2021',4,20000
8203,'12/27/2021',4,10000
8204,'06/06/2022',2,25000
8205,'07/18/2022',1,32000
8206,'11/14/2022',1,30000
8207,'12/12/2022',4,22000
];
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
-
product_id
-
purchase_date
-
warranty_length
Her ürünün garanti bitiş tarihini hesaplamak için aşağıdaki hesaplamayı oluşturun:
=addyears(purchase_date,warranty_length)
product_id | purchase_date | warranty_length | =addyears(purchase_date,warranty_length) |
---|---|---|---|
8188 | 01/13/2020 | 4 | 01/13/2024 |
8189 | 02/26/2020 | 2 | 02/26/2022 |
8190 | 03/27/2020 | 3 | 03/27/2023 |
8191 | 04/16/2020 | 4 | 04/16/2024 |
8192 | 05/21/2020 | 2 | 05/21/2022 |
8193 | 08/14/2020 | 1 | 08/14/2021 |
8194 | 10/07/2020 | 2 | 10/07/2022 |
8195 | 12/05/2020 | 3 | 12/05/2023 |
8196 | 01/22/2021 | 4 | 01/22/2025 |
8197 | 02/03/2021 | 1 | 02/03/2022 |
8198 | 03/17/2021 | 2 | 03/17/2023 |
8199 | 04/23/2021 | 3 | 04/23/2024 |
8200 | 05/04/2021 | 4 | 05/04/2025 |
8201 | 06/30/2021 | 3 | 06/30/2024 |
8202 | 07/26/2021 | 4 | 07/26/2025 |
8203 | 12/27/2021 | 4 | 12/27/2025 |
8204 | 06/06/2022 | 2 | 06/06/2024 |
8205 | 07/18/2022 | 1 | 07/18/2023 |
8206 | 11/14/2022 | 1 | 11/14/2023 |
8207 | 12/12/2022 | 4 | 12/12/2026 |