SAS编程数据挖掘学习与帮助文档-5..docxVIP

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SAS编程数据挖掘学习与帮助文档-5.

《SAS编程与数据挖掘商业案例》学习笔记之十七 (2013-08-09 21:29:50) HYPERLINK javascript:; 转载▼ 标签: HYPERLINK /?c=blogq=sasby=tag \t _blank sas HYPERLINK /?c=blogq=%CA%FD%BE%DD%CD%DA%BE%F2by=tag \t _blank 数据挖掘 HYPERLINK /?c=blogq=sqlby=tag \t _blank sql HYPERLINK /?c=blogq=sas%B1%E0%B3%CCby=tag \t _blank sas编程 HYPERLINK /?c=blogq=join%D3%EF%BE%E4by=tag \t _blank join语句 分类: HYPERLINK /s/articlelist_2282988462_7_1.html \t _blank SAS编程 继续读书笔记,本次重点sas sql语句,由于sql内容多且复杂,本文只介绍商业应用中常用的并且容易出错的地方,内容包括:单表操作、多表关联、子查询以及merge和join的区别 1.单表操作 eg1: Proc sql outobs=10; *可选项,功能类似于data步中的obs数据集选项 create table class as Select name, case when sex eq M then 1 when sex eq F then 2 else 3 end as sex_tran label=sextrans, *输出数据集中作为sex_trans的中文标签 sum((weight-20)) as new1 format=16.2, *sas查询特有的形式 sum((height-10)) as new2 format=16.2, (calculated new1 - calculated new2) as new, *calculated是sas在sql中特有的语句,用于对产生的新变量再操作 From sashelp.class(where=(height between 50 and 70)) Group by name,calculated sex_tran; eg2: proc sql; create table test1 as select id, max (txn_seq) as txn_seq, sum (amount) as sum_amt from chap11.having1 group by id having calculated sum_amt ge 70 ; quit; 注:having语句出现在group by后面,如果没哟group by语句,系统默认having语句和where语句效果相同 proc sql; create table test2 as select id, txn_seq, amount from chap11.having1 group by id having txn_seq= max (txn_seq) ; quit; 注:having语句和group by语句同时出现时,select后面不一定需要汇总函数如sum等,上例中,按照每一个id取最大的txn_seq proc sql; create table test3 as select id, txn_seq, amount from chap11.having2 group by id having txn_seq = max (txn_seq) ; quit; having语句和max或min结合使用时,一定要注意having后面的变量在每一个id中的唯一性。 2.多表关联 左联接在join变量是一对一的情况下,如果where在表的外面,则where条件是先关联表,后筛选数据,如果where在表中,则是先筛选数据后关联表,and也是先筛选数据后关联表;因而表内写where和表外写and是完全一样的。以下程序,2和3完全一样,但是1和后面两个不一样 eg: proc sql; create table leftjoin1 as select case when b.rmb_id eq . then a.id else b.rmb_id end as all_rmb, a.id, b.rmb_id, b.usd_id from chap11.left_join_1 as a left join chap11.left_join_2 as b on a.id=b.usd_id where rmb_id le 4 ; quit; proc sql; create ta

文档评论(0)

kaiss + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档