全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
900 6
2023-05-09
描述一下我的问题。我有两个表:A和B,A包含x列,B包含y列。现将表A和表B按on条件左连接,on条件中多次包含关于x列和y列的表达式f(x,y)。请问,在proc SQL中,如何对该表达式起别名,用于多次调用时不重复去定义该表达式?目的一是想让代码简洁,二是减少重复计算耗费的时间。
二维码

扫码加我 拉你入群

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

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

全部回复
2023-5-11 09:44:13
二维码

扫码加我 拉你入群

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

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

2023-5-15 09:10:37
顶起来!
二维码

扫码加我 拉你入群

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

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

2023-5-18 16:28:57
wtst 发表于 2023-5-11 09:44
应该是 calculated
详见https://support.sas.com/documentation/cdl/en/proc/61895/HTML/default/viewer. ...
这个可能不对,因为calculated在SAShelp里面说只能用于where.:
CALCULATED enables you to use the results of an expression in the same SELECT clause                     or in the [url=]WHERE clause[/url]. It is valid only when used to refer to columns that are calculated in the immediate                      [url=]query expression[/url].

对于on是没用的。用SASHELP.class举个例子,以下代码就会报错。
复制代码



二维码

扫码加我 拉你入群

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

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

2023-5-29 16:22:30
on连接后用where对数据集进行筛选,可以用a.xxx,b.xxx,或者新生成的变量进行判断
复制代码


二维码

扫码加我 拉你入群

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

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

2023-5-30 14:44:14
jg.sas 发表于 2023-5-29 16:22
on连接后用where对数据集进行筛选,可以用a.xxx,b.xxx,或者新生成的变量进行判断
这样是不是只会保留符合where条件的结果。但是left join  on  会保留第一个数据集的所有结果。
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群