我正在尝试更改原始数据文件的输出.在原始数据中,数据采用以下格式:
Name Test1 Test2 Test3 Test4
xyz 45 78 88 100
avb -1 89 76 29
Run Code Online (Sandbox Code Playgroud)
但我想将数据结构更改为以下格式:
Name Score
xyz 45
xyz 78
xyz 88
xyz 100
xyz 89 (skip -1 because it's less than 0)
Run Code Online (Sandbox Code Playgroud)
我试图使用数组和输出语句,但有麻烦.这是我的代码:
Data Stats;
set Record;
Array Test(*) Test1 - Test 6;
do i = 1 to 6;
if Test(i) gt -1 then output;
end;
run;
Run Code Online (Sandbox Code Playgroud)
您缺少的是将值移动到单个列中.现在你得到了正确的行数,但你没有得到单列.
Data Stats;
set Record;
Array Test(*) Test1 - Test 6;
do i = 1 to 6;
if Test(i) gt -1 then do;
score=test(i); *save value onto Score variable;
output;
end;
end;
keep score name; *only keep the two variables you want;
run;
Run Code Online (Sandbox Code Playgroud)