比如:
orderInfo表
gps sales name
0 100 admin
1 50 admin
0 100 admin
新建一个计算成员1,要求 gsp为0的销售量。
计算成员1=([Order Info].[Gps].&[0],[Measures].[Sales])
orderinfo既是事实又是维度。如果orderinfo表没有数据,那么[Order Info].[Gps]下就没有维度成员。如果有值,就像上面那样有0和1.
问题:如果gps这个维度成员没值,计算成员1为0,否则计算成员1为gps为0的销售量。
请教 如何写这个计算成员1的mdx?
谢谢!!
null 、nonempty、currentmember 都试过,计算成员1显示#value!
在orderInfo表有数据时,
([Order Info].[Gps].&[0],[Measures].[Sales])值显示正确;
在orderInfo表无数据时,
([Order Info].[Gps].&[0],[Measures].[Sales])显示#value!
orderInfo表
gps sales name
0 100 admin
1 50 admin
0 100 admin
新建一个计算成员1,要求 gsp为0的销售量。
计算成员1=([Order Info].[Gps].&[0],[Measures].[Sales])
orderinfo既是事实又是维度。如果orderinfo表没有数据,那么[Order Info].[Gps]下就没有维度成员。如果有值,就像上面那样有0和1.
问题:如果gps这个维度成员没值,计算成员1为0,否则计算成员1为gps为0的销售量。
请教 如何写这个计算成员1的mdx?
谢谢!!
null 、nonempty、currentmember 都试过,计算成员1显示#value!
在orderInfo表有数据时,
([Order Info].[Gps].&[0],[Measures].[Sales])值显示正确;
在orderInfo表无数据时,
([Order Info].[Gps].&[0],[Measures].[Sales])显示#value!
使用mdx有2种方法:
(一):
with member [measures].[rates] as
iif(
[Order Info].[Gps].&[0] is null
,0
,([Order Info].[Gps].&[0],[Measures].[Sales])
)
)
select [measures].[rates] on 0 from [Fact_OrderInfo]
(二):
with member [measures].[rates] as
(
iif(
isempty( ([Order Info].[Gps].&[0],[Measures].[Sales]) )
,0
,([Order Info].[Gps].&[0],[Measures].[Sales])
)
)
select [measures].[rates] on 0 from [Fact_OrderInfo]
为什么用mdx可以读出正确的结果,而写成计算成员放到sqlserver里面浏览 就会显示错误value呢??