3

是否可以按度量值进行过滤?在我的场景中,我需要通过 [Measures].[Returned Widget Count] (即 1 或 0)将 Widget 数量限制为仅在 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]

甚至还没有应用过滤器功能的地方。

我如何才能将人口减少到仅在度量是特定值的情况下?

4

1 回答 1

2

我认为过滤器工作正常。问题可能出在层次结构的内容 (?) [Dim Widget].[Serial Number] - 如果您有 [All] 成员,那么以下过滤器也会选择它:

Filter( [Dim Widget].[Serial Number].Members, [Measures].[Returned Widget Count].Value > 0 )

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

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

于 2012-05-08T02:29:44.727 回答