<?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: Conditional output based on last obs in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Conditional-output-based-on-last-obs/m-p/121393#M33452</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks, &lt;A __default_attr="149594" __jive_macro_name="user" class="jive_macro jive_macro_user" data-objecttype="3" href="https://communities.sas.com/"&gt;&lt;/A&gt;. Good catch! Just Updated. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 23 Oct 2013 21:59:57 GMT</pubDate>
    <dc:creator>Haikuo</dc:creator>
    <dc:date>2013-10-23T21:59:57Z</dc:date>
    <item>
      <title>Conditional output based on last obs</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Conditional-output-based-on-last-obs/m-p/121390#M33449</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a dataset that I only want to use if the last obs of a certain variable meets a condition.&amp;nbsp; Otherwise I want to delete the data.&amp;nbsp; I tried something like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000080; font-size: 12pt; font-family: Courier New;"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; xyz;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000080; font-size: 12pt; font-family: Courier New;"&gt;set xyz end=last;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000080; font-size: 12pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if last then do;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000080; font-size: 12pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if variable = 1 then output;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000080; font-size: 12pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else delete;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000080; font-size: 12pt; font-family: Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000080; font-size: 12pt; font-family: Courier New;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000080; font-size: 10pt; font-family: arial,helvetica,sans-serif;"&gt;When I run this it works in determining if the last obs of a variable meets the condition, but it only outputs the last observation.&amp;nbsp; I want it to output the entire data set for use in other processes, is there an easy way to do this?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt; font-family: Courier New;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Oct 2013 21:09:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Conditional-output-based-on-last-obs/m-p/121390#M33449</guid>
      <dc:creator>ewhulbert</dc:creator>
      <dc:date>2013-10-23T21:09:08Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional output based on last obs</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Conditional-output-based-on-last-obs/m-p/121391#M33450</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if _n_=1 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; point=nobs;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set have nobs=nobs point=point;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if variable ne 1 then stop;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;set have;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This may not be what you want, it gives you either a complete copy of table or an empty one, but it does generate a new table one way or the other.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Update: if you need a whole table or no table (not even an empty one), Hash can do that:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;if 0 then set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp; declare hash h(dataset:'have', multidata:'y');&lt;/P&gt;&lt;P&gt;&amp;nbsp; h.definekey(all:'y');&lt;/P&gt;&lt;P&gt;&amp;nbsp; h.definedata(all:'y');&lt;/P&gt;&lt;P&gt;&amp;nbsp; h.definedone();&lt;/P&gt;&lt;P&gt;&amp;nbsp; declare hiter hi('h');&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; rc=hi.last();&lt;/P&gt;&lt;P&gt;&amp;nbsp; if variable=1 then rc=h.output(dataset:'want');&lt;/P&gt;&lt;P&gt;&amp;nbsp; stop;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: haikuo bian&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Oct 2013 21:31:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Conditional-output-based-on-last-obs/m-p/121391#M33450</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2013-10-23T21:31:12Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional output based on last obs</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Conditional-output-based-on-last-obs/m-p/121392#M33451</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm sure that &lt;A __default_attr="5068" __jive_macro_name="user" class="jive_macro jive_macro_user" data-objecttype="3" href="https://communities.sas.com/"&gt;&lt;/A&gt;, in the data step example, meant to include the file name in the first use of the set statement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, in addition to a hash, you could also use call execute if no file is wanted.&amp;nbsp; e.g.,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if _n_=1 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; point=nobs;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set sashelp.class nobs=nobs point=point;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if name ne 'Mary' then stop;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else call execute('data dontwant;set sashelp.class;run;');&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if _n_=1 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; point=nobs;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set sashelp.class nobs=nobs point=point;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if name ne 'William' then stop;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else call execute('data want;set sashelp.class;run;');&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Oct 2013 21:53:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Conditional-output-based-on-last-obs/m-p/121392#M33451</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2013-10-23T21:53:16Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional output based on last obs</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Conditional-output-based-on-last-obs/m-p/121393#M33452</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks, &lt;A __default_attr="149594" __jive_macro_name="user" class="jive_macro jive_macro_user" data-objecttype="3" href="https://communities.sas.com/"&gt;&lt;/A&gt;. Good catch! Just Updated. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Oct 2013 21:59:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Conditional-output-based-on-last-obs/m-p/121393#M33452</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2013-10-23T21:59:57Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional output based on last obs</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Conditional-output-based-on-last-obs/m-p/121394#M33453</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for all of your help.&amp;nbsp; Sorry Haikuo Bian, it only lets me give one correct answer.&amp;nbsp; I picked Arthur's because it was easier to implement in my program, but yours works well too.&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Oct 2013 15:35:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Conditional-output-based-on-last-obs/m-p/121394#M33453</guid>
      <dc:creator>ewhulbert</dc:creator>
      <dc:date>2013-10-24T15:35:13Z</dc:date>
    </item>
    <item>
      <title>Re: Conditional output based on last obs</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Conditional-output-based-on-last-obs/m-p/121395#M33454</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;No problem at all. Glad to help.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Oct 2013 15:49:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Conditional-output-based-on-last-obs/m-p/121395#M33454</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2013-10-24T15:49:34Z</dc:date>
    </item>
  </channel>
</rss>

