程序是这样的:
先是在oracle里面创建
create table trans_flow
(
cust_id number(6) not null,
card_num char(18),
name varchar2(10),
jiaoyie number(7,2),
jiaoyi_dt date,
jiaoyi_address varchar2(30),
jiaoyi_type char(1)
)
tablespace USERS;
1.创建ORACLE数据库中的时间翻盘表begi_end_sj。
Create table begi_end_sj
(
begi_dt date,
end_dt date
)
tablespace users;
接着用SAS
提取ORACLE数据仓库目标表trans_flow数据分析。
Libname jx oracle user=chiran password=chiran path=orcl;
proc sql noprint;
select begi_dt format 50. into :v_begidt from jx.begi_end_sj;
/*查询变量日期赋值给变量v_begidt*/
select end_dt format 50. into :v_enddt from jx.begi_end_sj;
/*查询变量日期赋值给变量v_enddt*/
quit;
data trans201207;
set jx.trans_flow;
where &v_begidt<jiaoyi_dt<&v_enddt and card_num='100000000000000008';
/*查询条件*/
run;
5. 调用过程分析。
/*调用means过程分析*/
proc means data=trans201207 ;
var jiaoyie;
run;
结果系统提示:
data trans201207;
281 set jx.trans_flow;
282 where &v_begidt < jiaoyi_dt < &v_enddt and card_num='100000000000000008';
WARNING: 没有解析符号引用 V_BEGIDT。
282 where &v_begidt < jiaoyi_dt < &v_enddt and card_num='100000000000000008';
-
180
ERROR 180-322: 语句无效或未按正确顺序使用。
WARNING: 没有解析符号引用 V_BEGIDT。
WARNING: 没有解析符号引用 V_ENDDT。
ERROR: 解析 WHERE 子句时出现语法错误。
283 run;
这个请问怎么处理呀?求大神帮帮忙。。。



雷达卡



京公网安备 11010802022788号







