我有一个在ssas表格模型中检查度量的当前月份和当前年份值,但由于类型不匹配,我无法执行此操作。为此,我创建了一个使用此dax查询的度量
:CurrMonthYear:=CONCATENATE(CONCATENATE("""",concatenate(year(now()),CONCATENATE(0,month(now())))),"""") output: "201704"
...计算当前年份和当前月份。但是,当我用这样的度量给出这个值时:
SumOfRevisedForecast:=CALCULATE(SUM(DimRevisedForecast[RevisedForecast]),DimRevisedForecast[Approved] <>"N" && DimRevisedForecast[Approved] <>blank(),'DimRevisedForecast'[CalendarYearMonth] =CurrMonthYear)
......这不起作用。虽然,给予&#34; 201704&#34;取代CurrMonthYear的作品。
有人可以帮助我吗?
提前致谢
答案 0 :(得分:3)
问题不在于CurrMonthYear度量,它与您的第二个公式有关 - CALCULATE函数不接受度量作为条件,仅接受值。这就是为什么当你放置&#34; 201704&#34;显式但在使用度量时失败。
一个常见的解决方案是将标准包装到FILTER函数中,例如:
CALCULATE(SUM(DimRevisedForecast[RevisedForecast]),
FILTER ('DimRevisedForecast',
'DimRevisedForecast'[CalendarYearMonth] = [CurrMonthYear])
这个问题的一个很好的解释是: FILTER() – When, Why, & How to Use It