DATA Step, Macro, Functions and more

How to view all tables and its variable names, type and length in a library?

Accepted Solution Solved
Reply
Contributor
Posts: 73
Accepted Solution

How to view all tables and its variable names, type and length in a library?

Hi Guys,

 

How to view all tables and its variable names, type and length in a library?

 

The registered library name is CDSSTG. Currently it has alot of SAS Datasets in it and each of the tables has its own Columns, type and length.

 

I tried proc contents:

 

proc contents data=CDSSTG._all_ nods; run;

I also tried proc datasets:

proc datasets lib=CDSSTG;
run;

 

But i am not getting the full columns attributes.

proc contents.PNG

Need your guidance. Also, i would like to list the full list, not just limited to 10 rows.

 


Accepted Solutions
Solution
‎06-14-2017 04:34 AM
Super User
Super User
Posts: 7,408

Re: How to view all tables and its variable names, type and length in a library?

You are mixing up usages here, clarify what you wat to do.  In the code you provide you are creating macro variables for each column.  From your original description you want dataset which holds all the metadata from that library - this already exists in the form of the SASHELP library (dictionarys is the SQL version of the same thing), so to get what you originally wanted then:

data want;
  set sashelp.vcolumn (where=(libname="CDSSTG"));
run;

This wil create a dataset want with all the column metadata.  If you can provide more clarified information as to what you want this can be adapted.  

View solution in original post


All Replies
Contributor
Posts: 73

Re: How to view all tables and its variable names, type and length in a library?

Guys, when i remove nods in proc contents, it will show the table variables(full column names, type, and length) but it is only limited to 10 tables. May i know if there is a way to show all tables instead of the first 10?
PROC Star
Posts: 1,564

Re: How to view all tables and its variable names, type and length in a library?

Contributor
Posts: 73

Re: How to view all tables and its variable names, type and length in a library?

Hey, in proc sql, when i put create table name as ( , it will show error.

my current code is :

select name,memname
INTO:Name1-:Name%left(&NObs) ,:Table
from dictionary.columns
where libname = 'CDSSTG';
quit;

i would like to put this data into a sas dataset. Is there a way?
Solution
‎06-14-2017 04:34 AM
Super User
Super User
Posts: 7,408

Re: How to view all tables and its variable names, type and length in a library?

You are mixing up usages here, clarify what you wat to do.  In the code you provide you are creating macro variables for each column.  From your original description you want dataset which holds all the metadata from that library - this already exists in the form of the SASHELP library (dictionarys is the SQL version of the same thing), so to get what you originally wanted then:

data want;
  set sashelp.vcolumn (where=(libname="CDSSTG"));
run;

This wil create a dataset want with all the column metadata.  If you can provide more clarified information as to what you want this can be adapted.  

Contributor
Posts: 73

Re: How to view all tables and its variable names, type and length in a library?

tHANKS alot. This is the code that i want. I need the data that i got from the dictionary. Now i can store it in my own dataset.
☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 5 replies
  • 176 views
  • 0 likes
  • 3 in conversation