全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
13057 4
2015-06-23
单独一个表中coalesce是可以对缺失值进行填充的,但在多表查询对照时,对coalesce的使用不太明白,请大家能解释下下面这段代码中coalesce的作用什么嘛?

proc sql outobs=10;
title 'Populations and/or Coordinates of World Cities';
select coalesce(Capital, City,Name)format=$20. 'City',
coalesce(Name, Country) format=$20. 'Country',
Population, Latitude, Longitude
from sql.countries full join sql.worldcitycoords
on Capital = City and
Name = Country;

二维码

扫码加我 拉你入群

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

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

全部回复
2015-6-23 18:52:36
name age    mingzi salary
a        1       a           10
b        2       b           11
c        3       d            12

name,age,mingzi,salary
普通full join
on name=mingzi;
结果如下:

name  age  mingzi  salary
a         1         a       10
b         2         b        11
c          3                   .
           .         d        12
;;;

如果改成coalesce(name, mingzi) as newname , age ,salary
结果如下:

newname age salary
a             1     10
b             2     11
c             3       .
d             .      12


coalesce就是在full join后把两个column合并成一个  合并的column必须是同样的data type
二维码

扫码加我 拉你入群

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

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

2015-7-2 12:05:35
sas那个石家庄人 发表于 2015-6-23 18:52
name age    mingzi salary
a        1       a           10
b        2       b           11
coalesce不是替换空值的作用么?
二维码

扫码加我 拉你入群

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

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

2015-7-2 15:53:20
coalesce是取出该函数参数系中,第一个不为缺失的值。

coalesce(., ., 7, ., 5, 4)  ==> 7
二维码

扫码加我 拉你入群

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

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

2015-7-9 14:09:25
Tigflanker 发表于 2015-7-2 15:53
coalesce是取出该函数参数系中,第一个不为缺失的值。

coalesce(., ., 7, ., 5, 4)  ==> 7
恩,明白了,谢谢!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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