🔒 This topic is solved and locked.
Need further help from the community? Please
sign in and ask a new question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Posted 07-01-2016 03:30 AM
(1609 views)
Hi,
I have multiple XML file, file1.xml, file2.xml, file3.xml. I want to convert each XML file into SAS dataset using macro do loop.
I have the following syntax to convert XML file into SAS dataset but I don't know how to use the %do loop to this script.
filename File 'C:\Users\Desktop\XML Files\File1.xml';
filename SXLEMAP 'C:\Users\DesktopC:\Users\Desktop\XML Files\File1.map';
libname File xmlv2 xmlmap=SXLEMAP access=READONLY;
/*
* Catalog
*/
proc datasets lib= File; run;
/*
* Contents
*/
proc contents data= File.queryResponse varnum; run;
/*
* Printing
*/
title 'Table queryResponse';
proc print data= File.queryResponse; run;
title;
/*
* Local Extraction
*/
DATA file; SET File.queryResponse; run;
Appreciating your help.
Thanks!
1 ACCEPTED SOLUTION
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
%macro do_what_you_want(startnum,endnum);
%do i = &startnum %to &endnum;
filename file "C:\Users\Desktop\XML Files\File&i..xml";
filename SXLEMAP "C:\Users\DesktopC:\Users\Desktop\XML Files\File&i..map";
libname file xmlv2 xmlmap=SXLEMAP access=READONLY;
proc datasets lib=file;
run;
proc contents data=file.queryresponse varnum;
run;
title "Table queryResponse from File File&i..xml";
proc print data=file.queryresponse;
run;
title;
data file&i;
set file.queryresponse;
run;
%end;
%mend;
%do_what_you_want(1,3);
2 REPLIES 2
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
%macro do_what_you_want(startnum,endnum);
%do i = &startnum %to &endnum;
filename file "C:\Users\Desktop\XML Files\File&i..xml";
filename SXLEMAP "C:\Users\DesktopC:\Users\Desktop\XML Files\File&i..map";
libname file xmlv2 xmlmap=SXLEMAP access=READONLY;
proc datasets lib=file;
run;
proc contents data=file.queryresponse varnum;
run;
title "Table queryResponse from File File&i..xml";
proc print data=file.queryresponse;
run;
title;
data file&i;
set file.queryresponse;
run;
%end;
%mend;
%do_what_you_want(1,3);
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Thanks a lot!