各位达人们,这里请教你们一个关于计算公式根据成员会有变更的问题.
财务科目维(父子): [F_Subj].[Subj] (640301是6403下级)
地区维度:[Area].[Area]
产品维度:[Product].[Product]
时间维度:[date].[date]
事实表与四个维表关联,一个度量值 value
财务指标公式: (A-B*m)/n m,n为系数 (为给定值,无数据来源)
[Result]=
( ([F_Subj].[Subj].&[6403],[Measures].[VALUE]) - ([F_Subj].[Subj].&[640301],[Measures].[VALUE])*1.12 )/0.12
在某几个地区成员中,公式的系数有变化
[Result]=
( ([F_Subj].[Subj].&[6403],[Measures].[VALUE]) - ([F_Subj].[Subj].&[640301],[Measures].[VALUE])*1.11 )/0.11
MDX语句为: 只查看产品维上的结果.
select
[Result]
on 0 ,
[Product].[Product]
on 1
from [cube]
where [date].[date]
在计算成员中使用 case iif 等逻辑判断是无效的,因为[area]维度没有出现在MDX语句中,拿不到当前成员.
我用scope ([area],[result]) 定义作用域,貌似对计算成员不起作用.
VALUE值是不能用定义作用域去做更改的,因为其他计算成员会用到 .&[6403]的原始值.
求解.
------解决方案--------------------
帮顶
“在计算成员中使用 case iif 等逻辑判断是无效的,因为[area]维度没有出现在MDX语句中,拿不到当前成员.”
顺便问一句,既然拿不到当前成员,怎么知道该用哪个系数?