MDX查询中度量的总和

时间:2014-04-07 13:55:14

标签: group-by sum subquery mdx

如果有人能帮我解决以下问题,我将不胜感激:

WITH MEMBER [Measures].[WGAlert] AS iif([Measures].[AFR]>[Measures]. [Nonconformance_GPT],1,0) 
SELECT {[Measures].[AFR],[Measures].[Nonconformance_GPT], [Measures].[WGAlert]}
ON COLUMNS, 
[dim_ProductModel].[PLA].children*[dim_ProductModel].[Warranty Group].children 
ON ROWS FROM[cub_dashboard_spares] WHERE ([dim_Date].[Date Full].&[2013-05-01])

这是一个非常简单的查询,我在其中创建一个成员WGAlert,如果保修组的Target小于AFR,则可以获得1,否则为0。

现在,我需要“分组”这些结果,以便我只看到PLA,而不是保修组。但是,如果我从查询中删除[Warranty Grop] .children部分,那么我只能获得1级和0级的PLA级别而不是Warranty Group。 (每个工作组只能属于一个PLA)

有人可以帮助我,如何通过此查询重写/分组?

非常感谢,

彼得

1 个答案:

答案 0 :(得分:0)

不确定是否理解这个问题,但是如果从SELECT中删除WG,那么您将看到每个PLA子节点和WG默认成员的WGAlert。如果这不是你想要的,你想看到什么?

[编辑彼得评论]你可能会尝试这个计算。措施:

with member [alerts] as
  count( 
    filter( 
      [dim_ProductModel].[PLA].currentMember * [dim_ProductModel].[Warranty Group].children,
      [Measures].[AFR] > [Measures]. [Nonconformance_GPT]
    )
  )