我有2张桌子。首先是原始的,包含row_number和几个字段。
row_num col1 col2 1 a b 2 c d 3 e f
第二个表是来自第一个表的输出,显示错误类型,col_name和行号:
m_id字段row_num m1 col1 1 m1 col1 3 m2 col2 2
我的任务是将表1中每个字段的值连接到第二个表,具体取决于row_num和column,应该像smth一样:
m_id字段row_num值 m1 col1 1 a m1 col1 3 e m2 col2 2 d
我尝试使用varios transposes,比如使用by和id参数,但我知道使用宏会更容易。
proc sort data=a1;
by row_num;
run;
proc transpose data=a1 out=a2;
by row_num;
var m_id;
run;
答案 0 :(得分:1)
您可以合并(已排序)集合并使用VVALUEX()以编程方式按名称获取变量的(字符)值。
类似的东西:
data combined;
merge first second;
by row_num;
value = vvaluex(field);
keep m_id field row_num value;
run;
这假设row_num在第一组中是唯一的。