Sql server MDX查询:尝试返回计算的年份

Sql server MDX查询:尝试返回计算的年份,sql-server,reporting-services,ssas,mdx,Sql Server,Reporting Services,Ssas,Mdx,我有一份报告,目前可以很好地处理硬编码年份,我正在尝试使它们更具动态性,以便显示当前年份和上一年度的回报,以避免每年更新。这在SQL中是一件简单的事情,但在MDX中我很难弄清楚这一点,我还在学习。所讨论的行是[日期].[年度]和[2013年]:[日期].[年度]和[2014年]。以下是我当前的查询: SELECT { [Measures].[Users], [Measures].[Sessions] } ON COLUMNS, (

我有一份报告,目前可以很好地处理硬编码年份,我正在尝试使它们更具动态性,以便显示当前年份和上一年度的回报,以避免每年更新。这在SQL中是一件简单的事情,但在MDX中我很难弄清楚这一点,我还在学习。所讨论的行是[日期].[年度]和[2013年]:[日期].[年度]和[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]

谢谢您的帮助。

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

将其置于SELECT子句之前:

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

然后首先用
[Date].[Periods]

替换元组中的范围,谢谢您的回复。正如您所提到的,我尝试将其添加到代码中,但是现在我遇到了这个错误:“查询(1,6)‘Date’维度包含多个层次结构,因此必须显式指定层次结构。”我不太确定我需要在这里做什么来解决这个问题。您需要在计算成员的定义中指定一个层次结构。