[SOLVED] Using an integer in DATEDIF function to get number of days
I am trying to get the number of days from a start date to the current date. The start date is coming from the DB in an integer (I10) format.
Here's my code so far:
DEFINE FILE FACT_TABLE NUMBER_OF_DAYS/I4 = DATEDIF(START_DATE, &YYMD, 'D'); END
TABLE FILE FACT_TABLE PRINT NUMBER_OF_DAYS END
I am not sure how to convert START_DATE to a format that the DATEDIF can understand. The results I'm getting are lager (40011 days) and that makes me think that the START_DATE isn't being converted to a value that the DATEDIF can understand. What am I doing wrong? Thanks for the help.
DanielThis message has been edited. Last edited by: Kerry,
In Focus since 2012 WebFOCUS 8.0.07 Windows, All Outputs
December 12, 2012, 03:03 PM
Francis Mariani
Here's a working example. DATEDIF requires fields in date format:
DEFINE FILE CAR
START_DATE/I10 = 20121203;
START_DATE_I/I8YYMD = START_DATE;
START_DATE_YYMD/YYMD = START_DATE_I;
TODAY_YYMD/YYMD = &YYMD;
NUMBER_OF_DAYS/I9 = DATEDIF(START_DATE_YYMD, TODAY_YYMD, 'D');
END
TABLE FILE CAR
PRINT
START_DATE
START_DATE_I
START_DATE_YYMD
NUMBER_OF_DAYS
BY COUNTRY
WHERE RECORDLIMIT EQ 1
END
Francis
Give me code, or give me retirement. In FOCUS since 1991
Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
December 12, 2012, 03:11 PM
Daniel G
That did the trick! Thanks!
Daniel
In Focus since 2012 WebFOCUS 8.0.07 Windows, All Outputs