<?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: Exclude a view if it will return zero observations in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Exclude-a-view-if-it-will-return-zero-observations/m-p/38655#M7793</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;One way is to try to pull a record from the view.&amp;nbsp; This is done easily with PROC SQL.&lt;/P&gt;&lt;P&gt;Here is a macro that will make a list of all of the good views in a library and put them into a macro variable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro goodviews(libref=work,mvar=goodviews);&lt;/P&gt;&lt;P&gt;%if not %symexist(&amp;amp;mvar) %then %do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %global &amp;amp;mvar;&lt;/P&gt;&lt;P&gt;%end;&lt;/P&gt;&lt;P&gt;%let &amp;amp;mvar=;&lt;/P&gt;&lt;P&gt;%local i nviews view views flag;&lt;/P&gt;&lt;P&gt;proc sql noprint ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; select catx('.',libname,memname) &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; into :views separated by ' '&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from dictionary.members&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; where libname="%upcase(&amp;amp;libref)"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and memtype='VIEW'&lt;/P&gt;&lt;P&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;%let nviews=&amp;amp;sqlobs;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%do i=1 %to &amp;amp;nviews;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %let view=%scan(&amp;amp;views,&amp;amp;i,%str( ));&lt;/P&gt;&lt;P&gt;&amp;nbsp; select 1 into :flag from &amp;amp;view;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %if &amp;amp;sqlobs %then %let &amp;amp;mvar=&amp;amp;&amp;amp;&amp;amp;mvar &amp;amp;view;&lt;/P&gt;&lt;P&gt;%end;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;%mend;&lt;/P&gt;&lt;P&gt;%goodviews;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 01 Nov 2011 13:42:10 GMT</pubDate>
    <dc:creator>Tom</dc:creator>
    <dc:date>2011-11-01T13:42:10Z</dc:date>
    <item>
      <title>Exclude a view if it will return zero observations</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Exclude-a-view-if-it-will-return-zero-observations/m-p/38652#M7790</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10pt;"&gt;So I've found a million ways to return the number of observations in a data set but a view seems to be understandably harder.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10pt;"&gt;I have a library full of views and I need to merge them but some of the views don't return anything so it gums up my merge.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10pt;"&gt;So far, I found out how to only pull the views that exist in the library. &lt;STRONG&gt;How do I exclude the ones that will return nothing?&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;Proc&lt;/STRONG&gt; &lt;STRONG style="color: navy; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;SQL&lt;/STRONG&gt; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;noprint&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;Select&lt;/SPAN&gt; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: purple; font-size: 10pt;"&gt;'temp.'&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; || memname &lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;as&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; ViewName &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;into&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; :ViewNames separated &lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;by&lt;/SPAN&gt; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: purple; font-size: 10pt;"&gt;' '&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;From&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; DICTIONARY.VIEWS&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;Where&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; UPCASE(LIBNAME)=&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: purple; font-size: 10pt;"&gt;'TEMP'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;and&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; UPCASE(MEMTYPE)=&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: purple; font-size: 10pt;"&gt;'VIEW'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;quit&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;data&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; Combined;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;set&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; &amp;amp;ViewNames;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks as always!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 31 Oct 2011 17:25:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Exclude-a-view-if-it-will-return-zero-observations/m-p/38652#M7790</guid>
      <dc:creator>Mishka1</dc:creator>
      <dc:date>2011-10-31T17:25:05Z</dc:date>
    </item>
    <item>
      <title>Exclude a view if it will return zero observations</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Exclude-a-view-if-it-will-return-zero-observations/m-p/38653#M7791</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here is a paper that shows a couple of methods for determining the number of records in a view: &lt;A href="http://www2.sas.com/proceedings/sugi26/p095-26.pdf"&gt;http://www2.sas.com/proceedings/sugi26/p095-26.pdf&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 31 Oct 2011 17:29:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Exclude-a-view-if-it-will-return-zero-observations/m-p/38653#M7791</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-10-31T17:29:36Z</dc:date>
    </item>
    <item>
      <title>Exclude a view if it will return zero observations</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Exclude-a-view-if-it-will-return-zero-observations/m-p/38654#M7792</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Art. I've put a solid 8 hours into trying to solve this with your help so far and still no luck. I'm sure the answer is in the macro MTANYOBS in the paper you suggest but I can't figure out how to get it to run each view in my library.&lt;/P&gt;&lt;P&gt;Can I put an array into the macro somehow so it will loop through all of the views in the library? Or am I thinking of this backwards and should I put the macro into a do loop?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've tried disecting the macro into just the piece I think I'd need which seems to be the &lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;let&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; DSID = &lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;%sysfunc&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;(open(&amp;amp;ViewNames, IS));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;if&lt;/SPAN&gt; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;%sysfunc&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;(fetch(&amp;amp;DSID)) = &lt;/SPAN&gt;&lt;STRONG style="color: teal; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;0&lt;/STRONG&gt; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;%then&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;let&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; hasobs = 1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;end&lt;/SPAN&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but once again, I can't get a data set created with the memnames and indicator of observations.&lt;/P&gt;&lt;P&gt;If you can spare some more time I'd appreciate it.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Nov 2011 12:42:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Exclude-a-view-if-it-will-return-zero-observations/m-p/38654#M7792</guid>
      <dc:creator>Mishka1</dc:creator>
      <dc:date>2011-11-01T12:42:07Z</dc:date>
    </item>
    <item>
      <title>Re: Exclude a view if it will return zero observations</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Exclude-a-view-if-it-will-return-zero-observations/m-p/38655#M7793</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;One way is to try to pull a record from the view.&amp;nbsp; This is done easily with PROC SQL.&lt;/P&gt;&lt;P&gt;Here is a macro that will make a list of all of the good views in a library and put them into a macro variable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro goodviews(libref=work,mvar=goodviews);&lt;/P&gt;&lt;P&gt;%if not %symexist(&amp;amp;mvar) %then %do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %global &amp;amp;mvar;&lt;/P&gt;&lt;P&gt;%end;&lt;/P&gt;&lt;P&gt;%let &amp;amp;mvar=;&lt;/P&gt;&lt;P&gt;%local i nviews view views flag;&lt;/P&gt;&lt;P&gt;proc sql noprint ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; select catx('.',libname,memname) &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; into :views separated by ' '&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; from dictionary.members&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; where libname="%upcase(&amp;amp;libref)"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and memtype='VIEW'&lt;/P&gt;&lt;P&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;%let nviews=&amp;amp;sqlobs;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%do i=1 %to &amp;amp;nviews;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %let view=%scan(&amp;amp;views,&amp;amp;i,%str( ));&lt;/P&gt;&lt;P&gt;&amp;nbsp; select 1 into :flag from &amp;amp;view;&lt;/P&gt;&lt;P&gt;&amp;nbsp; %if &amp;amp;sqlobs %then %let &amp;amp;mvar=&amp;amp;&amp;amp;&amp;amp;mvar &amp;amp;view;&lt;/P&gt;&lt;P&gt;%end;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;%mend;&lt;/P&gt;&lt;P&gt;%goodviews;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Nov 2011 13:42:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Exclude-a-view-if-it-will-return-zero-observations/m-p/38655#M7793</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2011-11-01T13:42:10Z</dc:date>
    </item>
    <item>
      <title>Exclude a view if it will return zero observations</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Exclude-a-view-if-it-will-return-zero-observations/m-p/38656#M7794</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What is "gummed up"?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I ran&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New;"&gt;&lt;SPAN style="color: #000080;"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt; sumpim / &lt;SPAN style="color: #0000ff;"&gt;view&lt;/SPAN&gt;=sumpim ;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New;"&gt;key = &lt;SPAN style="color: #800080;"&gt;'a'&lt;/SPAN&gt; ; satellite_1 = &lt;SPAN style="color: #008080;"&gt;&lt;STRONG&gt;11&lt;/STRONG&gt;&lt;/SPAN&gt; ; &lt;SPAN style="color: #0000ff;"&gt;output&lt;/SPAN&gt; ;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New;"&gt;key = &lt;SPAN style="color: #800080;"&gt;'b'&lt;/SPAN&gt; ; satellite_1 = &lt;SPAN style="color: #008080;"&gt;&lt;STRONG&gt;12&lt;/STRONG&gt;&lt;/SPAN&gt; ; &lt;SPAN style="color: #0000ff;"&gt;output&lt;/SPAN&gt; ;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New; color: #000080;"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;SPAN style="color: #000000;"&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New;"&gt;&lt;SPAN style="color: #000080;"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt; nuttin / &lt;SPAN style="color: #0000ff;"&gt;view&lt;/SPAN&gt;=nuttin ;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New;"&gt;key = &lt;SPAN style="color: #800080;"&gt;'c'&lt;/SPAN&gt; ; satellite_2 = &lt;SPAN style="color: #008080;"&gt;&lt;STRONG&gt;21&lt;/STRONG&gt;&lt;/SPAN&gt; ; &lt;SPAN style="color: #0000ff;"&gt;stop&lt;/SPAN&gt; ;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New; color: #000080;"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;SPAN style="color: #000000;"&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New;"&gt;&lt;SPAN style="color: #000080;"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt; merged ;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New;"&gt;&lt;SPAN style="color: #0000ff;"&gt;merge&lt;/SPAN&gt; sumpim nuttin ;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New;"&gt;&lt;SPAN style="color: #0000ff;"&gt;by&lt;/SPAN&gt; key ;&lt;/P&gt;&lt;P style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Courier New; color: #000080;"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;SPAN style="color: #000000;"&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and found that it prodeced a sensible result.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is true that there can be satellite variables which are always missing (like SATELLITE_2 in this example), but it may be easier to allow those to accrue and clean them up after the merges are performed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote"&gt;&lt;P&gt;Mishka1 wrote:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10pt;"&gt;So I've found a million ways to return the number of observations in a data set but a view seems to be understandably harder.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&lt;SPAN style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10pt;"&gt; &lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10pt;"&gt;I have a library full of views and I need to merge them but some of the views don't return anything so it gums up my merge.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&lt;SPAN style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10pt;"&gt; &lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10pt;"&gt;So far, I found out how to only pull the views that exist in the library. &lt;STRONG&gt;How do I exclude the ones that will return nothing?&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&lt;SPAN style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10pt;"&gt; &lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;Proc&lt;/STRONG&gt; &lt;STRONG style="color: navy; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;SQL&lt;/STRONG&gt; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;noprint&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;Select&lt;/SPAN&gt; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: purple; font-size: 10pt;"&gt;'temp.'&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; || memname &lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;as&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; ViewName &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;into&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; :ViewNames separated &lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;by&lt;/SPAN&gt; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: purple; font-size: 10pt;"&gt;' '&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;From&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; DICTIONARY.VIEWS&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;Where&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; UPCASE(LIBNAME)=&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: purple; font-size: 10pt;"&gt;'TEMP'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;and&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; UPCASE(MEMTYPE)=&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: purple; font-size: 10pt;"&gt;'VIEW'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;quit&lt;/STRONG&gt;;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&lt;SPAN style="font-family: 'Arial','sans-serif'; color: #333333; font-size: 10pt;"&gt; &lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;data&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; Combined;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 10pt;"&gt;set&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: black; font-size: 10pt;"&gt; &amp;amp;ViewNames;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 10pt; background-color: white; font-family: 'Courier New';"&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks as always!&lt;/P&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Nov 2011 13:46:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Exclude-a-view-if-it-will-return-zero-observations/m-p/38656#M7794</guid>
      <dc:creator>Howles</dc:creator>
      <dc:date>2011-11-01T13:46:19Z</dc:date>
    </item>
    <item>
      <title>Re: Exclude a view if it will return zero observations</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Exclude-a-view-if-it-will-return-zero-observations/m-p/38657#M7795</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You are asking the wrong question.&amp;nbsp; You don't need to know how many obs.&amp;nbsp; You just need to know if there are none.&amp;nbsp; Just check for EOF.&amp;nbsp; Modify this code to process all the views and you are good.&amp;nbsp; You will want some from of CODE GEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="plain" __jive_macro_name="code" class="jive_text_macro jive_macro_code"&gt;&lt;P&gt;data class / view=class;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set sashelp.class;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; where age gt 17;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;data shoes / view=shoes;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set sashelp.shoes;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; where 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if eof1 then put 'NO OBS in data set 1';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if eof2 then put 'NO OBS in data set 2';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; stop;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set class(drop=_all_) end=eof1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set shoes(drop=_all_) end=eof2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; run; &lt;/P&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Nov 2011 13:50:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Exclude-a-view-if-it-will-return-zero-observations/m-p/38657#M7795</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2011-11-01T13:50:11Z</dc:date>
    </item>
    <item>
      <title>Exclude a view if it will return zero observations</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Exclude-a-view-if-it-will-return-zero-observations/m-p/38658#M7796</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; a big pointer to your answer was posted by data_null;. &lt;/P&gt;&lt;P&gt;Your questions included&lt;/P&gt;&lt;PRE __jive_macro_name="quote" class="jive_text_macro jive_macro_quote"&gt;Can I put an array into the macro somehow so it will loop through all of the views in the library?&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;that can be solved with a loop over those views, fetching first row from each.&lt;/P&gt;&lt;P&gt;You should be aware that even just the first row might need a lot of procesing to create.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Beware that a data step view will fill at least the first "page" of data which will be more than one row. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It was handy to use the loop also to describe these views.&lt;/P&gt;&lt;P&gt;First some demo views . &lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 9pt; background-color: white; font-family: 'Courier New';"&gt;data&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; vEmpty /&lt;SPAN style="color: blue;"&gt;view&lt;/SPAN&gt;= vEmpty ; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 9pt;"&gt;stop&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 9pt;"&gt;set&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; sashelp.class ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 9pt; background-color: white; font-family: 'Courier New';"&gt;run&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 9pt; background-color: white; font-family: 'Courier New';"&gt;data&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; vSome /&lt;SPAN style="color: blue;"&gt;view&lt;/SPAN&gt;= vSome ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; color: blue; font-size: 9pt;"&gt;set&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; sashelp.class( obs= &lt;STRONG style="color: teal;"&gt;2&lt;/STRONG&gt; ) ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 9pt; background-color: white; font-family: 'Courier New';"&gt;run&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 9pt; background-color: white; font-family: 'Courier New';"&gt;proc&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; &lt;STRONG style="color: navy;"&gt;sql&lt;/STRONG&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; &lt;SPAN style="color: blue;"&gt;create&lt;/SPAN&gt; &lt;SPAN style="color: blue;"&gt;view&lt;/SPAN&gt; Vsql1 &lt;SPAN style="color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN style="color: blue;"&gt;select&lt;/SPAN&gt; * &lt;SPAN style="color: blue;"&gt;from&lt;/SPAN&gt; sashelp.class( obs= &lt;STRONG style="color: teal;"&gt;2&lt;/STRONG&gt; );&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; &lt;SPAN style="color: blue;"&gt;create&lt;/SPAN&gt; &lt;SPAN style="color: blue;"&gt;view&lt;/SPAN&gt; Vsql0 &lt;SPAN style="color: blue;"&gt;as&lt;/SPAN&gt; &lt;SPAN style="color: blue;"&gt;select&lt;/SPAN&gt; * &lt;SPAN style="color: blue;"&gt;from&lt;/SPAN&gt; sashelp.class( obs= &lt;STRONG style="color: teal;"&gt;0&lt;/STRONG&gt; );&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 9pt; background-color: white; font-family: 'Courier New';"&gt;quit&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 9pt; background-color: white; font-family: 'Courier New';"&gt;data&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; view_has_obs ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; &lt;SPAN style="color: blue;"&gt;set&lt;/SPAN&gt; sashelp.vview( &lt;SPAN style="color: blue;"&gt;where&lt;/SPAN&gt;=( libname ne &lt;SPAN style="color: purple;"&gt;'SASHELP'&lt;/SPAN&gt; )) ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; &lt;SPAN style="color: blue;"&gt;if&lt;/SPAN&gt; engine = &lt;SPAN style="color: purple;"&gt;'SASDSV'&lt;/SPAN&gt; &lt;SPAN style="color: blue;"&gt;then&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: blue;"&gt;call&lt;/SPAN&gt; execute( cats( &lt;SPAN style="color: purple;"&gt;'data view= '&lt;/SPAN&gt;, libname, &lt;SPAN style="color: purple;"&gt;'.'&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt;, memname, &lt;SPAN style="color: purple;"&gt;'; describe ; run ;'&lt;/SPAN&gt; ));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; &lt;SPAN style="color: blue;"&gt;else&lt;/SPAN&gt; &lt;SPAN style="color: blue;"&gt;call&lt;/SPAN&gt; execute( &lt;SPAN style="color: purple;"&gt;'proc sql; describe view '&lt;/SPAN&gt;!!&lt;/SPAN&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; cats( libname, &lt;SPAN style="color: purple;"&gt;'.'&lt;/SPAN&gt;, memname,&lt;SPAN style="color: purple;"&gt;'; quit;'&lt;/SPAN&gt; ));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; Vid = open( cats( libname, &lt;SPAN style="color: purple;"&gt;'.'&lt;/SPAN&gt;, memname), &lt;SPAN style="color: purple;"&gt;'is'&lt;/SPAN&gt;&amp;nbsp; ) ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; &lt;SPAN style="color: blue;"&gt;if&lt;/SPAN&gt; not VID &lt;SPAN style="color: blue;"&gt;then&lt;/SPAN&gt; &lt;SPAN style="color: blue;"&gt;do&lt;/SPAN&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: blue;"&gt;putlog&lt;/SPAN&gt; &lt;SPAN style="color: purple;"&gt;'VIEW_TROUBLE: '&lt;/SPAN&gt; (_all_)(=) ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; _error_=&lt;STRONG style="color: teal;"&gt;0&lt;/STRONG&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; has_obs = &lt;STRONG style="color: teal;"&gt;.&lt;/STRONG&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; &lt;SPAN style="color: blue;"&gt;end&lt;/SPAN&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; &lt;SPAN style="color: blue;"&gt;else&lt;/SPAN&gt; &lt;SPAN style="color: blue;"&gt;do&lt;/SPAN&gt;&amp;nbsp; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; has_obs = ( not fetch( Vid ) ) ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; rc = close( Vid ) ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; &lt;SPAN style="color: blue;"&gt;end&lt;/SPAN&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; &lt;SPAN style="color: blue;"&gt;keep&lt;/SPAN&gt; libname memname engine has_obs ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 9pt; background-color: white; font-family: 'Courier New';"&gt;run&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 9pt; background-color: white; font-family: 'Courier New';"&gt;proc&lt;/STRONG&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt; &lt;STRONG style="color: navy;"&gt;print&lt;/STRONG&gt; &lt;SPAN style="color: blue;"&gt;label&lt;/SPAN&gt; &lt;SPAN style="color: blue;"&gt;data&lt;/SPAN&gt;= view_has_obs ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: blue;"&gt;id&lt;/SPAN&gt; libname memname ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: blue;"&gt;var&lt;/SPAN&gt; has_obs engine ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: blue;"&gt;title&lt;/SPAN&gt; &lt;SPAN style="color: blue;"&gt;j&lt;/SPAN&gt;=&lt;SPAN style="color: blue;"&gt;l&lt;/SPAN&gt; &lt;SPAN style="color: purple;"&gt;'peterC view info'&lt;/SPAN&gt; &lt;SPAN style="color: blue;"&gt;j&lt;/SPAN&gt;=&lt;SPAN style="color: blue;"&gt;c&lt;/SPAN&gt; &lt;SPAN style="color: purple;"&gt;'HAS-(any)-OBS'&lt;/SPAN&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: blue;"&gt;footnote&lt;/SPAN&gt; &lt;SPAN style="color: blue;"&gt;j&lt;/SPAN&gt;=r &lt;SPAN style="color: purple;"&gt;"run %sysfunc(datetime(),twmdy) by &amp;amp;sysuserID"&lt;/SPAN&gt; ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: white; font-family: 'Courier New'; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: blue;"&gt;option&lt;/SPAN&gt; &lt;SPAN style="color: blue;"&gt;nodate&lt;/SPAN&gt; &lt;SPAN style="color: blue;"&gt;nonumber&lt;/SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 9pt; background-color: white; font-family: 'Courier New';"&gt;run&lt;/STRONG&gt; ;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Nov 2011 13:25:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Exclude-a-view-if-it-will-return-zero-observations/m-p/38658#M7796</guid>
      <dc:creator>Peter_C</dc:creator>
      <dc:date>2011-11-04T13:25:10Z</dc:date>
    </item>
  </channel>
</rss>

