Ana içeriğe geç

inmonthstodate - kod ve grafik fonksiyonu

Bu fonksiyon bir zaman damgasının aylık, iyi aylık, üç aylık, dört aylık veya yarı yıllık bir dönemin base_date tarihinin son milisaniyesi de dahil olan kısmı içinde mi kaldığını bulur. Zaman damgasının önceki veya sonraki bir zaman dönemine denk gelip gelmediğini bulmak da mümkündür.

Söz Dizimi:  

InMonths (n_months, timestamp, base_date, period_no[, first_month_of_year ])

Dönüş veri türü: Boole

Bağımsız Değişkenler:  

InMonthsToDate bağımsız değişkenleri
Bağımsız Değişken Açıklama
n_months

Dönemi tanımlayan ayların sayısı. Şunlardan biri olması gereken bir tamsayıya çözümlenen bir tamsayı ya da ifade: 1 (inmonth() fonksiyonunun eşdeğeri), 2 (iki aylık), 3 (inquarter() fonksiyonunun eşdeğeri), 4 (dört aylık dönem) veya 6 (yarı yıl).

timestamp base_date ile karşılaştırmak istediğiniz tarih.
base_date Dönemi değerlendirmek için kullanılan tarih.
period_no

Dönem period_no ile kaydırılabilir. Bu değer bir tamsayı ya da tamsayıya çözümlenen bir ifadedir ve burada 0 değeri base_date içeren dönemi belirtir. period_no içindeki negatif değerler önceki dönemleri; pozitif değerler ise sonraki dönemleri gösterir.

first_month_of_year

Ocak'ta başlamayan (mali) yıllarla çalışmak istiyorsanız, first_month_of_year içinde 2 ile 12 arasında bir değer belirtin.

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

inmonthstodate(4, '25/01/2013', '25/04/2013', 0)

True döndürür. Çünkü timestamp değeri (25/01/2013) 01/01/2013 tarihinden itibaren 25/04/2013 sonuna kadarki dört aylık dönem içinde yer almaktadır ve base_date değeri 25/04/2013 de bu dönem içindedir.

Örnek 2:  

inmonthstodate(4, '26/04/2013', '25/04/2006', 0)

False döndürür. Çünkü 26/04/2013 yukarıdaki örnekte verilen aynı dönemin dışındadır.

Örnek 3:  

inmonthstodate(4, '25/09/2005', '01/02/2006', -1)

True döndürür. Çünkü period_no için -1 değeri, arama dönemini dört aylık bir dönem kadar (n-months değeri) geriye kaydırır ve bu da arama dönemini 01/09/2005 ile 01/02/2006. tarihleri arasına getirir.

Örnek 4:  

inmonthstodate(4, '25/04/2006', '01/06/2006', 0, 3)

True döndürür. Çünkü first_month_of_year değeri 3 olarak ayarlanmıştır ve bu da arama dönemini 01/03/2006 ile 01/06/2006 tarihleri arasına getirir (01/05/2006 ila 01/06/2006 aralığı yerine).

Örnek 5:  

Ö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 fatura tarihinin, ikişer aylık dört dönem kadar kaydırılan (period_no değerinin 4 olarak belirtilmesiyle) base_date değerine kadarki (bu tarih dahil) iki aylık dönem bölümüne denk gelip gelmediğini kontrol eder.

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 *,

InMonthsToDate(2, InvDate, '15/02/2013', 4) AS InMths2DPlus4

Resident TempTable;

Drop table TempTable;

Sonuçta ortaya çıkan tabloda orijinal tarihler ve InMonths() fonksiyonunun döndürdüğü değeri içeren bir sütun yer alır.

Arama dönemi 01/09/2013 ile 15/10/2013 tarihleri arasındadır; çünkü base_date değeri fonksiyondaki değerden (15/02/2013) sekiz ay ileri kaydırılmaktadır.

Örnek 5 sonuçları
InvDate InMths2DPlus4
28/03/2012 0 (False)
10/12/2012 0 (False)
5/2/2013 0 (False)
31/3/2013 0 (False)
19/5/2013 0 (False)
15/9/2013 -1 (True)
11/12/2013 0 (False)
2/3/2014 0 (False)
14/5/2014 0 (False)
13/6/2014 0 (False)
7/7/2014 0 (False)
4/8/2014 0 (False)

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, bize bildirin, düzeltelim!

Analiz Modernleştirme Programına katılın

Remove banner from view

Analiz Modernleştirme Programı ile değerli QlikView uygulamalarınızı ödün vermeden modernleştirin. Bize ulaşmak ve daha fazla bilgi almak için buraya tıklayın: ampquestions@qlik.com