标题: SAS宏在临床试验中应用-返回数据集的观测个数 [打印本页] 作者: shiyiming 时间: 2005-9-7 15:55 标题: SAS宏在临床试验中应用-返回数据集的观测个数 [code:b1f31]
*----------------------------------------------*
returns the number of observations in a dataset
*----------------------------------------------* ;
%macro obscnt (data) /des='returns number obs from a SAS dataset' ;
%local data data_id rc ;
%if &data = %str() %then %let data = %data(&syslast) ;
%let data_id = %sysfunc(open(&data)) ;
%if &data_id %then %do ;
%sysfunc(attrn(&data_id, nobs))
%end ;
%else %do ;
%put WARNING: Open for dataset %data(&data) failed ;
%put WARNING: Macro OBSCNT will return the number of observations as missing. ;
%put %sysfunc(sysmsg()) ;
.
%end ;
%let rc = %sysfunc(close(&data_id)) ;
%mend obscnt ;
data test ;
var='1' ;
run ;
%put NOTE: The number of observations in WORK.TEST is %obscnt(test) ;
%put NOTE: The number of observations in sashelp.class is %obscnt(sashelp.class) ;[/code:b1f31]作者: shiyiming 时间: 2005-9-14 15:09 标题: 还可以用SQL语句啊 proc sql noprint;
select count(*)
into: [i:4bb58]dataset_obs[/i:4bb58]
from [i:4bb58]DS_NAME[/i:4bb58];
quit; <!-- s:) --><img src="{SMILIES_PATH}/icon_smile.gif" alt=":)" title="Smile" /><!-- s:) -->作者: shiyiming 时间: 2006-12-28 11:09 标题: to collen 为什么要这么麻烦呢?