Help using Base SAS procedures

Using two Formats in One Variable

Accepted Solution Solved
Reply
Frequent Contributor
Posts: 144
Accepted Solution

Using two Formats in One Variable

Hi all--

I have a data set which looks like this:

KPIControlTest
Response Rate0.00370.0032
Conversion Rate0.34010.3406
Yield0.00120.0011
Online Response Rate0.00150.0012
Total Response Rate0.00510.0044
Total Yield0.00140.0012
CPR68.165.5
CPS251.69237.99

I have to have  the CPR and CPS values formatted dollar10.2  and the rest of the KPIs formatted Percent10.2. So, the data set should look like this:

KPIControlTest
Response Rate0.37%0.32%
Conversion Rate34.01%34.06%
Yield0.12%0.11%
Online Response Rate0.15%0.12%
Total Response Rate0.51%0.44%
Total Yield0.14%0.12%
CPR$68.10$65.50
CPS$251.69$237.99

Is there a way to apply two formats to one variable?

Thanks!


Accepted Solutions
Solution
‎02-25-2014 02:51 PM
Super User
Posts: 19,810

Re: Using two Formats in One Variable

You can nest the formats, if you can assume the percentages will be between 0-1 and all others will be higher.

proc format;

    value mixed_fmt

     0 -1 = [percent10.2]

     1-high = [dollar10.2];

run;

data want;

set have;

format control test mixed_fmt.;

run;

View solution in original post


All Replies
Solution
‎02-25-2014 02:51 PM
Super User
Posts: 19,810

Re: Using two Formats in One Variable

You can nest the formats, if you can assume the percentages will be between 0-1 and all others will be higher.

proc format;

    value mixed_fmt

     0 -1 = [percent10.2]

     1-high = [dollar10.2];

run;

data want;

set have;

format control test mixed_fmt.;

run;

Super User
Posts: 5,429

Re: Using two Formats in One Variable

This sounds like a reporting requirement, surely not a must for storage. If one is to store different kind of values in the same variable in permanent storage, I would have some helper variable specifying the nature of the measures.

Reezas suggestion will probably work for many situations, but results kind be weird if you have a $0 result, or want to introduce other kind of measures, like diff last month etc.

Perhaps you could accomplish this in the presentation layer instead?

Data never sleeps
🔒 This topic is solved and locked.

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

Discussion stats
  • 2 replies
  • 183 views
  • 0 likes
  • 3 in conversation