2012-05-07 51 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)