DATASOURCE Procedure

Example 12.5 DRI Data Delivery Service Database

(View the complete code for this example.)

This example demonstrates the DRIDDS filetype for the daily Federal Reserve Series fxrates_dds. Use VALIDVARNAME=ANY in your SAS options statement to allow special characters such as @, $, and % to be in the series name. Note the use of long variable names in the OUT= data set in Output 12.5.2 and long labels in the OUTCONT= data set in Output 12.5.1.

The following statements extract daily series starting in January 1, 1997:

options validvarname=any;
filename datafile "%sysget(DATASRC_DATA)drifxrat.dat" RECFM=F LRECL=80;
proc format;
   value distekfm 0 = 'Unspecified'
                  2 = 'Linear'
                  4 = 'Triag'
                  6 = 'Polynomial'
                  8 = 'Even'
                 10 = 'Step'
                 12 = 'Stocklast'
                 14 = 'LinearUnadjusted'
                 16 = 'PolyUnadjusted'
                 18 = 'StockWithNAS'
                 99 = 'None'
                255 = 'None';

   value convtkfm 0 = 'Unspecified'
                  1 = 'Average'
                  3 = 'AverageX'
                  5 = 'Sum'
                  7 = 'SumAnn'
                  9 = 'StockEnd'
                 11 = 'StockBegin'
                 13 = 'AvgNP'
                 15 = 'MaxNP'
                 17 = 'MinNP'
                 19 = 'StockEndNP'
                 21 = 'StockBeginNP'
                 23 = 'Max'
                 25 = 'Min'
                 27 = 'AvgXNP'
                 29 = 'SumNP'
                 31 = 'SumAnnNP'
                 99 = 'None'
                255 = 'None';

 /*--------------------------------------------------------*
  *                 process daily series                   *
  *--------------------------------------------------------*/
title3 'Reading DAILY Federal Reserve Series with fxrates_.dds';
proc datasource filetype=dridds
                infile=datafile
                interval=day
                out=fixr
                outcont=fixrcnt
                outall=fixrall;
   keep rx: ;
   range from '01jan97'd to '31dec99'd;
   format disttek distekfm.;
   format convtek convtkfm.;
run;

title1 'CONTENTS of FXRATES_.DDS File, KEEP RX:';
proc print
   data=fixrcnt;
run;

title1 'Daily Series Available in FXRATES_.DDS File, KEEP RX:';
proc print
   data=fixr;
run;

Output 12.5.1: Listing of the OUTCONT=FIXRCNT Data Set for FILETYPE=DRIDDS

CONTENTS of FXRATES_.DDS File, KEEP RX:

ObsNAMEKEPTSELECTEDTYPELENGTHVARNUMLABELFORMATFORMATLFORMATDSOURCEIDDISTTEKCONVTEKSTATUSUPDATEUPTIME
1RXA$%US$@AU11152EXCHANGE RATE IN AUSTRALIAN DOLLAR PER US DOLLAR - AUSTRALIA 00@FACS/DATA.DUnspecifiedUnspecified031JAN97132605
2RXBF%US$@BE11153EXCHANGE RATE IN BELGIAN FRANCS PER US DOLLAR - BELGIUM 00@FACS/DATA.DUnspecifiedUnspecified031JAN97132544
3RXDK%US$@DK11154EXCHANGE RATE IN DANISH KRONE PER 100 US DOLLAR - DENMARK 00@FACS/DATA.DUnspecifiedUnspecified031JAN97132544


Output 12.5.2: Printout of the OUT=FIXR Data Set for FILETYPE=DRIDDS

Daily Series Available in FXRATES_.DDS File, KEEP RX:

ObsDATERXA$%US$@AURXBF%US$@BERXDK%US$@DK
101JAN19971.2613331.92005.92877
202JAN19971.2613331.92005.92877
303JAN19971.2613331.92005.92877
404JAN19971.2770832.46206.01098
505JAN19971.2770832.46206.01098
606JAN19971.2770832.46206.01098
707JAN19971.2770832.46206.01098
808JAN19971.2770832.46206.01098
909JAN19971.2770832.46206.01098
1010JAN19971.2770832.46206.01098
1111JAN19971.2844332.93606.09112
1212JAN19971.2844332.93606.09112
1313JAN19971.2844332.93606.09112
1414JAN19971.2844332.93606.09112
1515JAN19971.2844332.93606.09112
1616JAN19971.2844332.93606.09112
1717JAN19971.2844332.93606.09112
1818JAN19971.2919533.75006.24658
1919JAN19971.2919533.75006.24658
2020JAN19971.2919533.75006.24658
2121JAN19971.2919533.75006.24658
2222JAN19971.2919533.75006.24658
2323JAN19971.2919533.75006.24658
2424JAN19971.2919533.75006.24658
2525JAN19971.3013333.89746.27520
2626JAN19971.3013333.89746.27520
2727JAN19971.3013333.89746.27520
2828JAN19971.3013333.89746.27520
2929JAN19971.3013333.89746.27520
3030JAN19971.3013333.89746.27520
3131JAN19971.3013333.89746.27520


Last updated: June 19, 2025