<?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: Why macro var created from SQL can't be used immediately in array? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Why-macro-var-created-from-SQL-can-t-be-used-immediately-in/m-p/168081#M32309</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;select count (distinct year_mth) into:num trimmed&lt;/P&gt;&lt;P&gt;from have&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 13 Feb 2015 15:49:10 GMT</pubDate>
    <dc:creator>PaigeMiller</dc:creator>
    <dc:date>2015-02-13T15:49:10Z</dc:date>
    <item>
      <title>Why macro var created from SQL can't be used immediately in array?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-macro-var-created-from-SQL-can-t-be-used-immediately-in/m-p/168080#M32308</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, All,&lt;/P&gt;&lt;P&gt;In this case, &amp;amp;num was created by SQL to count the number of obs in data(have).&lt;/P&gt;&lt;P&gt;Instead using &amp;amp;num directly to create array, I have to assign the &amp;amp;num value to &amp;amp;end to make it work. Why?&lt;/P&gt;&lt;P&gt;The log screen was attached.&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Joe&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input year_mth @@;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;201412 201411 201410&lt;/P&gt;&lt;P&gt;;run;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;select count (distinct year_mth) into:num&lt;/P&gt;&lt;P&gt;from have&lt;/P&gt;&lt;P&gt;;quit;&lt;/P&gt;&lt;P&gt;%put check the new macro value: &amp;amp;num;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*Why not working if use &amp;amp;num directly*/&lt;/P&gt;&lt;P&gt;data notwork;&lt;/P&gt;&lt;P&gt;array L (*) L01-L&amp;amp;num;&lt;/P&gt;&lt;P&gt;do i=01 to &amp;amp;num;&lt;/P&gt;&lt;P&gt;&amp;nbsp; L(i)=i;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*It works when converting by let statement*/&lt;/P&gt;&lt;P&gt;%let end = &amp;amp;num;&lt;/P&gt;&lt;P&gt;data yeswork;&lt;/P&gt;&lt;P&gt;array L (*) L01-L&amp;amp;end;&lt;/P&gt;&lt;P&gt;do i=01 to &amp;amp;end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; L(i)=i;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="sql macro.JPG" class="jive-image-thumbnail jive-image" height="271" src="https://communities.sas.com/legacyfs/online/9158_sql macro.JPG" style="width: 730px; height: 270.911111111111px;" width="730" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Feb 2015 15:40:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-macro-var-created-from-SQL-can-t-be-used-immediately-in/m-p/168080#M32308</guid>
      <dc:creator>jiangmi</dc:creator>
      <dc:date>2015-02-13T15:40:17Z</dc:date>
    </item>
    <item>
      <title>Re: Why macro var created from SQL can't be used immediately in array?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-macro-var-created-from-SQL-can-t-be-used-immediately-in/m-p/168081#M32309</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;select count (distinct year_mth) into:num trimmed&lt;/P&gt;&lt;P&gt;from have&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Feb 2015 15:49:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-macro-var-created-from-SQL-can-t-be-used-immediately-in/m-p/168081#M32309</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2015-02-13T15:49:10Z</dc:date>
    </item>
    <item>
      <title>Re: Why macro var created from SQL can't be used immediately in array?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-macro-var-created-from-SQL-can-t-be-used-immediately-in/m-p/168082#M32310</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Because the macro variable has leading spaces so what the compiler sees is:&lt;/P&gt;&lt;P&gt;L.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use the Trimmed option in your&amp;nbsp; SQL to remove the spaces:&lt;/P&gt;&lt;P&gt;ie &lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;Into :num Trimmed&lt;/P&gt;&lt;P&gt;from ...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Feb 2015 15:50:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-macro-var-created-from-SQL-can-t-be-used-immediately-in/m-p/168082#M32310</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2015-02-13T15:50:27Z</dc:date>
    </item>
    <item>
      <title>Re: Why macro var created from SQL can't be used immediately in array?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Why-macro-var-created-from-SQL-can-t-be-used-immediately-in/m-p/168083#M32311</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I didn't realized that modification in sql.&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;Joe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 13 Feb 2015 16:30:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Why-macro-var-created-from-SQL-can-t-be-used-immediately-in/m-p/168083#M32311</guid>
      <dc:creator>jiangmi</dc:creator>
      <dc:date>2015-02-13T16:30:55Z</dc:date>
    </item>
  </channel>
</rss>

