<?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 Count number of observation macro won't work on huge table in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125221#M25574</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I found the following macro here : &lt;A href="http://support.sas.com/documentation/cdl/en/mcrolref/61885/HTML/default/viewer.htm#z3514sysfunc.htm" title="http://support.sas.com/documentation/cdl/en/mcrolref/61885/HTML/default/viewer.htm#z3514sysfunc.htm"&gt;SAS(R) 9.2 Macro Language: Reference&lt;/A&gt; (Example 5)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro obsnvars(ds);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %global dset nvars nobs;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %let dset=&amp;amp;ds;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %let dsid = %sysfunc(open(&amp;amp;dset));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %if &amp;amp;dsid %then&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let nobs =%sysfunc(attrn(&amp;amp;dsid,NOBS));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let nvars=%sysfunc(attrn(&amp;amp;dsid,NVARS));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let rc = %sysfunc(close(&amp;amp;dsid));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put &amp;amp;dset has &amp;amp;nvars&amp;nbsp; variable(s) and &amp;amp;nobs observation(s).;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put Open for data set &amp;amp;dset failed - %sysfunc(sysmsg());&lt;/P&gt;&lt;P&gt;%mend obsnvars;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%obsnvars(mylib.my_huge_table)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The macro works great on small datasets but for some reason I get this result :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;mylib.my_huge_table has 27&amp;nbsp; variable(s) and -1 observation(s)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyone knows how to solve this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your help and time&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 02 Jul 2013 17:25:24 GMT</pubDate>
    <dc:creator>nicnad</dc:creator>
    <dc:date>2013-07-02T17:25:24Z</dc:date>
    <item>
      <title>Count number of observation macro won't work on huge table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125221#M25574</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I found the following macro here : &lt;A href="http://support.sas.com/documentation/cdl/en/mcrolref/61885/HTML/default/viewer.htm#z3514sysfunc.htm" title="http://support.sas.com/documentation/cdl/en/mcrolref/61885/HTML/default/viewer.htm#z3514sysfunc.htm"&gt;SAS(R) 9.2 Macro Language: Reference&lt;/A&gt; (Example 5)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%macro obsnvars(ds);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %global dset nvars nobs;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %let dset=&amp;amp;ds;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %let dsid = %sysfunc(open(&amp;amp;dset));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %if &amp;amp;dsid %then&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let nobs =%sysfunc(attrn(&amp;amp;dsid,NOBS));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let nvars=%sysfunc(attrn(&amp;amp;dsid,NVARS));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %let rc = %sysfunc(close(&amp;amp;dsid));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put &amp;amp;dset has &amp;amp;nvars&amp;nbsp; variable(s) and &amp;amp;nobs observation(s).;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; %else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %put Open for data set &amp;amp;dset failed - %sysfunc(sysmsg());&lt;/P&gt;&lt;P&gt;%mend obsnvars;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;%obsnvars(mylib.my_huge_table)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The macro works great on small datasets but for some reason I get this result :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;mylib.my_huge_table has 27&amp;nbsp; variable(s) and -1 observation(s)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyone knows how to solve this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your help and time&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jul 2013 17:25:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125221#M25574</guid>
      <dc:creator>nicnad</dc:creator>
      <dc:date>2013-07-02T17:25:24Z</dc:date>
    </item>
    <item>
      <title>Re: Count number of observation macro won't work on huge table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125222#M25575</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I doubt it has anything to do with the size of table. Double check the macro and mylib.my_huge_table.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jul 2013 17:45:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125222#M25575</guid>
      <dc:creator>sandyming</dc:creator>
      <dc:date>2013-07-02T17:45:35Z</dc:date>
    </item>
    <item>
      <title>Re: Count number of observation macro won't work on huge table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125223#M25576</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When opening mylib.my_huge_table I see that there is a lot of records. Also I tried the macro on other tables and it works fine.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jul 2013 17:54:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125223#M25576</guid>
      <dc:creator>nicnad</dc:creator>
      <dc:date>2013-07-02T17:54:33Z</dc:date>
    </item>
    <item>
      <title>Re: Count number of observation macro won't work on huge table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125224#M25577</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I found this that may provide some insight: &lt;/P&gt;&lt;P&gt;&lt;A href="http://support.sas.com/kb/36/112.html" title="http://support.sas.com/kb/36/112.html"&gt;36112 - Managing large SAS® data sets that exceed the maximum number of observations&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are we talking about tables as large as those in the article?&lt;/P&gt;&lt;P&gt;EJ&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jul 2013 17:57:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125224#M25577</guid>
      <dc:creator>esjackso</dc:creator>
      <dc:date>2013-07-02T17:57:21Z</dc:date>
    </item>
    <item>
      <title>Re: Count number of observation macro won't work on huge table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125225#M25578</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Does a sql count produce results?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select count(*) as cnt&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from hugetable&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jul 2013 18:01:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125225#M25578</guid>
      <dc:creator>esjackso</dc:creator>
      <dc:date>2013-07-02T18:01:08Z</dc:date>
    </item>
    <item>
      <title>Re: Count number of observation macro won't work on huge table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125226#M25579</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi EJ&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for the reply. I tried running a simple sql count and the query is still running ( I started it 5 hours ago...)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I try this code : &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;put nobs=;&lt;/P&gt;&lt;P&gt;stop;&lt;/P&gt;&lt;P&gt;set mylib.my_huge_table nobs=nobs;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I get this result : nobs=9.0071993E15 that would mean, if I understand the result correctly, that there is 9.0071993 * 10^15 records, which means more than nine hundred million billions.... I'm not sure if that result is accurate. This is why I wanted to run the macro on this table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you please provide me with more guidance on this issue?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your help and time.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jul 2013 18:35:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125226#M25579</guid>
      <dc:creator>nicnad</dc:creator>
      <dc:date>2013-07-02T18:35:13Z</dc:date>
    </item>
    <item>
      <title>Re: Count number of observation macro won't work on huge table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125227#M25580</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;From your description, it sounds like the observation counter has overflowed and cannot accurately contain the number of observations in the SAS data set.&amp;nbsp; This limits access to sequential, prevents indexing and generally turns your data set into a giant tape file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is an option:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*IF* you are running SAS 9.3 or later, you can recreate your SAS data set using the data set option like this:&lt;/P&gt;&lt;P&gt;data newdataset(EXTENDOBSCOUNT=YES);&lt;/P&gt;&lt;P&gt;&amp;nbsp; set olddataset;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;I highly recommend using a different data set name, not reusing the original data set name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The new copy of the data set will have a different internal structure than the original, but will allow you to query the number of observations,&amp;nbsp; create indexes and access the data set randomly using POINT= option.&lt;/P&gt;&lt;P&gt;The down side is that the new data set cannot be read by SAS 9.2 or earlier releases due to the internal structure change.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 02 Jul 2013 19:07:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125227#M25580</guid>
      <dc:creator>jwsquillace</dc:creator>
      <dc:date>2013-07-02T19:07:59Z</dc:date>
    </item>
    <item>
      <title>Re: Count number of observation macro won't work on huge table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125228#M25581</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here i have one more question about the last suggestion in the above post.&lt;/P&gt;&lt;P&gt;If you get the following error in SAS Log,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"ERROR: File MYFILES.BIGFILE contains 2G -1 observations and cannot hold more because it contains an index or an Integrity Constraint that uses an index"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;then you need to set EXTENDOBSCOUNTER=YES to get rid of above error. Such an error happens when you are working with very big data sets(&lt;A class="jive-link-external-small" href="http://support.sas.com/kb/36/112.html"&gt;36112 - Managing large SAS® data sets that exceed the maximum number of observations&lt;/A&gt;). Actullay, sas documentation says, by specifying the EXTENDOBSCOUNTER= option when you create an output SAS data file, the resulting 32-bit file behaves like a 64-bit file regarding counters.&lt;/P&gt;&lt;P&gt;I have observed after setting the option "EXTENDOBSCOUNTER=YES" the performance of sas decreses i.e. SAS takes more time for the same task.&lt;/P&gt;&lt;P&gt;My question is:&amp;nbsp; does anybody know about this option and does it really effect the performance of SAS?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;ehsan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Jul 2013 15:21:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125228#M25581</guid>
      <dc:creator>ehsanmath</dc:creator>
      <dc:date>2013-07-10T15:21:44Z</dc:date>
    </item>
    <item>
      <title>Re: Count number of observation macro won't work on huge table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125229#M25582</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Does this work:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;proc sql; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;title "Number of observations in Mylib.my_huge_table"; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select nobs &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;from dictionary.tables &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;where libname="MYLIB" and MEMNAME="MY_HUGE_TABLE"; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;QUIT;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The values of the library name and member name must be in capital letters as that is they way they are stored in the dictionary tables.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Jul 2013 15:33:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125229#M25582</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2013-07-10T15:33:53Z</dc:date>
    </item>
    <item>
      <title>Re: Count number of observation macro won't work on huge table</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125230#M25583</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For this specific table, it is not working. The result is blank.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But I tried it on smaller tables and it works.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Jul 2013 17:11:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-number-of-observation-macro-won-t-work-on-huge-table/m-p/125230#M25583</guid>
      <dc:creator>nicnad</dc:creator>
      <dc:date>2013-07-10T17:11:49Z</dc:date>
    </item>
  </channel>
</rss>

