Focal Point
Adding numbers to Dates

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/8401026842

September 25, 2007, 04:24 PM
<Umar Farook S>
Adding numbers to Dates
Hi
I need to add numbers to a date field which is againa a calculation.
I am using this in DEFINE part of the code

Maturity Date = Effective date + (Avg * 360)

Where Avg is a number from database.
September 25, 2007, 04:35 PM
Leah
quote:
Maturity Date = Effective date + (Avg * 360)

Assuming effective date is a smart date you need to add your date formats. That should give you the date in the future you are looking for, don't forget the semi-colon.


Leah
September 25, 2007, 04:35 PM
GinnyJakes
Umar,

You didn't mention what the format of your date fields are. In order to do the following, the dates need to be smartdates (YYMD, etc.). You can then add any number to a date and WebFOCUS will calculate the new date.

Here is an example.

DEFINE FILE CAR
CARDATE/YYMD=&YYMD;
CARCOUNT/I2=IF COUNTRY NE LAST COUNTRY THEN CARCOUNT +1 ELSE 1;
FUTURE_DATE/YYMD=CARDATE + (CARCOUNT * 30);
END
TABLE FILE CAR
PRINT CARDATE CARCOUNT FUTURE_DATE
BY COUNTRY
END

The example is simplistic but gets the point across.

If your date is not a smartdate, then you will have to convert it or use one of the fancier subroutines. You will want to do your average calculation separately. Let me know if that is the case and what the format is if the example I provided doesn't work for you.


Ginny
---------------------------------
Prod: WF 7.7.01 Dev: WF 7.6.9-11
Admin, MRE,self-service; adapters: Teradata, DB2, Oracle, SQL Server, Essbase, ESRI, FlexEnable, Google
September 25, 2007, 04:38 PM
FrankDutch
Umar

use the function DATEADD....




Frank

prod: WF 7.6.10 platform Windows,
databases: msSQL2000, msSQL2005, RMS, Oracle, Sybase,IE7
test: WF 7.6.10 on the same platform and databases,IE7

September 26, 2007, 04:25 AM
hammo1j
do the avg * 360 calculation first and assign it to an integer varible used in the define internaldate = internaldate + integer



Server: WF 7.6.2 ( BID/Rcaster) Platform: W2003Server/IIS6/Tomcat/SQL Server repository Adapters: SQL Server 2000/Oracle 9.2
Desktop: Dev Studio 765/XP/Office 2003 Applications: IFS/Jobscope/Maximo
October 04, 2007, 09:54 AM
Kerry
Hi Umar,

Can you please let us know: what is the format and value for Avg?

Thanks for everyone's input as well. Smiler

Cheers,
Kerry


Kerry Zhan
Focal Point Moderator
Information Builders, Inc.
October 04, 2007, 11:47 AM
<Umar Farook S>
Value will be number only for Avg
October 04, 2007, 12:20 PM
Kerry
Hi Umar,

Can you please try the following code:

DEFINE FILE EMPDATA
AVG/P6.2=.05;
MaturityDate/YMD = HIREDATE + (AVG * 360)
END
TABLE FILE EMPDATA
PRINT
HIREDATE MaturityDate
END


Hope this helps. Smiler

Cheers,

Kerry


Kerry Zhan
Focal Point Moderator
Information Builders, Inc.
October 04, 2007, 01:06 PM
<Umar Farook S>
Hi
It worked well.