This example shows how to use the CRSP date functions and formats. The CRSPDTD formats are used for all the crspdt
variables, and the YYMMDD format is used for the sasdt
variables.
title2 'OUT= Data Set'; title3 'CRSP Functions for sasecrsp'; libname _all_ clear; /* Always assign the LIBNAME sasecrsp first */ libname mstk sasecrsp "%sysget(CRSP_MSTK)" setid=20; data a (keep = crspdt crspdt2 crspdt3 sasdt sasdt2 sasdt3 intdt intdt2 intdt3); format crspdt crspdt2 crspdt3 crspdtd8.; format sasdt sasdt2 sasdt3 yymmdd6.; format intdt intdt2 intdt3 8.; format exact 2.; crspdt = 1; sasdt = '2jul1962'd; intdt = 19620702; exact = 0; /* Call the CRSP date to Integer function*/ intdt2 = crspdcid(crspdt); /* Call the SAS date to Integer function*/ intdt3 = crspds2i(sasdt); /* Call the Integer to CRSP date function*/ crspdt2 = crspdicd(intdt,exact); /* Call the SAS date to CRSP date conversion function*/ crspdt3 = crspdscd(sasdt,exact); /* Call the CRSP date to SAS date conversion function*/ sasdt2 = crspdcsd(crspdt); /* Call the Integer to SAS date conversion function*/ sasdt3 = crspdi2s(intdt); run; title3 'PROC PRINT showing data for sasecrsp'; proc print data=a; run; title3 'PROC CONTENTS showing formats for sasecrsp'; proc contents data=a; run;
Output 38.6.1 shows the OUT= data set that is created by the DATA step.
Output 38.6.2 shows the contents of the OUT= data set by alphabetically listing the variables and their attributes.