请选择 进入手机版 | 继续访问电脑版
楼主: dukecd33369
1810 1

用宏insert数据部分插入不成功 [推广有奖]

  • 0关注
  • 0粉丝

高中生

45%

还不是VIP/贵宾

-

威望
0
论坛币
11 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
431 点
帖子
22
精华
0
在线时间
26 小时
注册时间
2016-7-9
最后登录
2017-4-9

dukecd33369 发表于 2016-9-11 20:15:51 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
proc sql;
create table 分配后费用汇总表
(
项目 varchar(30),
费用(万元) float format=BESTX20.2
);
quit;
%macro FPH_FY_SUM(col,flt);
proc sql;
connect to teradata(连接TD数据库);
insert into 分配后费用汇总表
select * from connection to teradata
(select &col
,sum(a.CO_Business_Expense_Y2D)/10000
from 明细表 a
inner join 维度表 b
on a.Liab_Center_Id = b.Liab_Center_Id
and a.Data_Dt = b.Data_Dt

where a.Data_Dt = '20160630'
and &flt

group by 1
);
disconnect from teradata;
quit;
%mend FPH_FY_SUM;
data _null_;
set CO_FY_SUM;
call execute('%FPH_FY_SUM('||col_name||','||flt||')');
run;

表CO_FY_SUM的数据如下:

col_name             flt                                                                                       
'营业费用'           1 = 1                                                                                      
'剔除:境外分行'     substr(b.Liab_Center_Type,2,2) = '03'                                                      
'境外分行-香港分行'  substr(b.Liab_Center_Id,1,4) = '9985'                                                      
'境外分行-香港代表处'b.Liab_Center_Id = '9901320000'                                                            
'境外分行-新加坡筹'  b.Liab_Center_Type = 'F03702'                                                              
'剔除:总行信用卡'   substr(b.Liab_Center_Id,1,4) = '9911'                                                      
'剔除:总行奖福金'   substr(b.Liab_Center_Type,2,2) = '02'                                                      
'各板块费用'         substr(b.Liab_Center_Type,2,2) not in ('02','03','')                                       
'公司管理'           substr(b.Liab_Center_Type,2,2) = '10'                                                      
'公司营销'           substr(b.Liab_Center_Type,2,2) = '11'                                                      
'零售管理'           substr(b.Liab_Center_Type,2,2) = '30'                                                      
'零售营销'           substr(b.Liab_Center_Type,2,2) = '31'                                                      
'资金管理'           substr(b.Liab_Center_Type,2,2) = '50'                                                      
'资金营销'           substr(b.Liab_Center_Type,2,2) = '51'                                                      
'其他板块'           substr(b.Liab_Center_Type,2,2) in ('62','63','64','65','72','73','74','75','76','77','79')
'各板块费用'         substr(b.Liab_Center_Type,2,2) not in ('02','03','')                                       
'总行费用'           substr(b.Liab_Center_Type,2,2) not in ('02','03','') and substr(b.Liab_Center_Type,1,1)='Z'
'分行费用'           substr(b.Liab_Center_Type,2,2) not in ('02','03','') and substr(b.Liab_Center_Type,1,1)='F'
'异地行费用'         substr(b.Liab_Center_Type,2,2) not in ('02','03','') and substr(b.Liab_Center_Type,1,1)='Y'
'支行费用'           substr(b.Liab_Center_Type,2,2) not in ('02','03','') and substr(b.Liab_Center_Type,1,1)='W'


反正就是第一个是字段名,第二个是相应的过滤条件。

最后结果,只插入了下面这些数据
境外分行-香港分行
剔除:总行奖福金
各板块费用      
公司管理         
公司营销         
零售管理         
零售营销         
资金管理         
资金营销         
其他板块         
各板块费用      
总行费用         
分行费用         
异地行费用      
支行费用         


没插入的数据报错都是提示  无效的宏参数名
二维码

扫码加我 拉你入群

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

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

关键词:insert 数据部 ert Disconnect connection insert

dukecd33369 发表于 2016-9-11 21:03:29 |显示全部楼层 |坛友微信交流群
错误的数据找出来了
下面这3条都会报错,会报等号前面的 为 无效的宏参数名
营业费用           1 = 1                          
境外分行-香港代表处b.Liab_Center_Id = '9901320000'
境外分行-新加坡筹  b.Liab_Center_Type = 'F03702'  

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-16 11:54