So I have a data set of "bins" and quantities. There are many bins, but below should be representative enough. Two bins named "A1" and "B2", each with an initial capacity of 10 and 8 respectively. data work.foo;
infile datalines dsd delimiter=" ";
length Bin $2 A1 B2 8;
input Bin $ A1 B2;
datalines;
A1 10 8
A1 10 8
B2 10 8
B2 10 8
A1 10 8
;;;;
run; What I'd like to achieve is for each row decrement the column that is named in the "bin" variable. Obviously some if-statements would solve this trivial case, but with a large number of column names (which may change) I'd like to avoid that. I discovered that I can reference the values using something like the vvaluex function (e.g. dynamically select a column to "pull" data from) but I was wondering if there was a similar capability to write to a column specified by the value of another column (e.g. dynamically select a column to "push" data to). if vvaluex(bin) gt 0 My desired output would be something like the table below: Bin A1 B2 A1 9 8 A1 8 8 B2 8 7 B2 8 6 A1 7 6
... View more