I have this syntax to achieve this result:
data have;
set want;
array xs(*) var1-var5
all = max(of xs(*));
run:var1 var2 var3 var4 var5 all
1 . . . . 1
. 3 . . . 3
. . 2 . . 2
. . . 6 . 6
. . . . 8 8
If I have data like this, where var3 is missing, will the same syntax work for this?
var1 var2 var4 var5 all
1 . . . 1
. 3 . . 3
. . 2 . 2
. 6 . . 6
. . . 8 8
data have;
set want;
all = max(of var: );
run:
data have;
set want;
all = max(of var: );
run:
Or, if your variables names don't start with "var", you could use a variable list that only relies on the variable order in the dataset. i.e.:
data want;
set have;
array xs(*) var1--var5;
all = max(of xs(*));
run;
Art, CEO, AnalystFinder.com
Yes.
But SAS will create an empty (all missing) variable named VAR3.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.