如果 SAS EG 中的其他列满足多个条件,如何创建一个标记 1 和 0 的新变量来帮助计数 distintc?

问题描述 投票:0回答:1

我在 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 找到答案。帮助!

excel sas binary dataset countif
1个回答
0
投票

从您的描述中很难看出,但听起来您只是希望两个不同的测试中的任何一个为真。所以使用 OR 运算符。

data want;
  set have;
  by term cnum;
  flag = missing(cnum) or first.cnum;
run;
© www.soinside.com 2019 - 2024. All rights reserved.