1
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
4

1 回答 1

2

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

于 2013-10-28T16:14:44.993 回答