☑ This topic is solved.
Need further help from the community? Please
sign in and ask a new question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Posted 12-06-2022 02:51 PM
(2800 views)
PROC CONTENTS has an OUT= option to ouput a dataset with variable attributes. type=1 is numeric and type=2 is character. how to make it show as Num or Char instead of 1 or 2 in vars dataset?
proc contents data=sashelp.class out=vars;
run;
proc print data=vars noobs;
var varnum name type length;
run;
1 ACCEPTED SOLUTION
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Define a format.
proc format;
value type 1='num' 2='char';
run;
proc print data=vars noobs;
var varnum name type length format label;
format type type.;
run;
2 REPLIES 2
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hi @magicdj Switch to using Dictionary tables-
proc sql;
create table vars_new as
select *
from dictionary.columns
where libname = 'SASHELP' and memname = 'CLASS' ;
quit ;
Library Name | Member Name | Member Type | Column Name | Column Type | Column Length | Column Position | Column Number in Table |
Column Label | Column Format | Column Informat | Column Index Type | Order in Key Sequence |
Extended Type | Not NULL? | Precision | Scale | Transcoded? |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SASHELP | CLASS | DATA | Name | char | 8 | 24 | 1 | 0 | char | no | 0 | . | yes | ||||
SASHELP | CLASS | DATA | Sex | char | 1 | 32 | 2 | 0 | char | no | 0 | . | yes | ||||
SASHELP | CLASS | DATA | Age | num | 8 | 0 | 3 | 0 | num | no | 0 | . | yes | ||||
SASHELP | CLASS | DATA | Height | num | 8 | 8 | 4 | 0 | num | no | 0 | . | yes | ||||
SASHELP | CLASS | DATA | Weight | num | 8 | 16 | 5 | 0 | num | no | 0 | . | yes |
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Define a format.
proc format;
value type 1='num' 2='char';
run;
proc print data=vars noobs;
var varnum name type length format label;
format type type.;
run;