SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1047|回复: 2
打印 上一主题 下一主题

SAS宏在临床试验中应用-返回数据集的观测个数

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2005-9-7 15:55:08 | 只看该作者

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]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2005-9-14 15:09:19 | 只看该作者

还可以用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:) -->
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2006-12-28 11:09:29 | 只看该作者

to collen

为什么要这么麻烦呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-11 11:04 , Processed in 0.069080 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表