<?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: PROC SQL NOPRINT and RESOLVE function in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-NOPRINT-and-RESOLVE-function/m-p/412812#M100982</link>
    <description>&lt;P&gt;The best solution I found so far is to create a _NULL_ table. It then reads all observations and avoid any unnecessary output to be generated:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;PROC&lt;/STRONG&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;SQL&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="3"&gt;noprint&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;CREATE TABLE _NULL_ AS&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;SELECT&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; RESOLVE(&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;'%warn( msg = name='&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;||name||&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;' age='&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;||PUT(age,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;2.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;)||&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;')'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;) &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;AS&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; y&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;FROM&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; sashelp.class&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;QUIT&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 13 Nov 2017 08:52:40 GMT</pubDate>
    <dc:creator>dostiep</dc:creator>
    <dc:date>2017-11-13T08:52:40Z</dc:date>
    <item>
      <title>PROC SQL NOPRINT and RESOLVE function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-NOPRINT-and-RESOLVE-function/m-p/412232#M100824</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I was wondering why, when I add the option NOPRINT to PROC SQL, only the first line generated by the macro call from RESOLVE function is displayed in the LOG? I f I remove the NOPRINT option, all the expected lines are written in the LOG.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you run the following code, you'll see only one line displayed in the LOG.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;%macro&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; warn(msg);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;%put&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; &amp;amp;msg;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;%mend&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; warn;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;PROC&lt;/STRONG&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;SQL&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="3"&gt;noprint&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;SELECT&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; RESOLVE(&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;'%warn( msg = name='&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;||name||&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;' age='&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;||PUT(age,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;2.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;)||&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;')'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;) &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;AS&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; y&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;FROM&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; sashelp.class&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;QUIT&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you run it again but this time without the NOPRINT, you'll see all the lines displayed in the LOG.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any reason why? Any workarounds?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Pierre&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Nov 2017 07:40:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-NOPRINT-and-RESOLVE-function/m-p/412232#M100824</guid>
      <dc:creator>dostiep</dc:creator>
      <dc:date>2017-11-10T07:40:19Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL NOPRINT and RESOLVE function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-NOPRINT-and-RESOLVE-function/m-p/412785#M100964</link>
      <description>&lt;P&gt;Because proc sql returns nothing to any destination, it just stops after the first record.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The same happens if you run&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql noprint; 
  select ' ' as Y from SASHELP.CLASS;
quit;       
%put &amp;amp;=sqlobs;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Note that if you use the data in any way, all the table is read, but there must be an output.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;These&amp;nbsp;3 steps will read the whole table:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql noprint;   
  create table T as
  select resolve('%warn( msg = n1='||NAME||' age='||put(AGE,2.)||')')  as Y from SASHELP.CLASS;
quit;       %put &amp;amp;=sqlobs;

proc sql noprint; 
  select resolve('%warn( msg = n2='||NAME||' age='||put(AGE,2.)||')')  as Y into :tt separated by ',' from SASHELP.CLASS; 
quit;        %put &amp;amp;=sqlobs &amp;amp;=tt;   

proc sql ; 
  select resolve('%warn( msg = n3='||NAME||' age='||put(AGE,2.)||')')  as Y from SASHELP.CLASS;
quit;        %put &amp;amp;=sqlobs;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;because proc sql outputs to&amp;nbsp;a table, to macro variables and to the ODS destination respectively.&lt;/P&gt;</description>
      <pubDate>Mon, 13 Nov 2017 03:06:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-NOPRINT-and-RESOLVE-function/m-p/412785#M100964</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-11-13T03:06:16Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL NOPRINT and RESOLVE function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-NOPRINT-and-RESOLVE-function/m-p/412812#M100982</link>
      <description>&lt;P&gt;The best solution I found so far is to create a _NULL_ table. It then reads all observations and avoid any unnecessary output to be generated:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;PROC&lt;/STRONG&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;SQL&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="3"&gt;noprint&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;CREATE TABLE _NULL_ AS&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;SELECT&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; RESOLVE(&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;'%warn( msg = name='&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;||name||&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;' age='&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;||PUT(age,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;2.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;)||&lt;/FONT&gt;&lt;FONT color="#800080" face="Courier New" size="3"&gt;')'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;) &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;AS&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; y&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;FROM&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; sashelp.class&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;QUIT&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Nov 2017 08:52:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-NOPRINT-and-RESOLVE-function/m-p/412812#M100982</guid>
      <dc:creator>dostiep</dc:creator>
      <dc:date>2017-11-13T08:52:40Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL NOPRINT and RESOLVE function</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-NOPRINT-and-RESOLVE-function/m-p/412813#M100983</link>
      <description>&lt;P&gt;It would probably be even faster (I cant test atm) to create a single macro variable.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;&lt;SPAN class="token procnames"&gt;proc&lt;/SPAN&gt; &lt;SPAN class="token procnames"&gt;sql&lt;/SPAN&gt; noprint&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
  &lt;SPAN class="token statement"&gt;select&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;resolve&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;'%warn( msg = n2='&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;||&lt;/SPAN&gt;NAME&lt;SPAN class="token operator"&gt;||&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;' age='&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;||&lt;/SPAN&gt;&lt;SPAN class="token keyword"&gt;put&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;(&lt;/SPAN&gt;AGE&lt;SPAN class="token punctuation"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;2&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt;&lt;SPAN class="token operator"&gt;||&lt;/SPAN&gt;&lt;SPAN class="token string"&gt;')'&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;)&lt;/SPAN&gt; as Y &lt;SPAN class="token keyword"&gt;into&lt;/SPAN&gt; :dummy &lt;SPAN class="token keyword"&gt;from&lt;/SPAN&gt; SASHELP&lt;SPAN class="token punctuation"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token statement"&gt;CLASS&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; 
&lt;SPAN class="token procnames"&gt;quit&lt;/SPAN&gt;&lt;SPAN class="token punctuation"&gt;;&lt;/SPAN&gt; &lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp; &lt;/P&gt;</description>
      <pubDate>Mon, 13 Nov 2017 09:11:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-NOPRINT-and-RESOLVE-function/m-p/412813#M100983</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-11-13T09:11:27Z</dc:date>
    </item>
  </channel>
</rss>

