weekstart - kod ve grafik fonksiyonu
Bu fonksiyon, date içeren takvim haftasının ilk gününün (Pazartesi) ilk milisaniyesinin zaman damgasına karşılık gelen bir değer döndürür. Varsayılan çıktı biçimi kodda ayarlanan DateFormat olur.
Söz Dizimi:
WeekStart(date [, period_no = 0 [, first_week_day=0]])
Dönüş veri türü: dual
Bağımsız Değişkenler:
Bağımsız Değişken | Açıklama |
---|---|
date | Değerlendirilecek tarih. |
period_no | shift bir tamsayı olup, burada 0 değeri date içeren haftayı belirtir. Shift içindeki negatif değerler önceki haftaları; pozitif değerler ise sonraki haftaları gösterir. |
first_week_day |
first_week_day öğesini belirtmezseniz, FirstWeekDay değişkeninin değeri haftanın ilk günü olarak kullanılır. Haftanın ilk günü olarak başka bir günü kullanmak istiyorsanız first_week_day ayarını şöyle yapın:
Fonksiyonun döndürdüğü tamsayı artık, first_week_day ile ayarladığınız haftanın ilk gününü taban (0) olarak kullanır. |
Örnekler ve sonuçlar:
Bu örneklerde GG/AA/YYYY tarih biçimi kullanılmaktadır. Tarih biçimi, kod dosyanızın en başında SET DateFormat deyimi içinde belirtilir. Örneklerdeki biçimi gereksinimlerinize uyacak şekilde değiştirin.
Örnek 1:
weekstart('12/01/2013')
07/01/2013 döndürür.
Örnek 2:
weekstart('12/01/2013', -1 )
31/11/2012 döndürür.
Örnek 3:
weekstart('12/01/2013', 0, 1)
08/01/2013 döndürür.
Örnek 4:
Örnek kodu belgenize ekleyin ve çalıştırın. Ardından, sonucu görmek için belgenizdeki bir sayfaya en azından sonuçlar sütununda listelenen alanları ekleyin.
Bu örnek, tablodaki her bir fatura tarihinin haftasından sonraki haftanın ilk gününü bulur.
TempTable:
LOAD RecNo() as InvID, * Inline [
InvDate
28/03/2012
10/12/2012
5/2/2013
31/3/2013
19/5/2013
15/9/2013
11/12/2013
2/3/2014
14/5/2014
13/6/2014
7/7/2014
4/8/2014
];
InvoiceData:
LOAD *,
WeekStart(InvDate, 1) AS WkStart
Resident TempTable;
Drop table TempTable;
Sonuçta ortaya çıkan tabloda orijinal tarihler ve weekstart() fonksiyonunun döndürdüğü değeri içeren bir sütun yer alır. Grafik özelliklerinde biçimlendirmeyi belirterek tam zaman damgasını görüntüleyebilirsiniz.
InvDate | WkStart |
---|---|
28/03/2012 | 02/04/2012 |
10/12/2012 | 17/12/2012 |
5/2/2013 | 11/02/2013 |
31/3/2013 | 01/04/2013 |
19/5/2013 | 20/05/2013 |
15/9/2013 | 16/09/2013 |
11/12/2013 | 16/12/2013 |
2/3/2014 | 03/03/2014 |
14/5/2014 | 19/05/2014 |
13/6/2014 | 16/06/2014 |
7/7/2014 | 14/07/2014 |
4/8/2014 | 11/08/2014 |