3184 8

输出SAS中某数据集的数据的个数 [推广有奖]

  • 8关注
  • 2粉丝

讲师

33%

还不是VIP/贵宾

-

威望
0
论坛币
310 个
通用积分
0
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
15111 点
帖子
218
精华
0
在线时间
379 小时
注册时间
2012-10-31
最后登录
2020-8-31

楼主
慧(会)幸福 发表于 2013-12-6 09:21:13 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我现在有200个数据集,需要输出 每个数据集中的数据的个数n1,。。。n200,然后求出最大的那个max(n1, n2,。。。, n200),怎么做呢?多谢各位了

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:数据集 max 怎么做 最大的 最大的

沙发
luling2010 发表于 2013-12-6 09:29:37
个人思路:楼主可以用proc sql count(*) 来计算每个数据集的记录条数,然后复制给宏变量,在将其放入指定的数据集中,应该就可以了。

藤椅
heperwong 在职认证  发表于 2013-12-6 09:36:46
  1. libname a "your_file_path";
  2. proc sql;
  3.   create table out as
  4.   select memname,nobs,max(nobs) as max
  5.   from dictionary.tables
  6.   where libname = "A";
  7.   quit;
复制代码

板凳
慧(会)幸福 发表于 2013-12-6 09:50:01
heperwong 发表于 2013-12-6 09:36
好麻烦, 没有一个函数直接算出数据集中数据的个数吗

报纸
heperwong 在职认证  发表于 2013-12-6 10:09:40
慧(会)幸福 发表于 2013-12-6 09:50
好麻烦, 没有一个函数直接算出数据集中数据的个数吗
这种方法是一次性算出你200个数据集每个数据集的个数,并找出最大值,其结果在data out中。

地板
慧(会)幸福 发表于 2013-12-6 10:12:47
heperwong 发表于 2013-12-6 09:36
out里面是缺失值

7
慧(会)幸福 发表于 2013-12-6 10:13:53
heperwong 发表于 2013-12-6 10:09
这种方法是一次性算出你200个数据集每个数据集的个数,并找出最大值,其结果在data out中。
  这是我的程序,麻烦了                                                                                                                                      
%macro import(num); /*定义宏程序,宏变量为num*/                                                                                         
%do i = 1 %to #                                                                                                                    
    data Resdat&i;    /*调用i*/                                                                                                         
     infile   "C:\Users\lgf\Desktop\spc\data\&i..txt";                                                                                                
    input y x1-x6;  /*赋变量名*/                                                                                                        
   run;                                                                                                                                 
   quit;                                                                                                                                
   %end;                                                                                                                                
%mend import;                                                                                                                           
                                                                                                                                       
%import(6);  /*调用宏程序import 并赋值给num*/                                                                                          
                                                                                                                                       
  proc sql;
  create table out as
  select memname,nobs,max(nobs) as max
  from dictionary.tables
  where libname = "A";
  quit;

8
heperwong 在职认证  发表于 2013-12-6 10:28:06
慧(会)幸福 发表于 2013-12-6 10:13
这是我的程序,麻烦了                                                                             ...
由于你生成的sas 数据集在work里面,所以你必须吧where libname = "A";
改成where libname = "WORK";

9
慧(会)幸福 发表于 2013-12-6 10:33:33
heperwong 发表于 2013-12-6 10:28
由于你生成的sas 数据集在work里面,所以你必须吧where libname = "A";
改成where libname = "WORK";
还是缺失的

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 12:22