show for the same variable as numeric or date

Solved
Frequent Contributor
Posts: 127

show for the same variable as numeric or date

Dear expert,

after some checks I get a data set with the following structure:

data b;
input type: \$12. variable: \$12. variable_min;
datalines;
date begin 2000
num price 3000
date end 2500
;run;

How can I show for the same variable (variable_min) in some cases (when type='date') as date and in some cases (when type='num') as numeric?

Accepted Solutions
Solution
‎12-16-2016 03:23 AM
Super User
Posts: 9,599

Re: show for the same variable as numeric or date

Have a character variable (only character can hol any value):

```data b;
length result \$200;
input type: \$12. variable: \$12. variable_min;
select(type);
when("date") result=put(variable_min,date9.);
when("num") result=put(variable_min,best.);
otherwise;
end;
datalines;
date begin 2000
num price 3000
date end 2500
;
run;```

Then put your number data in the correct text format.

All Replies
Frequent Contributor
Posts: 127

show for the same variable some observations as numeric and some as date

Dear expert,

after some checks I get a data set with the following structure:

data b;
input type: \$12. variable: \$12. variable_min;
datalines;
date begin 2000
num price 3000
date end 2500
;run;

How can I show for the same variable (variable_min) in some cases (when type='date') as date and in some cases (when type='num') as numeric?

Super Contributor
Posts: 340

Re: show for the same variable some observations as numeric and some as date

It depends on what you mean by "show". If you mean display in the log then you can

precise the display format in the put statement :

``````data b;
input type: \$12. variable: \$12. variable_min;

if type="date" then do;
put variable_min= date6.;
end;
else do;
put variable_min;
end;

datalines;
date begin 2000
num price 3000
date end 2500
;
run;``````
Super User
Posts: 13,563

Re: show for the same variable some observations as numeric and some as date

Frequent Contributor
Posts: 127

Re: show for the same variable some observations as numeric and some as date

of course, sorry I did it by mistake.

Super User
Posts: 13,563

Re: show for the same variable as numeric or date

You would have to show the output you want for your example data? Do you want to create a new variable or are attempting to do the desired display in another procedure (unlikely to work).

Solution
‎12-16-2016 03:23 AM
Super User
Posts: 9,599

Re: show for the same variable as numeric or date

Have a character variable (only character can hol any value):

```data b;
length result \$200;
input type: \$12. variable: \$12. variable_min;
select(type);
when("date") result=put(variable_min,date9.);
when("num") result=put(variable_min,best.);
otherwise;
end;
datalines;
date begin 2000
num price 3000
date end 2500
;
run;```

Then put your number data in the correct text format.

Super User
Posts: 5,881