Bu fonksiyon, time içindeki günün son milisaniyesinin zaman damgasına karşılık gelen bir değer döndürür. Varsayılan çıktı biçimi kodda ayarlanan TimestampFormat olur.
Söz Dizimi:
DayEnd(time[, [period_no[, day_start]])
dayend ne zaman kullanılmalı?
dayend() fonksiyonu sıklıkla; kullanıcı hesaplamanın günün henüz olmamış kısmını kullanmasını istediğinde bir ifadenin parçası olarak kullanılır. Örneğin, gün içinde oluşacak toplam giderleri hesaplamak için.
Dönüş verileri türü: dual
Bağımsız Değişkenler
Bağımsız Değişken
Açıklama
time
Değerlendirilecek zaman damgası.
period_no
period_no tamsayıya çözümlenen bir ifade olup, burada 0 değeri time içeren günü belirtir. period_no içindeki negatif değerler önceki günleri; pozitif değerler ise sonraki günleri gösterir.
day_start
Günlerin geceyarısında başlamadığını belirtmek için, day_start içinde günün kesiri olarak bir uzaklık belirtin. Örneğin, saat 3:00'ü göstermek için 0,125.
Başka bir deyişle farkı oluşturmak için başlangıç saatini 24 saate bölün. Örneğin, günün saat 7:00'de başlaması için 7/24 kesirini kullanın.
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. Daha fazla bilgi için bkz. Uygulamalar ve komut dosyaları için bölgesel ayarları değiştirme.
Uygulamalardaki varsayılan bölgesel ayarlarda kullanıcı profili temel alınır. Bu bölgesel format ayarları, Qlik Cloud kullanıcı arayüzünde görüntülenen dil ayarlarıyla ilgili değildir. Qlik Cloud, kullandığınız tarayıcıyla aynı dilde görüntülenir.
Veri yükleme düzenleyicisi öğesini açın ve aşağıdaki komut dosyasını yeni bir sekmeye ekleyin.
Komut dosyası şunları içerir:
Bir tarih listesi içeren bir veri seti "Takvim" adlı tablonun içine yüklenir.
Varsayılan DateFormat sistem değişkeni (MM/DD/YYYY).
dayend() fonksiyonu kullanılarak "EOD_timestamp" ek alanını oluşturmak için yapılan önceki bir yükleme.
Yükleme kodu
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';
Calendar:
Load
date,
dayend(date) as EOD_timestamp
;
Load
date
Inline
[
date
03/11/2022 1:47:15 AM
03/12/2022 4:34:58 AM
03/13/2022 5:15:55 AM
03/14/2022 9:25:14 AM
03/15/2022 10:06:54 AM
03/16/2022 10:44:42 AM
03/17/2022 11:33:30 AM
03/18/2022 12:58:14 PM
03/19/2022 4:23:12 PM
03/20/2022 6:42:15 PM
03/21/2022 7:41:16 PM
];
Sonuçlar
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
date
EOD_timestamp
Sonuçlar tablosu
tarih
EOD_timestamp
03/11/2022 1:47:15 AM
3/11/2022 11:59:59 PM
03/12/2022 4:34:58 AM
3/12/2022 11:59:59 PM
03/13/2022 5:15:55 AM
3/13/2022 11:59:59 PM
03/14/2022 9:25:14 AM
3/14/2022 11:59:59 PM
03/15/2022 10:06:54 AM
3/15/2022 11:59:59 PM
03/16/2022 10:44:42 AM
3/16/2022 11:59:59 PM
03/17/2022 11:33:30 AM
3/17/2022 11:59:59 PM
03/18/2022 12:58:14 PM
3/18/2022 11:59:59 PM
03/19/2022 4:23:12 PM
3/19/2022 11:59:59 PM
03/20/2022 6:42:15 PM
3/20/2022 11:59:59 PM
03/21/2022 7:41:16 PM
3/21/2022 11:59:59 PM
Yukarıdaki tabloda görebileceğiniz gibi, veri setimizdeki her tarih için gün sonu zaman damgası oluşturulur. Zaman damgası, TimestampFormat M/D/YYYY h:mm:ss[.fff] TT sistem değişkeninin formatındadır.
Örnek 2 – period_no
Genel Bakış
Veri yükleme düzenleyicisi öğesini açın ve aşağıdaki komut dosyasını yeni bir sekmeye ekleyin.
Servis randevularını içeren bir veri kümesini "Services" adlı bir tabloya yükleyeceksiniz.
Veri kümesi şu alanları içerir:
service_id
service_date
amount
Tabloda iki yeni alan oluşturacaksınız:
deposit_due_date: Depozitonun alınması gereken tarih. Bu, service_date tarihinden üç gün önceki günün sonudur.
final_payment_due_date: Son ödemenin alınması gereken tarih. Bu, service_date tarihinden yedi gün sonraki günün sonudur.
Yukarıdaki iki alan önceki bir yüklemede dayend() fonksiyonu kullanılarak oluşturulur ve bunlar time ve period_no olan ilk iki parametreyi sağlar.
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
service_date
deposit_due_date
final_payment_due_date
Sonuçlar tablosu
service_date
deposit_due_date
final_payment_due_date
03/11/2022 9:25:14 AM
3/8/2022 11:59:59 PM
3/18/2022 11:59:59 PM
03/12/2022 10:06:54 AM
3/9/2022 11:59:59 PM
3/19/2022 11:59:59 PM
03/13/2022 10:44:42 AM
3/10/2022 11:59:59 PM
3/20/2022 11:59:59 PM
03/14/2022 11:33:30 AM
3/11/2022 11:59:59 PM
3/21/2022 11:59:59 PM
03/15/2022 12:58:14 PM
3/12/2022 11:59:59 PM
3/22/2022 11:59:59 PM
03/16/2022 4:23:12 PM
3/13/2022 11:59:59 PM
3/23/2022 11:59:59 PM
03/17/2022 6:42:15 PM
3/14/2022 11:59:59 PM
3/24/2022 11:59:59 PM
03/18/2022 7:41:16 PM
3/15/2022 11:59:59 PM
3/25/2022 11:59:59 PM
03/19/2022 8:14:15 PM
3/16/2022 11:59:59 PM
3/26/2022 11:59:59 PM
03/20/2022 9:23:51 PM
3/17/2022 11:59:59 PM
3/27/2022 11:59:59 PM
03/21/2022 10:04:41 PM
3/18/2022 11:59:59 PM
3/28/2022 11:59:59 PM
Yeni alanların değerleri TimestampFormat M/D/YYYY h:mm:ss[.fff] TT formatındadır. dayend() fonksiyonu kullanıldığından, zaman damgası değerlerinin tümü günün son milisaniyesidir.
Depozito son tarih değerleri, dayend() fonksiyonuna geçilen ikinci bağımsız değişkenin negatif olması nedeniyle ödeme tarihinden üç gün öncedir.
Son ödeme son tarihi değerleri, dayend() fonksiyonuna geçilen ikinci bağımsız değişkenin pozitif olması nedeniyle ödeme tarihinden yedi gün sonradır.
Örnek 3 – day_start script
Genel bakış
Veri yükleme düzenleyicisi öğesini açın ve aşağıdaki komut dosyasını yeni bir sekmeye ekleyin.
Bu örnekte kullanılan veri kümesi ve senaryo önceki örnekle aynıdır.
Önceki örnekte olduğu gibi iki yeni alan oluşturacaksınız:
deposit_due_date: Depozitonun alınması gereken tarih. Bu, service_date tarihinden üç gün önceki günün sonudur.
final_payment_due_date: Son ödemenin alınması gereken tarih. Bu, service_date tarihinden yedi gün sonraki günün sonudur.
Ancak, şirketiniz çalışma gününün 17:00 'de başlayıp ertesi gün 17:00'de bittiği bir politika çerçevesinde faaliyet göstermek istiyor. Şirketiniz daha sonra bu çalışma saatlerinde gerçekleşen işlemleri izleyebilir.
Bu gereksinimleri karşılamak için, yukarıdaki iki alan önceki bir yüklemede dayend() fonksiyonu kullanılarak oluşturulur ve time, period_no ve day_start bağımsız değişkenlerinin üçünü de kullanır.
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanları boyut olarak ekleyin:
service_date
deposit_due_date
final_payment_due_date
Sonuçlar tablosu
service_date
deposit_due_date
final_payment_due_date
03/11/2022 9:25:14 AM
3/8/2022 4:59:59 PM
3/18/2022 4:59:59 PM
03/12/2022 10:06:54 AM
3/9/2022 4:59:59 PM
3/19/2022 4:59:59 PM
03/13/2022 10:44:42 AM
3/10/2022 4:59:59 PM
3/20/2022 4:59:59 PM
03/14/2022 11:33:30 AM
3/11/2022 4:59:59 PM
3/21/2022 4:59:59 PM
03/15/2022 12:58:14 PM
3/12/2022 4:59:59 PM
3/22/2022 4:59:59 PM
03/16/2022 4:23:12 PM
3/13/2022 4:59:59 PM
3/23/2022 4:59:59 PM
03/17/2022 6:42:15 PM
3/14/2022 4:59:59 PM
3/24/2022 4:59:59 PM
03/18/2022 7:41:16 PM
3/15/2022 4:59:59 PM
3/25/2022 4:59:59 PM
03/19/2022 8:14:15 PM
3/16/2022 4:59:59 PM
3/26/2022 4:59:59 PM
03/20/2022 9:23:51 PM
3/17/2022 4:59:59 PM
3/27/2022 4:59:59 PM
03/21/2022 10:04:41 PM
3/18/2022 4:59:59 PM
3/28/2022 4:59:59 PM
Tarihler Örnek 2'de olduğu gibi kalır, ancak dayend() fonksiyonuna geçilen day_start adlı üçüncü bağımsız değişkenin değeri 17/24 olduğu için tarihlerin artık 17:00 'den önceki son milisaniye olan bir zaman damgası vardır.
Örnek 4 – Grafik örneği
Genel Bakış
Veri yükleme düzenleyicisi öğesini açın ve aşağıdaki komut dosyasını yeni bir sekmeye ekleyin.
Bu örnekte kullanılan veri kümesi ve senaryo önceki iki örnekle aynıdır. Şirket çalışma gününün 17:00'de başladığı ve ertesi gün 17:00'de bittiği bir politika çerçevesinde faaliyet göstermek istemektedir.
Önceki örnekte olduğu gibi iki yeni alan oluşturacaksınız:
deposit_due_date: Depozitonun alınması gereken tarih. Bu, service_date tarihinden üç gün önceki günün sonudur.
final_payment_due_date: Son ödemenin alınması gereken tarih. Bu, service_date tarihinden yedi gün sonraki günün sonudur.
Verileri yükleyin ve bir sayfa açın. Yeni bir tablo oluşturun ve şu alanı boyut olarak ekleyin:
service_date.
deposit_due_date alanını oluşturmak için şu hesaplamayı oluşturun:
=dayend(service_date,-3,17/24).
Sonra final_payment_due_date alanını oluşturmak için şu hesaplamayı oluşturun:
=dayend(service_date,7,17/24).
Sonuçlar tablosu
service_date
=dayend(service_date,-3,17/24)
=dayend(service_date,7,17/24
03/11/2022
3/8/2022 16:59:59 PM
3/18/2022 16:59:59 PM
03/12/2022
3/9/2022 16:59:59 PM
3/19/2022 16:59:59 PM
03/13/2022
3/10/2022 16:59:59 PM
3/20/2022 16:59:59 PM
03/14/2022
3/11/2022 16:59:59 PM
3/21/2022 16:59:59 PM
03/15/2022
3/12/2022 16:59:59 PM
3/22/2022 16:59:59 PM
03/16/2022
3/13/2022 16:59:59 PM
3/23/2022 16:59:59 PM
03/17/2022
3/14/2022 16:59:59 PM
3/24/2022 16:59:59 PM
03/18/2022
3/15/2022 16:59:59 PM
3/25/2022 16:59:59 PM
03/19/2022
3/16/2022 16:59:59 PM
3/26/2022 16:59:59 PM
03/20/2022
3/17/2022 16:59:59 PM
3/27/2022 16:59:59 PM
03/21/2022
3/18/2022 16:59:59 PM
3/28/2022 16:59:59 PM
Yeni alanların değerleri TimestampFormat M/D/YYYY h:mm:ss[.fff] TT formatındadır. dayend() fonksiyonu kullanıldığından, zaman damgası değerlerinin tümü günün son milisaniyesidir.
Ödeme son tarihi değerleri, dayend() fonksiyonuna geçilen ikinci bağımsız değişken negatif olduğu için ödeme tarihinden üç gün öncedir.
Son ödeme son tarihi değerleri, dayend() fonksiyonuna geçilen ikinci bağımsız değişkenin pozitif olması nedeniyle ödeme tarihinden yedi gün sonradır.
dayend() fonksiyonuna geçilen day_start adlı üçüncü bağımsız değişkenin değeri 17/24 olduğundan tarihlerin zaman damgasında 17:00'dan önceki son milisaniye vardır.
period_no tamsayıya çözümlenen bir ifade olup, burada 0 değeri time içeren günü belirtir. period_no içindeki negatif değerler önceki günleri; pozitif değerler ise sonraki günleri gösterir.
day_start
Günlerin geceyarısında başlamadığını belirtmek için, day_start içinde günün kesiri olarak bir uzaklık belirtin. Örneğin, saat 3:00'ü göstermek için 0,125.
Bu sayfa size yardımcı oldu mu?
Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız lütfen bize bildirin!