BookmarkSubscribeRSS Feed
Tom
Super User Tom
Super User

To get the number of observations in multiple tables just use PROC CONTENTS or DICTIONARY.TABLES.

proc sql noprint ;

  create table counts as

     select memname,nlobs

     from dictionary.tables

     where libname = 'NACO'

        and upcase(memname) like 'NACO_%'

     order by 1

;

quit;

1 REPLY 1
Aljay
Calcite | Level 5

I am trying to get record count form updated datasets using naming convention financial_account_YYYYMM that range from 201212 back to 200706. The datasets are stored in the following path: '/sas/data/dds_test/

The below code is not working for me and I am new to do loops> any help would be appreciated...

LIBNAME DDSTEST '/sas/data/dds_test/

proc sql;
  create table rl_668_SUM
  (
    MNTH num,
    CNT num
  );
quit;

data _null_;
  do i=200706 to 201212;
    call execute('proc sql;
                              insert into  rl_668_SUM

                         set MNTH='||strip(put(i,best.))||',

                               CNT = (select count(1) from DDSTEST.Financial_account_'||strip(put(I,best.)||');

                             
                                                              quit;');
    end;
run;

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 941 views
  • 0 likes
  • 2 in conversation