按度量值过滤

时间:2012-05-07 17:24:12

标签: ssas mdx

是否可以按度量值进行过滤?在我的场景中,我需要通过[Measures]来限制Widget的数量。[返回的Widget计数]是1或0,仅限于Measure = 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]

甚至没有应用滤镜功能。

如果度量值是特定值,我怎样才能将人口减少到?

1 个答案:

答案 0 :(得分:2)

我认为Filter工作正常。问题可能在于层次结构的内容(?)[Dim Widget]。[序列号] - 如果你有一个[All]成员,那么下面的过滤器也会选择它:

过滤([Dim Widget]。[序列号]。成员,[测量]。[返回的小工具数] .Value> 0)

意味着子选择什么都不做。写作怎么样:

过滤器([Dim Widget]。[序列号]。成员,[测量]。[返回的小工具数] .Value = 1)