【发布时间】:2022-01-14 23:57:13
【问题描述】:
我想复制和修改表中的特定行。
之前:
xyz_id | letter | Col_1 | ...|
1 | Z | V1 | ... |
2 | Z | V2 | ... |
3 | Z | V3 | ... |
之后:
xyz_id | letter | Col_1 | ...|
1 | A | V1.1 | ... |
1 | B | V1.2 | ... |
1 | C | V1.3 | ... |
2 | A | V2.1 | ... |
2 | B | V2.2 | ... |
2 | C | V2.3 | ... |
3 | A | V3.1 | ... |
3 | B | V3.2 | ... |
3 | C | V3.3 | ... |
我已经准备了以下代码:
data test2;
set test;
array letters {3} $3 _temporary_ ('A', 'B', 'C');
array weights {3} _temporary_ (1,2,3);
/* if xyz_id = '1' */
/* then array weights {3} _temporary_ (1,2,3);*/
/* else if xyz_id = '2'*/
/* then array weights {3} _temporary_ (8,7,6);*/
/* else array weights {3} _temporary_ (1,1,1)*/
do i = 1 to 8;
letter = letters(i);
Col_A = Col_A * weights(i);
output;
end;
drop i;
run;
现在,我正在尝试使 weights 依赖于 letter 列(注释代码) - 但没有任何成功。我也试过了:
array weights_1 {3} _temporary_ (1,2,3);
if xyz_id = '1'
then weights = weights_1;
但效果不佳。
有什么建议吗?
【问题讨论】:
标签: sas