Focal Point
[SOLVED] SAS Date Conversion

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

January 27, 2015, 12:17 PM
CRICKETMIND
[SOLVED] SAS Date Conversion
I am reading a dataset that is created and being update by a SAS program. Unfortunately the Date is stored as SAS Date format and it's not possible to change the source format as lot of other SAS programs are reading this data. As a Webfocus fan I am trying to create some reports in WF. Is there a way to convert the SAS date in Webfocus?

Example of the data I am getting...

SASDATE
17,695.00
17,696.00
17,695.00
17,696.00

This message has been edited. Last edited by: CRICKETMIND,


WEBFOCUS 8105m
Windows, All Outputs
January 27, 2015, 02:20 PM
Tom Flynn
  
-SET &BASE_DATE = '19600101';
DEFINE FILE CAR
  BASE_DT/YYMD  WITH COUNTRY = '&BASE_DATE.EVAL';
  CUR_DATE/YYMD WITH COUNTRY = DATEADD(BASE_DT,'D',17695);
END
TABLE FILE CAR
SUM
    DEALER_COST
    RETAIL_COST
FST.CUR_DATE
  BY COUNTRY
  BY CAR
END
-EXIT 

Or, create a FUNCTION

SAS Support when GOOGLEd


Tom Flynn
WebFOCUS 8.1.05 - PROD/QA
DB2 - AS400 - Mainframe
January 27, 2015, 03:33 PM
Waz
So its just a number of days since value then.


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

January 28, 2015, 05:10 AM
Tony A
You could also use just a single function to calculate the SAS date, by using the fact that the SAS base date difference to the WF base date is 21550 days.

However, using either method, I would suggest that you trap the SQL created to ensure that the method that you use can be passed through the adapter - especially if you have large amounts of data!

COMPUTE SAS_DATE/YYMD = DATECVT(17695 + 21550, 'YYMD', 'YYMD');

Thanks to Tom for pointing the way of course!


T



In FOCUS
since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2  
WebFOCUS App Studio 8.2.06 standalone on Windows 10 
January 28, 2015, 10:26 AM
CRICKETMIND
Thanks for your solutions. I was checking if there were a WF function available to convert SAS date.

Both solutions work great.


WEBFOCUS 8105m
Windows, All Outputs