楼主: priss111
2281 7

请问除nodupkeys外还有其他code?谢谢! [推广有奖]

  • 0关注
  • 5粉丝

已卖:9份资源

副教授

16%

还不是VIP/贵宾

-

威望
0
论坛币
153 个
通用积分
47.5396
学术水平
11 点
热心指数
14 点
信用等级
10 点
经验
14935 点
帖子
472
精华
0
在线时间
808 小时
注册时间
2008-3-30
最后登录
2025-3-17

楼主
priss111 发表于 2011-7-23 10:10:17 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
说明:
1、数据分析只需要年度、月份、筛查人次数合计这3个变量,
2、年度=2011、月份=2、筛查人次数合计=817的观测有4条,
3、因为筛查人次数合计数817已经包括了其他人群分类类型筛查人次数(不育129、不孕133、供精者27、其他345),
4、所以这4条观测记录我只需要保留1条记录就满足我需要的数据了
类似于这4条观测的情况还有很多。

根据说明,
请问除了用 nodupkeys这个选项外,
是否还有其他方法能够实现这个数据要求。
proc sort out=hiv nodupkeys;
by id _COL1  _COL74;
run;

*******************************************************************************************************************;
proc import datafile='D:\nodupkeys.xls' out=a dbms=excel replace; sheet='sheet1$'; getnames=yes; run;

data a;set a;
keep _COL0-_COL1 _COL74; *_col0='年度‘, _col1='月份', _col74='筛查人次数合计';
run;

proc sort data=a;
by _COL0;
run;

data hiv;
set a;
rename _COL0=id;
run;

proc sort data=hiv;
by id _COL1;
run;

proc sort out=hiv nodupkeys;
by id _COL1  _COL74;
run;
二维码

扫码加我 拉你入群

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

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

关键词:nodupkeys NODUPKEY code Keys ODE code nodupkeys

沙发
yugao1986 发表于 2011-7-23 10:50:13
你的问题和这个应该很类似:https://bbs.pinggu.org/thread-1139495-1-1.html
已有 1 人评分热心指数 收起 理由
liuzhenzhu + 2 热心帮助其他会员

总评分: 热心指数 + 2   查看全部评分

三人行必有我师

藤椅
jasonscut 在职认证  发表于 2011-7-23 11:00:09
这个没有问题.

你可以将年月合成一个变量id之后, use some code like:data ...
set ...
if first.id;
by id;
run;

大功告成!
北美统计金融博士

板凳
priss111 发表于 2011-7-23 11:02:14
2# yugao1986
great!
thanks a lot!.

  • proc sql;
  • create table hiv1 as
  • select distinct *
  • from hiv;
  • quit;

报纸
priss111 发表于 2011-7-23 11:09:37
3# jasonscut
恩,
但是实际需要区分的变量不只是年度和月份(这里是为了说明简洁),还有好几个,
这样用first.id是不是就很困难了?

实际上我倾向于用first.id(因为proc sql不会)。

地板
jasonscut 在职认证  发表于 2011-7-23 13:35:25
楼上兄弟,
不管有多少个都行, use cat() function to put them altogether as put as one variable id.

只不过用cat 的时候yong一下. trim/compress/...
不然很难看.
北美统计金融博士

7
priss111 发表于 2011-7-23 20:22:11
6# jasonscut

恩,
谢谢!



cat=catt(of x y z);

8
pobel 在职认证  发表于 2011-7-25 09:49:33
7# priss111

如果是 by id _col1 _col2 ..... _coln;

用if first._coln 应该就可以了。
和谐拯救危机

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-13 11:48