BookmarkSubscribeRSS Feed
jdk123
Calcite | Level 5
dataset1:

2001 $500 $400 200 300
2002 $600 $300 100 200


After transpose:

dataset2:

_name_ 2001 2002

acct1 $500 $600
acct2 $400 $300
acct3 200 100
acct4 300 200


as you can see from dataset2 two different data types asscociated to the year variables.

I would like to perform some calculations for instance: acct1 $600-$500=$100;
acct3 100-200 =100. is this possible, if yes, how to handle this situation?

Thanks,
4 REPLIES 4
Cynthia_sas
Diamond | Level 26
Hi:
If you do a PROC CONTENTS on dataset2:
[pre]
proc contents data=dataset2;
run;
[/pre]

and then look at the list of variables, what is the type and format for the "year" variables???? SAS variable names cannot start with a number, they generally start with an underscore from transpose, such as _2001 and _2002. Can you paste the variable information to the forum???

cynthia
jdk123
Calcite | Level 5
the variable name is _2001 _2002
Cynthia_sas
Diamond | Level 26
and the PROC CONTENTS???
Ksharp
Super User
It is possible. $w.d is only the cloth of variable ,in sas it is numeric.
if you want different cloth for the same variable ,you can create another variable to contain the format then use function putn() or putc() to get it.

[pre]
_name_ 2001 2002 formate

acct1 $500 $600 dollar8.
acct2 $400 $300 dollar8.
acct3 200 100 8.
acct4 300 200 8.


[/pre]


Ksharp

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

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
  • 4 replies
  • 1875 views
  • 0 likes
  • 3 in conversation