<?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 Re: Advanced do loop in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295820#M20193</link>
    <description>&lt;P&gt;ok, but then it needs to be put somewhere else in order because ThisOne isn't created until after that data _null_ query.&lt;/P&gt;</description>
    <pubDate>Thu, 01 Sep 2016 13:24:13 GMT</pubDate>
    <dc:creator>SVoldrich</dc:creator>
    <dc:date>2016-09-01T13:24:13Z</dc:date>
    <item>
      <title>Advanced do loop</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295664#M20185</link>
      <description>&lt;P&gt;SAS Enterprise Guide 6.1&lt;BR /&gt;&lt;BR /&gt;I have a crosswalk table&lt;BR /&gt;legacysystem &amp;nbsp;legacytable &amp;nbsp;legacycolumn &amp;nbsp;newsystem &amp;nbsp;newtable &amp;nbsp; &amp;nbsp; newcolumn&lt;/P&gt;
&lt;P&gt;appdm &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; drg &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; drg_cd &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;APSYS&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; REF_DRG &amp;nbsp;DRG_CD&lt;/P&gt;
&lt;P&gt;appdm &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; drg &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; drg_desc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;APSYS &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; REF_DRG &amp;nbsp;DRG_DESC&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;etc.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are 5 fields in teh APPDM.DRG table.&lt;/P&gt;
&lt;P&gt;I need to perform analysis to make sure all the values in APPDM are in the new system.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="4" color="#FF0000"&gt;The Loop is working, in that it repeats this 5 times - but it does the same action 5 times for the same field.&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;%let mapping=Crosswalk_Mapping_APPDM_DRG;&lt;BR /&gt;%let LegSys=APPDM;&lt;BR /&gt;%let LegTab=DRG;&lt;BR /&gt;%let APSYSSys=APSYSVIEW;&lt;/P&gt;
&lt;P&gt;proc sql; describe table &amp;amp;mapping; quit;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;proc sql;&lt;BR /&gt; select count (distinct Legacy_Source_Column) as CNT_LEGACY&lt;BR /&gt; from &amp;amp;mapping;&lt;BR /&gt;quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sort data=&amp;amp;mapping;&lt;BR /&gt;by Legacy_Source_Column;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data WithCount;&lt;BR /&gt;set &amp;amp;mapping;&lt;BR /&gt;count+1;&lt;BR /&gt;by Legacy_Source_Column;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;DATA _NULL_;&lt;BR /&gt; SET WithCount END=END;&lt;BR /&gt; IF END THEN&lt;BR /&gt; DO;&lt;BR /&gt; CALL SYMPUT ('TOT_OBS', _N_);&lt;BR /&gt; END;&lt;BR /&gt;RUN;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%PUT &amp;amp;TOT_OBS;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;%MACRO DO_IT;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;DATA WORK.THIS_ONE;&lt;BR /&gt; SET WithCount;&lt;/P&gt;
&lt;P&gt;IF &amp;amp;I = _N_ THEN &lt;BR /&gt; OUTPUT;&lt;BR /&gt; RUN;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;DATA _NULL_;&lt;BR /&gt; SET WithCount;&lt;BR /&gt; CALL SYMPUT ('Legacy_Source_Column',TRIM(Legacy_Source_Column));&lt;BR /&gt; CALL SYMPUT ('APSYS_Source_Database',TRIM(APSYS_Source_Database));&lt;BR /&gt; CALL SYMPUT ('APSYS_Source_Table',TRIM(APSYS_Source_Table));&lt;BR /&gt; CALL SYMPUT ('APSYS_Source_Column',TRIM(APSYS_Source_Column));&lt;BR /&gt; RUN;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%let Legacysystem=&amp;amp;LegSys;&lt;BR /&gt;%let LegacyTable=&amp;amp;LegTab;&lt;BR /&gt;%let LegacyColumn=&amp;amp;Legacy_Source_Column;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sql; &lt;BR /&gt;create table Legacy as&lt;BR /&gt;select distinct &lt;BR /&gt;&amp;amp;LegacyColumn as Field&lt;BR /&gt;from &amp;amp;Legacysystem..&amp;amp;LegacyTable&lt;BR /&gt;order by Field;&lt;BR /&gt;quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;%let APSYSsystem=&amp;amp;APSYSSys;&lt;BR /&gt;%let APSYSTable=&amp;amp;APSYS_Source_Table;&lt;BR /&gt;%let APSYSColumn=&amp;amp;APSYS_Source_Column;&lt;/P&gt;
&lt;P&gt;proc sql; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;create table APSYS as&lt;BR /&gt;select distinct &lt;BR /&gt;&amp;amp;APSYSColumn as Field&lt;BR /&gt;from &amp;amp;APSYSsystem..&amp;amp;APSYSTable&lt;BR /&gt;order by Field;&lt;BR /&gt;quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data compare_legacy_&amp;amp;LegacyColumn;&lt;BR /&gt; merge Legacy (in=a) APSYS (in=b);&lt;BR /&gt; by Field;&lt;BR /&gt; if a and b then status = 'Both ';&lt;BR /&gt; if a and not b then status ='in legacy only';&lt;BR /&gt; if b and not a then status ='in APSYS only';&lt;BR /&gt; Run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc freq data =compare_Legacy_&amp;amp;LegacyColumn;&lt;BR /&gt; title'Compare Data Elements between Legacy and APSYS '&amp;amp;LegacyColumn;&lt;BR /&gt; table status/missing;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;%MEND DO_IT;&lt;/P&gt;
&lt;P&gt;%MACRO LOOP;&lt;BR /&gt; %DO I=1 %TO &amp;amp;TOT_OBS;&lt;BR /&gt; %PUT "---------------------------------------------";&lt;BR /&gt; %PUT &amp;amp;TOT_OBS LOOPS -&amp;gt; &amp;amp;I;&lt;BR /&gt; %PUT "---------------------------------------------";&lt;/P&gt;
&lt;P&gt;%DO_IT;&lt;BR /&gt; RUN;&lt;/P&gt;
&lt;P&gt;%END;&lt;BR /&gt;%MEND LOOP;&lt;/P&gt;
&lt;P&gt;%LOOP;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 31 Aug 2016 23:23:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295664#M20185</guid>
      <dc:creator>SVoldrich</dc:creator>
      <dc:date>2016-08-31T23:23:49Z</dc:date>
    </item>
    <item>
      <title>Re: Advanced do loop</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295670#M20186</link>
      <description>&lt;P&gt;I didn't trace it all but your data null step, should that refer to table from previous step instead of current assigned dataset?&lt;/P&gt;</description>
      <pubDate>Thu, 01 Sep 2016 01:39:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295670#M20186</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-09-01T01:39:25Z</dc:date>
    </item>
    <item>
      <title>Re: Advanced do loop</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295676#M20187</link>
      <description>&lt;P&gt;Your data set WithCount is essentially the same as your incoming data set &amp;amp;mapping&amp;nbsp;(with COUNT added).&amp;nbsp; There is nothing about it that summarizes the records in any way. &amp;nbsp;Is that your intention?&lt;/P&gt;</description>
      <pubDate>Thu, 01 Sep 2016 02:21:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295676#M20187</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2016-09-01T02:21:03Z</dc:date>
    </item>
    <item>
      <title>Re: Advanced do loop</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295733#M20189</link>
      <description>&lt;P&gt;You should also move your %DO loop to inside your macro to have a single macro.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 01 Sep 2016 08:49:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295733#M20189</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-09-01T08:49:25Z</dc:date>
    </item>
    <item>
      <title>Re: Advanced do loop</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295771#M20190</link>
      <description>&lt;P&gt;I think this is probably where the issue iies.&lt;/P&gt;
