如何在MDX查询中选择当前年份?

时间:2018-01-15 20:03:59

标签: sql sql-server ssas mdx olap

我想要MDX:

-- T-SQL

SELECT
IIF(cal.CalendarYear = YEAR(GETDATE()), 1, 0) AS ComputedColumn
FROM dim.Application app
JOIN dim.Calendar cal ON cal.DateID = app.ApplicationDateID

我已经尝试过在当年选择MDX ApplicationDateID:

SELECT {[Measures].[Application].[ApplicationDateID]}
FROM [DWH OLAP]
WHERE [Calendar].[CalendarYear].&[StrToMember("+Format(now(), “yyyy”)+”)]

会引发解析器错误。

  

Parser:由于含糊不清,语句方言无法解决。

我错过了什么?

1 个答案:

答案 0 :(得分:1)

您需要在会员的完整地址周围使用StrToMember功能:

SELECT 
  [Measures].[Application].[ApplicationDateID] ON 1
FROM [DWH OLAP]
WHERE 
  StrToMember("[Calendar].[CalendarYear].&[(" + Format(now(), 'yyyy') + ")]";

PS

这真的是你立方体中的一个衡量指标吗?! " [处理方法] [应用] [ApplicationDateID]&#34。; .....创建度量的标准方法是单级层次结构