<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic looping through a list and form 1 DATASET in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/looping-through-a-list-and-form-1-DATASET/m-p/710879#M218904</link>
    <description>&lt;P&gt;I have a list of datasets(in dsets_2 macro list) where I've to perform 1 operation(merge date+time variable) as below. #rawdata. is the library name&lt;/P&gt;
&lt;P&gt;%let dsets_2 = %str(rawdata.SERUM_BIO rawdata.CL_HEMA rawdata.CL_PG rawdata.SKIN_BIO rawdata.CL_CHEM rawdata.PHOTO);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I've to use this datasets such as SERUM_BIO,CL_HEMA,CL_PG,&amp;nbsp;SKIN_BIO,CL_CHEM,PHOTO through a do loop to form 1 SINGLE DATASET.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Eg: dsets_2 macro has 6 datasets name, those has to be placed one upon other by SET statement, below code is used to achieve this, but not succeeded, need help to achieve. Kindly guide.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%macro sort(var1=,var2=);&lt;BR /&gt;%local ii next_value;&lt;BR /&gt;%let ii=1;%let iii=2;&lt;/P&gt;
&lt;P&gt;%do %while (%scan(%scan(&amp;amp;dsets_2,&amp;amp;ii, %str( )),2,".)") ~= %str());&lt;BR /&gt;%let next_value = %scan(&amp;amp;dsets_2, &amp;amp;ii);&lt;BR /&gt;%if &amp;amp;var1 ~=. and &amp;amp;var2 &amp;gt;. %then %do ;&lt;BR /&gt;data dset_&amp;amp;next_value.;&lt;BR /&gt;set %scan(&amp;amp;dsets_2,&amp;amp;ii, %str( ));&lt;BR /&gt;TDATETIME= dhms(LBDAT, 0, 0, LBTIM);format TDATETIME datetime20.;&lt;BR /&gt;keep USUBJID &amp;amp;var1. &amp;amp;var2. TDATETIME; &lt;BR /&gt;run;&lt;BR /&gt;%let ii = %eval(&amp;amp;ii + 1);&lt;BR /&gt;%end; %end;&lt;/P&gt;
&lt;P&gt;%mend sort;&lt;BR /&gt;%sort(var1=LBDAT ,var2=LBTIM);&lt;/P&gt;</description>
    <pubDate>Tue, 12 Jan 2021 20:42:19 GMT</pubDate>
    <dc:creator>sahoositaram555</dc:creator>
    <dc:date>2021-01-12T20:42:19Z</dc:date>
    <item>
      <title>looping through a list and form 1 DATASET</title>
      <link>https://communities.sas.com/t5/SAS-Programming/looping-through-a-list-and-form-1-DATASET/m-p/710879#M218904</link>
      <description>&lt;P&gt;I have a list of datasets(in dsets_2 macro list) where I've to perform 1 operation(merge date+time variable) as below. #rawdata. is the library name&lt;/P&gt;
&lt;P&gt;%let dsets_2 = %str(rawdata.SERUM_BIO rawdata.CL_HEMA rawdata.CL_PG rawdata.SKIN_BIO rawdata.CL_CHEM rawdata.PHOTO);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I've to use this datasets such as SERUM_BIO,CL_HEMA,CL_PG,&amp;nbsp;SKIN_BIO,CL_CHEM,PHOTO through a do loop to form 1 SINGLE DATASET.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Eg: dsets_2 macro has 6 datasets name, those has to be placed one upon other by SET statement, below code is used to achieve this, but not succeeded, need help to achieve. Kindly guide.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%macro sort(var1=,var2=);&lt;BR /&gt;%local ii next_value;&lt;BR /&gt;%let ii=1;%let iii=2;&lt;/P&gt;
&lt;P&gt;%do %while (%scan(%scan(&amp;amp;dsets_2,&amp;amp;ii, %str( )),2,".)") ~= %str());&lt;BR /&gt;%let next_value = %scan(&amp;amp;dsets_2, &amp;amp;ii);&lt;BR /&gt;%if &amp;amp;var1 ~=. and &amp;amp;var2 &amp;gt;. %then %do ;&lt;BR /&gt;data dset_&amp;amp;next_value.;&lt;BR /&gt;set %scan(&amp;amp;dsets_2,&amp;amp;ii, %str( ));&lt;BR /&gt;TDATETIME= dhms(LBDAT, 0, 0, LBTIM);format TDATETIME datetime20.;&lt;BR /&gt;keep USUBJID &amp;amp;var1. &amp;amp;var2. TDATETIME; &lt;BR /&gt;run;&lt;BR /&gt;%let ii = %eval(&amp;amp;ii + 1);&lt;BR /&gt;%end; %end;&lt;/P&gt;
&lt;P&gt;%mend sort;&lt;BR /&gt;%sort(var1=LBDAT ,var2=LBTIM);&lt;/P&gt;</description>
      <pubDate>Tue, 12 Jan 2021 20:42:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/looping-through-a-list-and-form-1-DATASET/m-p/710879#M218904</guid>
      <dc:creator>sahoositaram555</dc:creator>
      <dc:date>2021-01-12T20:42:19Z</dc:date>
    </item>
    <item>
      <title>Re: looping through a list</title>
      <link>https://communities.sas.com/t5/SAS-Programming/looping-through-a-list-and-form-1-DATASET/m-p/710896#M218910</link>
      <description>&lt;P&gt;I think this is very clear:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;WARNING: Apparent symbolic reference I not resolved.&lt;/PRE&gt;
&lt;P&gt;You can't use a macro variable &amp;amp;i because you haven't given it a value.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In the future, please do this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Make this the first line of your program, run it again,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;options mprint;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;and then show us the ENTIRE log for this segment of code, with nothing chopped out, exactly as you see it. Copy the log as text and paste it into the window that appears when you click on the &amp;lt;/&amp;gt; icon here.&amp;nbsp;&lt;STRONG&gt;DO NOT SKIP THIS STEP&lt;/STRONG&gt;.&lt;/P&gt;</description>
      <pubDate>Wed, 13 Jan 2021 11:34:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/looping-through-a-list-and-form-1-DATASET/m-p/710896#M218910</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2021-01-13T11:34:24Z</dc:date>
    </item>
  </channel>
</rss>