&lt;P&gt;some how it's not counting in such a way to know to go to the next one.&lt;BR /&gt;&lt;BR /&gt;But i'm not sure i am following when you say previous step vs current assigned dataset.&lt;/P&gt;</description>
      <pubDate>Thu, 01 Sep 2016 11:02:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295771#M20190</guid>
      <dc:creator>SVoldrich</dc:creator>
      <dc:date>2016-09-01T11:02:21Z</dc:date>
    </item>
    <item>
      <title>Re: Advanced do loop</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295775#M20191</link>
      <description>&lt;P&gt;Not sure that i follow....&lt;BR /&gt;This one tells me there are 5 rows in this table.&lt;/P&gt;
&lt;P&gt;proc sql;&lt;BR /&gt;select count (distinct Legacy_Source_Column) as CNT_LEGACY&lt;BR /&gt;from &amp;amp;mapping;&lt;BR /&gt;quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This one lists the count at the end of the table.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data WithCount;&lt;BR /&gt;set &amp;amp;mapping;&lt;BR /&gt;count+1;&lt;BR /&gt;by Legacy_Source_Column;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;My issue is that it is not identifying the different iterations and moving down the list.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 01 Sep 2016 11:08:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295775#M20191</guid>
      <dc:creator>SVoldrich</dc:creator>
      <dc:date>2016-09-01T11:08:25Z</dc:date>
    </item>
    <item>
      <title>Re: Advanced do loop</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295810#M20192</link>
      <description>&lt;P&gt;Reeza's original suggestion looks correct.&amp;nbsp; This step refers to the wrong data set:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data _null_;&lt;/P&gt;
&lt;P&gt;set &lt;FONT color="#FF0000"&gt;withCount&lt;/FONT&gt;;&lt;/P&gt;
&lt;P&gt;CALL SYMPUT ...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It should use:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data _null_;&lt;/P&gt;
&lt;P&gt;set &lt;FONT color="#FF0000"&gt;ThisOne&lt;/FONT&gt;;&lt;/P&gt;
&lt;P&gt;CALL SYMPUT ...&lt;/P&gt;</description>
      <pubDate>Thu, 01 Sep 2016 13:09:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295810#M20192</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2016-09-01T13:09:39Z</dc:date>
    </item>
    <item>
      <title>Re: Advanced do loop</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295820#M20193</link>
      <description>&lt;P&gt;ok, but then it needs to be put somewhere else in order because ThisOne isn't created until after that data _null_ query.&lt;/P&gt;</description>
      <pubDate>Thu, 01 Sep 2016 13:24:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295820#M20193</guid>
      <dc:creator>SVoldrich</dc:creator>
      <dc:date>2016-09-01T13:24:13Z</dc:date>
    </item>
    <item>
      <title>Re: Advanced do loop</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295825#M20194</link>
      <description>&lt;P&gt;No, it should be OK.&amp;nbsp; In your posted code, ThisOne is created immediately before the DATA _NULL_ step.&lt;/P&gt;</description>
      <pubDate>Thu, 01 Sep 2016 13:31:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295825#M20194</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2016-09-01T13:31:43Z</dc:date>
    </item>
    <item>
      <title>Re: Advanced do loop</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295834#M20195</link>
      <description>&lt;P&gt;sorry, i was looking at the wrong data _null_&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Yay! it works now!&lt;/P&gt;</description>
      <pubDate>Thu, 01 Sep 2016 13:56:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Advanced-do-loop/m-p/295834#M20195</guid>
      <dc:creator>SVoldrich</dc:creator>
      <dc:date>2016-09-01T13:56:53Z</dc:date>
    </item>
  </channel>
</rss>

