<?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: Data step issue. in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Data-step-issue/m-p/150301#M29646</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am not following your logic or example.&amp;nbsp; If you don't want to save X then drop that from here: data hdfc icici idbi x;&lt;/P&gt;&lt;P&gt;And drop this: output x;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 18 Sep 2014 13:57:07 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2014-09-18T13:57:07Z</dc:date>
    <item>
      <title>Data step issue.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-step-issue/m-p/150300#M29645</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;issue with output:&lt;/P&gt;&lt;P&gt;i m trying to giving output as per condition, but its giving all observation to all created dataset.&lt;/P&gt;&lt;P&gt;my desired result is getting by existing code but for that i need to create addition dataset "X". I dont want to create that X dataset. &lt;/P&gt;&lt;P&gt;how can i prevent process to put observation to all.&lt;/P&gt;&lt;P&gt;my code is:&lt;/P&gt;&lt;P&gt;DATA CONTROL;&lt;/P&gt;&lt;P&gt;INPUT BANKCODE $1-6 PRODCODE $9-10 COND $13-36;&lt;/P&gt;&lt;P&gt;DATALINES;&lt;/P&gt;&lt;P&gt;HDFC HL DELAY&amp;gt;10&lt;/P&gt;&lt;P&gt;HDFC CC DELAY&amp;lt;10&lt;/P&gt;&lt;P&gt;ICICI ML DEFAULT=100&lt;/P&gt;&lt;P&gt;ICICI CC DEFAULT&amp;lt;10 AND DELAY&amp;lt;10&lt;/P&gt;&lt;P&gt;IDBI ML WRITE_OFF =10&lt;/P&gt;&lt;P&gt;IDBI CC DELAY&amp;lt;20&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;RUN;&lt;/P&gt;&lt;P&gt;PROC PRINT; RUN;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROC SQL NOPRINT;&lt;/P&gt;&lt;P&gt;Select bankcode, prodcode, cond into : banklist separated by "|" ,: prodlist separated by "|" ,: condlist separated by "|" from control;&lt;/P&gt;&lt;P&gt;%let ct = &amp;amp;sqlobs;&lt;/P&gt;&lt;P&gt;QUIT;&lt;/P&gt;&lt;P&gt;%put &amp;amp;banklist &amp;amp;prodlist &amp;amp;condlist &amp;amp;ct;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA MASTER;&lt;/P&gt;&lt;P&gt;INPUT BANKCODE $1-6 PRODCODE $9-10 DELAY 13-14 DEFAULT 17-18 WRITE_OFF 21-24;&lt;/P&gt;&lt;P&gt;DATALINES;&lt;/P&gt;&lt;P&gt;HDFC CC 5 1 12&lt;/P&gt;&lt;P&gt;ICICI HL 6 4 100&lt;/P&gt;&lt;P&gt;IDBI ML 2 3 20&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;RUN;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROC PRINT; RUN;&lt;/P&gt;&lt;P&gt;option mlogic symbolgen macrogen;&lt;/P&gt;&lt;P&gt;%macro test();&lt;/P&gt;&lt;P&gt;data hdfc icici idbi x;&lt;/P&gt;&lt;P&gt;set master;&lt;/P&gt;&lt;P&gt;%do i =1 %to &amp;amp;ct;&lt;/P&gt;&lt;P&gt;%let bname=%scan(%bquote(&amp;amp;banklist),&amp;amp;i,%str(|));&lt;/P&gt;&lt;P&gt;%let pname=%scan(%bquote(&amp;amp;prodlist),&amp;amp;i,%str(|));&lt;/P&gt;&lt;P&gt;%let cname=%scan(%bquote(&amp;amp;condlist),&amp;amp;i,%str(|));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%if (bankcode="&amp;amp;bname") and (prodcode="&amp;amp;pname") and (&amp;amp;cname)&amp;nbsp; %then&lt;/P&gt;&lt;P&gt;%do;&lt;/P&gt;&lt;P&gt;*status= "&amp;amp;cname.";&lt;/P&gt;&lt;P&gt;status=%substr(%bquote(&amp;amp;cname),1,%sysfunc(ANYPUNCT(%bquote(&amp;amp;cname)))-1);&lt;/P&gt;&lt;P&gt;output &amp;amp;bname. ;&lt;/P&gt;&lt;P&gt;%end;&lt;/P&gt;&lt;P&gt;%end;&lt;/P&gt;&lt;P&gt;output x;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;%mend;&lt;/P&gt;&lt;P&gt;%test;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Sep 2014 13:38:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-step-issue/m-p/150300#M29645</guid>
      <dc:creator>Aman4SAS</dc:creator>
      <dc:date>2014-09-18T13:38:01Z</dc:date>
    </item>
    <item>
      <title>Re: Data step issue.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-step-issue/m-p/150301#M29646</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am not following your logic or example.&amp;nbsp; If you don't want to save X then drop that from here: data hdfc icici idbi x;&lt;/P&gt;&lt;P&gt;And drop this: output x;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Sep 2014 13:57:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-step-issue/m-p/150301#M29646</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-09-18T13:57:07Z</dc:date>
    </item>
    <item>
      <title>Re: Data step issue.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-step-issue/m-p/150302#M29647</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Apology for not being clear.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Resultant with corrent code is 0obs is correct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If i will remove content related with data set x, resultant will be 3 obs to each dataset which is wrong, i dont want that and i also dont want to creat dataset x. I hope i tried to explain my best&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Sep 2014 15:09:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-step-issue/m-p/150302#M29647</guid>
      <dc:creator>Aman4SAS</dc:creator>
      <dc:date>2014-09-18T15:09:01Z</dc:date>
    </item>
    <item>
      <title>Re: Data step issue.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-step-issue/m-p/150303#M29648</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There are several points here.&amp;nbsp; Firstly your test dataset CONTROL is not being created as you think it is.&amp;nbsp; The variable BANKCODE for instance is reading 6 characters in , so HDFC H for first row.&amp;nbsp; This doesn't match anything in the master table. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then there is the problem that you are mixing macro code with datastep code.&lt;/P&gt;&lt;P&gt;The %if construct is a macro command, it is there to generate code conditionally - i.e. it isn't part of the datastep.&amp;nbsp; Thus saying %if a datastep variable called bankcode="&amp;amp;bname."... - this is invalid, as the text "bankcode" != whatever &amp;amp;bname resolves to.&amp;nbsp; Bank code is part of the datastep and the datastep syntax, % macro commands are part of the macro compiler.&amp;nbsp; Think of the macro compiler as a text replace function, not part of the SAS code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now you are looking to do certain conditions on the dataset correct.&amp;nbsp; So try the following:&lt;/P&gt;&lt;P&gt;data control;&lt;BR /&gt;&amp;nbsp; length bankcode $6 prodcode $2 cond $200;&lt;BR /&gt;&amp;nbsp; infile datalines dlm=",";&lt;BR /&gt;&amp;nbsp; input bankcode $ prodcode $ cond $;&lt;BR /&gt;datalines;&lt;BR /&gt;HDFC,HL,DELAY&amp;gt;10&lt;BR /&gt;HDFC,CC,DELAY&amp;lt;10&lt;BR /&gt;ICICI,ML,DEFAULT=100&lt;BR /&gt;ICICI,CC,DEFAULT&amp;lt;10 AND DELAY&amp;lt;10&lt;BR /&gt;IDBI,ML,WRITE_OFF =10&lt;BR /&gt;IDBI,CC,DELAY&amp;lt;20&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data master;&lt;BR /&gt;&amp;nbsp; length bankcode $6 prodcode $2;&lt;BR /&gt;&amp;nbsp; infile datalines dlm=",";&lt;BR /&gt;&amp;nbsp; input bankcode $ prodcode $ delay default write_off;&lt;BR /&gt;datalines;&lt;BR /&gt;HDFC,CC,5,1,12&lt;BR /&gt;ICICI,HL,6,4,100&lt;BR /&gt;IDBI,ML,2,3,20&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data _null_;&lt;BR /&gt;&amp;nbsp; set control end=last;&lt;BR /&gt;&amp;nbsp; if _n_=1 then call execute('data hdfc icici idbi; set master;');&lt;BR /&gt;&amp;nbsp; call execute(' if bankcode="'||strip(bankcode)||'" and prodcode="'||strip(prodcode)||'" and '||strip(cond)||' then output '||strip(bankcode)||';');&lt;BR /&gt;&amp;nbsp; if last then call execute(';run;');&lt;BR /&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Sep 2014 15:28:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-step-issue/m-p/150303#M29648</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-09-18T15:28:37Z</dc:date>
    </item>
    <item>
      <title>Re: Data step issue.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-step-issue/m-p/150304#M29649</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks, it makes much easier way.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Sep 2014 06:13:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-step-issue/m-p/150304#M29649</guid>
      <dc:creator>Aman4SAS</dc:creator>
      <dc:date>2014-09-19T06:13:33Z</dc:date>
    </item>
  </channel>
</rss>

