我想要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:
SELECT IIF(ISEMPTY({[Dimension].[Application].[ApplicationDateID]}), 0, 1) ON 1
FROM [DWH OLAP]
WHERE StrToMember("[Calendar].[CalendarYear].&[("+Format(now(),'yyyy')+")]";
会引发解析器错误。
查询(3,76)解析器:&#39 ;;'的语法是不正确的。 (选择 IIF(ISEMPTY({[Dimension]。[Application]。[ApplicationDateID]}),0,1)ON 1 FROM [DWH OLAP] WHERE StrToMember(" [日历] [CalendarYear]&安培; [(" +格式(现在(),' YYYY&#39)+&#34)]&#34 ;;
我想将该列用作Power BI报告的过滤器标志。 欢迎使用MDX。
答案 0 :(得分:0)
您始终需要使用0维启动MDX脚本 - 否则它不是有效的MDX。这应该是有效的:
SELECT
IIF(ISEMPTY({[Dimension].[Application].[ApplicationDateID]}), 0, 1) ON 0 //<<<< 0
FROM [DWH OLAP]
WHERE
StrToMember("[Calendar].[CalendarYear].&[("+Format(now(),'yyyy')+")]"; //<<experiment with or without the semi-colon it is good practise to include but not mandatory