【问题标题】:MDX Query: Trying to bring back calculated yearsMDX 查询:试图恢复计算的年份
【发布时间】:2014-05-21 15:57:23
【问题描述】:

我有一份报告,目前适用于硬编码年份,我试图让它们更具动态性,以显示当前年份和上一年的回报,以避免每年都需要更新。这是在 SQL 中做的一件简单的事情,但我在 MDX 中很难弄清楚这一点,我仍在学习。有问题的行是 [Date].[Year].&[2013]:[Date].[Year].&[2014]。这是我当前的查询:

SELECT  {   
        [Measures].[Users],
        [Measures].[Sessions]
    } ON COLUMNS,
    (   
        {[User Type].[Description].&[Customer], [User Type].[Description].&[Vendor]},
        [Date].[Year Month].[Year Month],
        [Date].[Month Name].[Month Name],
        [Date].[Year].&[2013]:[Date].[Year].&[2014]
    ) ON ROWS
FROM    [My Cube]

感谢您的帮助。

【问题讨论】:

    标签: sql-server reporting-services ssas mdx


    【解决方案1】:

    您不能在元组中使用范围。您首先需要创建一个成员。

    把这个放在 SELECT 子句之前:

    WITH Member [Date].[Periods] as Aggregate( [Date].[Year].&[2013]:[Date].[Year].&[2014])
    

    然后将元组中的范围替换为[Date].[Periods]

    【讨论】:

    • 首先,感谢您的回复。我尝试将其添加到您提到的代码中,但是我现在收到此错误:“查询 (1, 6) 'Date' 维度包含多个层次结构,因此必须明确指定层次结构。”我不太确定我需要在这里做什么来解决这个问题。
    • 您需要在计算成员的定义中指定其中一个层次结构。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    相关资源
    最近更新 更多