2012-05-07 121 views
3

是否可以使用度量值进行过滤?在我的方案,我需要限制由[措施] Widget的人口[返回窗口小部件计数]这是一个1或0,只有在测量= 1。例如像这样:按度量值过滤

Select { 
      (
      [Dim Widget].[Build Site].[The Moon], 
      [Dim Date].[Build Day].[2012-04-24], 
      [Measures].[Widget Count] 
      ), 
      (
      [Dim Widget].[Build Site].[The Moon], 
      [Dim Date].[Build Day].[2012-04-24], 
      [Measures].[Returned Widget Count] 
      ) 
      } on 0 
    from (
      Select [Dim Widget].[Build Site] on 0 
      From [Widgetizer] 
      Where Filter(
        [Dim Widget].[Serial Number].Members, 
        [Measures].[Returned Widget Count].Value > 0 
        ) 
      ) 

的查询执行,但它不是过滤我的人口。我知道这一点,因为它返回的结果如下:

Select { 
      (
      [Dim Widget].[Build Site].[The Moon], 
      [Dim Date].[Build Day].[2012-04-24], 
      [Measures].[Widget Count] 
      ), 
      (
      [Dim Widget].[Build Site].[The Moon], 
      [Dim Date].[Build Day].[2012-04-24], 
      [Measures].[Returned Widget Count] 
      ) 
      } on 0 
    from [Widgetizer] 

哪里还没有应用Filter函数。

如何将人口减少到只有衡量是特定值的地方?

回答

2

我认为Filter工作正常。问题可能出在层次结构的内容(?)[Dim Widget]。[序列号] - 如果您有[全部]成员,则以下过滤器也将选择它:

过滤器([ Dim Widget]。[Serial Number] .Members,[Measures]。[Returned Widget Count] .Value> 0)

这意味着子选择无作为。如何写:

Filter([Dim Widget]。[Serial Number] .Members,[Measures]。[Returned Widget Count] .Value = 1)