SAS中文论坛

标题: 求高手相助!proc SQL相关问题 [打印本页]

作者: shiyiming    时间: 2012-4-24 16:00
标题: 求高手相助!proc SQL相关问题
向大家请教个问题,在书上看到的:其中的group by 1的作用是什么?还是说是错误的,因为编译没通过。相关代码如下:

data chapt4.retain1;
input id txn_cde$ cns txn_dte$;
cards;
10 101 10 20070101
10 101 20 20080402
10 201 30 20050203
20 101 40 20040105
20 201 50 20040105
20 301 60 20070806
20 201 70 20050607
30 301 80 20070501
30 401 90 20070306
;
run;

proc sql;
create table sum as
select
id
,sum(cns) as cns
,count(*) as count
,sum(case when txn_cde in("101" "201") then 1 else 0 end) as cnt_condi
,min(txn_dte) as min_txn_dte

from chapt4.retain1;
group by 1
;
quit;
编译时,group 处出现以下语句:ERROR 180-322: 语句无效或未按正确顺序使用。
作者: shiyiming    时间: 2012-4-24 18:11
标题: Re: 求高手相助!proc SQL相关问题
编译有错可能情况是:
1.你的chapt4库可能未定义。
2.出现[quote:1zuzvczd]ERROR 180-322: 语句无效或未按正确顺序使用[/quote:1zuzvczd]是由于group by语句前多了一个分号。请看
[quote:1zuzvczd]from chapt4.retain1[color=#FF0000:1zuzvczd];[/color:1zuzvczd]group by 1[/quote:1zuzvczd]
最后代码中group by 1=group by id。即select语句中出现的第一个变量。
作者: shiyiming    时间: 2012-4-24 18:11
标题: Re: 求高手相助!proc SQL相关问题
编译有错可能情况是:
1.你的chapt4库可能未定义。
2.出现[quote:1isi9uve]ERROR 180-322: 语句无效或未按正确顺序使用[/quote:1isi9uve]是由于group by语句前多了一个分号。请看
[quote:1isi9uve]from chapt4.retain1[color=#FF0000:1isi9uve];[/color:1isi9uve]group by 1[/quote:1isi9uve]
最后代码中group by 1=group by id。即select语句中出现的第一个变量。
作者: shiyiming    时间: 2012-4-24 19:47
标题: Re: 求高手相助!proc SQL相关问题
由于group by 前面有个“;”号
作者: shiyiming    时间: 2012-4-24 19:57
标题: Re: 求高手相助!proc SQL相关问题
非常感谢!编译通过! <!-- s:D --><img src="{SMILIES_PATH}/icon_biggrin.gif" alt=":D" title="Very Happy" /><!-- s:D -->




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2