如果值在范围内则显示范围否则如果值小于或大于范围显示'$'

Display a range if a value is in the range else if value is less or greater than range display '$'

我有数字数据,如果数字变量值落在范围内,我想编写一个通用宏来显示范围,否则如果值小于或大于范围范围,则显示“$$$”。

您应该使用一种格式来执行此操作。阅读使用 proc format here 定义格式或查看官方文档。

格式取决于年龄是数字变量还是字符变量。我在这里假设数字,如果它是字符你需要添加一个 $。

proc format;
value age_A
0-14 = '$$$'
15-25 = '15-25'
25-high = '$$$'
;run;

如果你想在 proc print/freq 等中使用它,那么使用

proc print data = ;
var age;
format age age_a.;
run;

如果您想更改数据集中的数据,请使用 put 函数。

data ;
set;
new_var = put(age, age_a.);
run;