【问题标题】:Trying to get the unique values of subjects in PROC SQL试图在 PROC SQL 中获取主题的唯一值
【发布时间】:2013-10-28 14:23:08
【问题描述】:
Proc SQL NOPRINT;    
        Create Table DSDD as    
        Select DISTINCT (USUBJID),PRIMARY,ARM,ARMN,APTS,DSCOMP_F,APRS,FAS    
            From DERIVED.DSDD    
                Where UPCASE(APTS)="Y";    
Quit   

我想要 USUBJID 的独特值。但是当我运行上面的代码时,我得到 512 观察结果。当我使用下面的代码时,我得到了 490 的计数。我正在考虑 USUBJID 的独特价值,对吗?需要做什么才能获得 490 个独特的观察结果。

Proc SQL NOPRINT;    
        Create Table DSDD as    
        Select COUNT(DISTINCT (USUBJID)) as     COUNT,PRIMARY,ARM,ARMN,APTS,DSCOMP_F,APRS,FAS    
            From DERIVED.DSDD    
                Where UPCASE(APTS)="Y";    
Quit

【问题讨论】:

    标签: sas proc-sql


    【解决方案1】:

    DISTINCT 适用于整行,而不是单个变量。您可以使用 group by 要求它为您提供按 USUBJID 分组的行,但您需要告诉它如何处理各种行 - 使用 MAX()MIN()SUM() 之类的东西进行分组那些变量;您不能有任何不在 group by 语句中的汇总函数中的变量,否则您将无法获得所需的结果。

    【讨论】:

      猜你喜欢
      • 2022-07-21
      • 1970-01-01
      • 2012-10-20
      • 1970-01-01
      • 2021-04-25
      • 1970-01-01
      • 2018-11-08
      • 1970-01-01
      • 2014-04-15
      相关资源
      最近更新 更多