【问题标题】:MDX filter problemMDX过滤器问题
【发布时间】:2010-09-20 22:55:28
【问题描述】:

我对整个 MDX 事情还很陌生,但以下内容让我很生气。我正在使用的FILTER 声明正在表现……奇怪。代码示例,后跟描述:

SELECT
    {
        FILTER(
            MEMBERS([Time].[5-4-4 Week Year]),
            [Measures].[Ship Gross Units] > 0
        )
    }
    ON COLUMNS,
    {
        FILTER(
            MEMBERS([Group].[Alternate Hierarchies]),
            [Measures].[Ship Gross Units] > 0
        )
    }
    ON ROWS
FROM SBD.SBD
WHERE
    (
        [FiscalYear].[FY09],
        [Scenario].[Actuals Total],
        [Measures].[Ship Gross Units],
        [Channel].[FOS]
    )

我正在尝试按财政年度的每周提取特定销售渠道的总单位数(有些列被稍微混淆了)。由于我经常需要在 SKU 级别分解这些过滤器,因此所有这些过滤器都已到位,而且在我的机器上处理截断的数据集更简单(我说让数据库来完成工作!)。

问题是,这个查询返回 FOS 渠道的 0 销售额。这看起来很奇怪,所以我删除了行过滤器:

SELECT
    {
        FILTER(
            MEMBERS([Time].[5-4-4 Week Year]),
            [Measures].[Ship Gross Units] > 0
        )
    }
    ON COLUMNS,
    MEMBERS([Group].[Alternate Hierarchies])
    ON ROWS
FROM SBD.SBD
WHERE
    (
        [FiscalYear].[FY09],
        [Scenario].[Actuals Total],
        [Measures].[Ship Gross Units],
        [Channel].[FOS]
    )

突然之间,FOS 渠道中出现了销售。这让我大吃一惊;以前,我假设我正在过滤以仅接收显示销售的行,但我没有得到。现在我正在显示所有内容,并且有销售行。用 Perl 或其他什么解决这个问题很容易,但我宁愿“正确”解决它。

我可以肯定我只是误解了一些琐碎的细节,但我已经厌倦了用头撞桌子。

谢谢!

【问题讨论】:

    标签: filter mdx hyperion essbase


    【解决方案1】:

    我通常使用 Microsoft Analysis Services,但 MDX 通常与 Essbase 中使用的非常相似。

    轴将被独立评估,因此 Group 上的过滤器语句将仅查看 where 子句中的成员。那么,您的总单位是否有可能有一些负数并且在 09 财年小于或等于 0?或者您的单位数量是否足够大,以至于它们可能会溢出数据类型并环绕为负数?

    如果您只是在寻找非空单元格,一种可能的解决方法是在轴上使用 NON EMPTY 关键字。 例如。

    SELECT    
       NON EMPTY MEMBERS([Time].[5-4-4 Week Year]),
         ON COLUMNS,
       NON EMPTY  MEMBERS([Group].[Alternate Hierarchies])
         ON ROWS
    FROM SBD.SBD
    WHERE
        (
            [FiscalYear].[FY09],
            [Scenario].[Actuals Total],
            [Measures].[Ship Gross Units],
            [Channel].[FOS]
        )
    

    【讨论】:

      猜你喜欢
      • 2014-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多