SAS计数阵列
假设我有一个数据“test1”,上面有一个变量“student\u name”和英语分数。我需要从这个数据集中得到“英语”得分超过50分的学生人数。也有类似的例子 测试2、测试3、测试4等数据集也有变量“student_name”。我想从这些数据集中获得得分超过50的学生的计数,以了解趋势。 我无法使用数组,因为我使用了SQL语句。有更好的方法吗?这是我的密码SAS计数阵列,sas,Sas,假设我有一个数据“test1”,上面有一个变量“student\u name”和英语分数。我需要从这个数据集中得到“英语”得分超过50分的学生人数。也有类似的例子 测试2、测试3、测试4等数据集也有变量“student_name”。我想从这些数据集中获得得分超过50的学生的计数,以了解趋势。 我无法使用数组,因为我使用了SQL语句。有更好的方法吗?这是我的密码 data Sample1; set test1; run; PROC SQL; CREATE T
data Sample1;
set test1;
run;
PROC SQL;
CREATE TABLE Work.Student AS
SELECT distinct s1.student_name,
FROM Work.sample1 s1
WHERE s1.English_score > 50;
QUIT;
您可以通过删除数据步骤来优化代码,该数据步骤除了将test1重写为sample1之外,什么都不做。 您可以简单地查询test1表 使用SQL:
PROC SQL;
CREATE TABLE Work.Student AS
SELECT distinct s1.student_name,
FROM Work.test1 s1
WHERE s1.English_score > 50;
QUIT;
或使用数据步骤:
data work.student;
set work.test1(where=(english_score gt 50));
run;
做一个测试,看看哪个更快