zoukankan      html  css  js  c++  java
  • 判断维度成员是否为空的mdx

     
    比如:
    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呢??

  • 相关阅读:
    [原]zoj3772--【水题】线段树区间查询+矩阵乘法
    站立会议报告(5)
    团队博客(8)
    站立会议报告(4)
    团队博客(7)
    站立会议报告(3)
    团队博客(6)
    站立会议报告(2)
    团队博客(5)
    团队博客(4)
  • 原文地址:https://www.cnblogs.com/emmy/p/2341849.html
Copyright © 2011-2022 走看看