Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi Community,
I have tried many examples to understand Addmonths() function. when i tried Examples which were mentioned in the reference manua , i got exact output.
But when i tried other examples with different modes , output is same.
Can any one explain What is the issue????
let x=addmonths('2012-1-20',1,0); -----> 20-2-2012
let y=addmonths('2012-1-20',1,1); ---->20-2-2012
Please explain , why two outputs are same Even modes are different????
Satti,
It is your understanding of the situation that is flawed, not the computer program
y=addmonths('2013-1-27',1,1); - gives 2/27.
y=addmonths('2013-1-28',1,1); - gives 2/25.
y=addmonths('2013-1-29',1,1); - gives 2/26.
y=addmonths('2013-1-30',1,1); - gives 2/27
y=addmonths('2013-1-31',1,1); - gives 2/28
In short, 'mode 1' functions only at the end of the month. Otherwise it functions as normal.
Thanks for Reply
Because you dont need the last node..
Addmonths(2012-1-20,1) gives you 2012-02-20 // NextMonth
Addmonths(2012-1-20,0) will give you the same // SameMonth
Addmonths(2012-1.20,-1) vil give you 2012-12,20 // PreviousMonth
Ofcause with '' around date
If your smart you will make a ThisDate variable
LET ThisDate = date(Today(), 'YYYY-MM-DD')
LET PreviousMonth = Addmonths(ThisDate,-1)
For an example
Try this
=date(addmonths(Date,-1),'DD\MM\YYYY')
That will give you last month (-1)
Mode is only used when the day for the date passed should be relative to the the day it ends up in
If you do AddMonths('2013-02-28', 1, 0) the function will return '2013-03-28' using the datepart from called month.
But if you use AddMonths('2013-02-28', 1, 1) it uses the relative date (28 being the last day of february) to set the last date of march wich is '2013-03-31'
This calculation is only performed when the day-part of the called date is >= the day-part of the resulting date OR vice versa. Usually day 28-31.
Cheers
let
y=addmonths('2013-1-20',1,1);Expected ouput: 2013-2-17
but i got output : 2013-2-20 ... is it correct ????
Yes, that is the correct output. Please check the help.
let
y=addmonths('2013-1-20',1,1);Expected ouput: 2013-2-17
but i got output : 2013-2-20 ... is it correct ????
yes
Hi Daniel ,
but i got output : 2013-2-20 ... is it correct ????
As per qlikview help it is wrong.
I have used mode 1.
Please execute it once then you will understand ..