Sas 跨数据集使用变量

Sas 跨数据集使用变量,sas,Sas,假设我在SAS中有以下数据集: DATA example_1; INFILE 'data.csv' dsd; INPUT name $ test1-test5; ARRAY test{5} test1-test5; ARRAY maximum{5} _TEMPORARY_ (50, 75, 50, 100, 75); RUN; PROC PRINT DATA=example_1; RUN; 我想创建另一个数据集,它使用测试数组和最大值数组来计算每次测试的分数 DATA

假设我在SAS中有以下数据集:

DATA example_1;
   INFILE 'data.csv' dsd;
   INPUT name $ test1-test5;
   ARRAY test{5} test1-test5;
   ARRAY maximum{5} _TEMPORARY_ (50, 75, 50, 100, 75);
RUN;
PROC PRINT DATA=example_1;
RUN;
我想创建另一个数据集,它使用
测试
数组和
最大值
数组来计算每次测试的分数

DATA example_2;
   SET example_1;
   ARRAY percent{5}; /* This can originally be all 0s it doesn't really matter */
   DO i = 1 TO 5;
       percent{i} = (test{i} / maximum{i}) * 100;
   END;
   DROP i;
RUN;
PROC PRINT DATA=example_2;
RUN;
如何使用示例_1中的这两个数组?我现在使用
设置示例1
的方式不起作用


谢谢

数组不是作为数据集的一部分存储的,只是变量。因此,当您在第二个数据步骤中引用
test{i}
时,它不存在。(变量test1-test5存在,但不在数组中。)

只需添加相同的行

ARRAY test{5} test1-test5;
ARRAY maximum{5} _TEMPORARY_ (50, 75, 50, 100, 75);
到第二个数据步骤,它应该可以工作