我在 Excel 中有一个公式,我想使用 SAS EG 进行复制。对于上下文,术语为 201801 = 2018 年春季和 201870 = 2018 年秋季。CNUM(课程编号)列显示重复教授的课程,空白值表示也需要计数的教授课程,但它们为空,因为它们不是重复。
任务: 创建一个新列,将所有空白值标记为 1,将教授的第一门课程标记为 1,将考虑该术语的重复课程标记为 0。
考虑: 不同学期的 CNUM 可以是相同的值,并且数据按升序排序。
提前致谢!
数据示例:
期限 | CNUM | 渴望新变量 |
---|---|---|
201810 | 1 | |
201810 | 5P | 1 |
201810 | 5P | 0 |
201870 | 5P | 1 |
201870 | 5P | 0 |
201870 | 5X | 1 |
201910 | 5X | 1 |
201910 | 1 | |
201910 | AB | 1 |
201970 | AB | 1 |
201970 | AB | 0 |
202010 | 1 | |
202010 | XY | 1 |
202070 | XY | 1 |
202070 | XY | 0 |
202070 | XY | 0 |
在 Excel 中解决我的问题的公式: =IF(B2="",1,IF(COUNTIFS($B$2:B2,B2,$A$2:A2,A2)>1,0,1))
B2= CNUM A2 = 项
我无法使用 SAS EG 找到答案。帮助!
从您的描述中很难看出,但听起来您只是希望两个不同的测试中的任何一个为真。所以使用 OR 运算符。
data want;
set have;
by term cnum;
flag = missing(cnum) or first.cnum;
run;