C:\DataMarts\MyAdapterC:\DataMarts\MyAdapter\stg1357
attrib DATETIME length = 8
format = NLDATM.
label = 'Datetime';
attrib DURATION length = 8
format = TIME8.
label = 'Duration'; abort
cancel 8;).
options fmtsearch=(admin.formats sashelp.itms_formats);
options fmtsearch=(admin.formats mylib.formats sashelp.itms_formats);
/* ********************************************************** */
/* Name: UserWrittenStaging */
/* ---------------------------------------------------------- */
/* Description: */
/* Reads the rawdata from the rawdata.txt file that is in */
/* this format: */
/* ddMONyyyy:hh:mm machineName metric1 metric2 */
/* ddMONyyyy:hh:mm machineName metric1 metric2 */
/* <etc.> */
/* ********************************************************** */
libname staging 'c:\UserWritten\Staging';
data staging.metric1 (keep = datetime machine
metric1 lstpdate)
staging.metric2 (keep = datetime machine
metric3 lstpdate);
attrib datetime label = "DateTime" format = datetime18.;
attrib machine label = "Machine" length = $20;
attrib metric1 label = "Metric1" format = NLNUM16.;
attrib metric3 label = "Metric2*100" format = NLNUM16.;
attrib lstpdate label = "LastProcessDate" format = NLDATM.;
attrib metric2 format = NLNUM16.;
lstpdate = datetime(); /* needed for aggregation */
infile "c:\UserWritten\rawdata.txt" missover;
input datetime datetime15. machine metric1 metric2;
metric3 = metric2 * 100;
output staging.metric1
staging.metric2;
run;
/* ************************************************************** */
/* Name: UserWrittenStaging */
/* -------------------------------------------------------------- */
/* Description: */
/* Reads the rawdata from the rawdata.txt file that is in */
/* this format: */
/* ddMONyyyy:hh:mm machineName metric1 metric2 */
/* ddMONyyyy:hh:mm machineName metric1 metric2 */
/* <etc.> */
/* ************************************************************** */
/* ***PUT CODE INTO A MACRO IN ORDER TO USE %DO STATEMENTS*** */
%macro readRawdata;
/* libname staging 'c:\UserWritten\Staging'; */
data
/* ***GENERATE TABLE NAMES WITH OPTIONS AND KEEP LISTS*** */
%do i = 1 %to &numTargets;
&&target&i (%_ITMS_tableOptions(targetTableNum=&i,
generateTableName=NO)
keep = %_ITMS_columnList(targetTableNum=&i))
%end;
/* ***DUPLICATE CHECKING OUTPUT TABLE*** */
%RMDUPDSN(SOURCE=USR)
/* staging.metric1 (keep = datetime machine */
/* metric1 lstpdate) */
/* staging.metric2 (keep = datetime machine */
/* metric2 metric3 lstpdate) */
;
/* ***INITIALIZE DUPLICATE CHECKING*** */
%_ITMS_dupInit;
/* ***GENERATE ATTRIB STATEMENTS FOR COLUMNS IN OUTPUT TABLES*** */
%_ITMS_attrib();
/* attrib datetime label = "DateTime" format = datetime18.; */
/* attrib machine label = "Machine" length = $20; */
/* attrib metric1 label = "Metric1" format = NLNUM16.; */
/* attrib metric3 label = "Metric2*100" format = NLNUM16.; */
/* attrib lstpdate label = "LastProcessDate" format = NLDATM.; */
attrib metric2 format = NLNUM16.;
lstpdate = datetime(); /* needed for aggregation */
/* infile "c:\UserWritten\rawdata.txt" missover; */
/* ***USE &RAWDATA AND INCLUDE AN END-OF-FILE FLAG FOR*** */
/* ***DUPLICATE CHECKING*** */
infile "&rawdata" end = _eof missover;
input datetime datetime15. machine metric1 metric2;
/* ***RUN DUPLICATE CHECKING*** */
%_ITMS_dupCheck;
/* ***RUN FUTURE DATA CHECKING*** */
%RMSETFTR;
/* ***CREATE COMPUTED COLUMNS*** */
%_ITMS_computedColumns;
/* metric3 = metric2 * 100; */
/* ***OUTPUT DATA TO TARGET TABLES*** */
output
%do i = 1 %to &numTargets
&&target&i
%end;
;
/* output staging.metric1 */
/* staging.metric2; */
run;
/* ***UPDATE DUPLICATE CHECKING FILES*** */
%RMDUPUPD;
/* ***HANDLE FUTURE DATA*** */
%_ITMS_futureData;
%mend readRawdata;
%readRawdata; Domain Categories. Within that folder, create one
or more folders for your domain categories. (A domain category is
a way of grouping different types of data such as System, Disk, or
Network data.) Specify a name for these categories that makes sense
for your application.