全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3212 9
2014-12-13
63题的第50个,题目如下:

The table WORK.PILOTS contains the following data:


   Id   Name     Jobcode  Salary

   ---  ------   -------  ------

   001  Albert   PT1       50000

   002  Brenda   PT1       70000

   003  Carl     PT1       60000

   004  Donna    PT2       80000

   005  Edward   PT2       90000

   006  Flora    PT3      100000


A query was constructed to display the pilot salary      

means at each level of Jobcode and the difference to     

the overall mean salary:      


Jobcode    Average  Difference

------------------------------

PT1          60000      -15000

PT2          85000       10000

PT3         100000       25000


Which select statement could NOT have   

produced this output?  



        A.

select

   Jobcode,   

   avg(Salary) as Average,      

   calculated Average - Overall as difference  

from   

   WORK.PILOTS,

   (select avg(Salary) as Overall from WORK.PILOTS)

group by jobcode

;      


     B.

select

   Jobcode,   

   avg(Salary) as Average,      

   (select avg(Salary) from WORK.PILOTS) as Overall,      

   calculated Average - Overall as Difference  

from WORK.PILOTS

group by 1   

;      


     C.

select

   Jobcode,   

   Average,   

   Average-Overall as Difference

from   

   (select Jobcode, avg(Salary) as Average     

   from WORK.PILOTS     

   group by 1),

   (select avg(Salary) as Overall

   from WORK.PILOTS)   

;      


     D.

select

   Jobcode,   

   avg(Salary) as Average,      

   calculated Average-(select avg(Salary) from WORK.PILOTS)      

      as Difference     

from WORK.PILOTS

group by 1   

;      

答案选B,有的解析是是B在Overall前加上没有加calculated,加上便能够实现desired output。所以请问各位高手,本题目怎么破?A中使用的Overall前面也没有专门加上calculated啊,但是B就得加上才能运行~欢迎讨论


二维码

扫码加我 拉你入群

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

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

全部回复
2014-12-13 10:07:04
而且有的答案说A中的Overall要先定义后使用,个人觉得SAS不存在这样的问题~
二维码

扫码加我 拉你入群

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

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

2014-12-13 10:09:29
题目的意思是哪个选项不能产生那个结果,B不能,所以选B啊 ,B中overall是一个新变量,所以引用时需要加calculated
二维码

扫码加我 拉你入群

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

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

2014-12-13 10:22:54
mingfeng07 发表于 2014-12-13 10:09
题目的意思是哪个选项不能产生那个结果,B不能,所以选B啊 ,B中overall是一个新变量,所以引用时需要加cal ...
谢谢!不过您看A中引用了Overall前面就没有专门再加上calculated啊
二维码

扫码加我 拉你入群

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

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

2014-12-13 22:41:50
sduruc 发表于 2014-12-13 10:22
谢谢!不过您看A中引用了Overall前面就没有专门再加上calculated啊
A中overall是从from数据集里选的,相当于原始变量
二维码

扫码加我 拉你入群

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

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

2014-12-14 12:00:04
mingfeng07 发表于 2014-12-13 22:41
A中overall是从from数据集里选的,相当于原始变量
不大敢苟同,您看(select avg(Salary) as Overall,其实Overall也是通过均值函数生成的,跟Average变量没有本质区别,没有calculated个人认为可能跟(select avg(Salary) as Overall的括号有关~
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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