oracle model 使用变量,model使用报错,求解决

select * from ( Select b.Dt,a.Org_cid org_pid,decode(a.Desc_Id,'3732','373200',a.Desc_Id)Desc_Id,a.Cur_Num,to_number('')Daqian_Num,

to_number('')Before_Num, to_number('')Last_Year

From dc_data_radix a,

(Select Distinct To_Date(a.Year || '-' || Month * 3 || '-' || '15',

'yyyy-mm-dd') Dt

From Dc_Tab_Year a

Where a.Month < 5

And a.year<=extract(Year From Sysdate)) b

Where a.Desc_Id='3732' And a.ids_type='bus34')

Model

Return All Rows

Partition By (Dt,org_pid)

Dimension By (Desc_Id)

Measures (cur_num,daqian_Num,before_Num,Last_Year)

Rules Upsert (

cur_num['35610']=cur_num[Desc_Id='3561']*0.9714/10000,

cur_num['35620']=cur_num[Desc_Id='3562']*1.229/10000,

cur_num['35630']=cur_num[Desc_Id='3563']*1.4286/10000,

cur_num['35640']=cur_num[Desc_Id='3564']*1.4714/10000,

cur_num['35650']=cur_num[Desc_Id='3565']*1.4714/10000,

cur_num['35660']=cur_num[Desc_Id='3566']*1.4571/10000,

cur_num['35670']=cur_num[Desc_Id='3567']*1.4286/10000,

cur_num['35680']=cur_num[Desc_Id='3568']*13.3/10000,

cur_num['35690']=cur_num[Desc_Id='3569']*0.0341/10000,

cur_num['35700']=cur_num[Desc_Id='3570']/10000,

cur_num['3558']=Sum(cur_num)[Desc_Id in('3560','35610','35620','35630','35640','35650','35660','35670','35680','35690','35700')],

cur_num['3559']=Sum(cur_num)[Desc_Id in('3560','35610','35620','35630','35640','35650','35660','35670','35680','35690','35700')],

--cur_num['1111']=round(cur_num['3558'],4)*10000/decode(cur_num['3333'],0,Null,cur_num['3333']),

--cur_num['2222']=round(cur_num['3558'],4)*10000/decode(cur_num['4444'],0,Null,cur_num['4444']),

--cur_num['3730']=nvl(cur_num['1111'],0)+nvl(cur_num['2222'],0),

cur_num['3731']=nvl(cur_num['3333'],0)+nvl(cur_num['4444'],0),

cur_num['3730']=round(cur_num['3558'],4)*10000/decode(cur_num['3731'],0,Null,cur_num['3731']),

cur_num['3575']=round(cur_num['3558'],4)*10000/decode(cur_num['3576'],0,Null,cur_num['3576']),

cur_num['356000']=cur_num[Desc_Id='3560']*2.46,

cur_num['356100']=cur_num[Desc_Id='3561']*2.69/10000,

cur_num['356200']=cur_num[Desc_Id='3562']*7.85/10000,

cur_num['356300']=cur_num[Desc_Id='3563']*2.76*0.81/10000,

cur_num['356400']=cur_num[Desc_Id='3564']*2.26*0.725/10000,

cur_num['356500']=cur_num[Desc_Id='3565']*2.56*0.8/10000,

cur_num['356600']=cur_num[Desc_Id='3566']*2.73*0.83/10000,

cur_num['356700']=cur_num[Desc_Id='3567']*2.27/10000,

cur_num['356800']=cur_num[Desc_Id='3568']*2.09/10000,

cur_num['356900']=cur_num[Desc_Id='3569']*2.46*0.0341/10000,

cur_num['357000']=cur_num[Desc_Id='3570']*2.46/10000,

cur_num['3581']=Sum(cur_num)[Desc_Id in('356000','356100','356200','356300','356400','356500','356600','356700','356800','356900','357000')]*10000,

-- cur_num['8888']=cur_num[Desc_Id='4444']/decode(cur_num[Desc_Id='3655'],0,Null,cur_num[Desc_Id='3655'])/decode(Last_Year[Desc_Id='3655'],0,Null,Last_Year[Desc_Id='3655'])/decode(before_Num[Desc_Id='3655'],0,Null,before_Num[Desc_Id='3655'])/decode(daqian_Num[Desc_Id='3655'],0,Null,daqian_Num[Desc_Id='3655']),

-- cur_num['5555']=round(cur_num['3558'],4)*10000/round(decode(cur_num['8888'],0,Null,cur_num['8888']),4),

--cur_num['7777']=cur_num[Desc_Id='3333']/decode(cur_num[Desc_Id='3655'],0,Null,cur_num[Desc_Id='3655'])/decode(Last_Year[Desc_Id='3655'],0,Null,Last_Year[Desc_Id='3655'])/decode(before_Num[Desc_Id='3655'],0,Null,before_Num[Desc_Id='3655'])/decode(daqian_Num[Desc_Id='3655'],0,Null,daqian_Num[Desc_Id='3655']),

-- cur_num['6666']=round(cur_num['3558'],4)*10000/round(decode(cur_num['7777'],0,Null,cur_num['7777']),4),

-- cur_num['3732']=nvl(cur_num['5555'],0)+nvl(cur_num['6666'],0),

--cur_num['3733']=nvl(cur_num['7777'],0)+nvl(cur_num['8888'],0),

cur_num['3733']=cur_num[Desc_Id='3731']/decode(cur_num[Desc_Id='3655'],0,Null,cur_num[Desc_Id='3655'])/decode(Last_Year[Desc_Id='3655'],0,Null,Last_Year[Desc_Id='3655'])/decode(before_Num[Desc_Id='3655'],0,Null,before_Num[Desc_Id='3655'])/decode(daqian_Num[Desc_Id='3655'],0,Null,daqian_Num[Desc_Id='3655']),

cur_num['3732']=round(cur_num['3558'],4)*10000/round(decode(cur_num['3733'],0,Null,cur_num['3733']),4),

cur_num['3578']=cur_num[Desc_Id='3576']/decode(cur_num[Desc_Id='3655'],0,Null,cur_num[Desc_Id='3655'])/decode(Last_Year[Desc_Id='3655'],0,Null,Last_Year[Desc_Id='3655'])/decode(before_Num[Desc_Id='3655'],0,Null,before_Num[Desc_Id='3655'])/decode(daqian_Num[Desc_Id='3655'],0,Null,daqian_Num[Desc_Id='3655']),

cur_num['3577']=round(cur_num['3558'],4)/round(decode(cur_num['3578'],0,Null,cur_num['3578']),4),

cur_num['3582']=round(cur_num['35820'],4)/round(decode(cur_num['3560000'],0,Null,cur_num['3560000']),4)*round(cur_num['3560'],4),

cur_num['3748']=(nvl(round(cur_num[Desc_Id='3732'],4),0)-nvl(round(cur_num[Desc_Id='373200'],4),0))*round(cur_num[Desc_Id='3733'],4)

)

提示model维中的非唯一寻址,不知道问题出在哪里,请大神指教!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值