Dee*_*shu 4 sql-server ssas dax ssas-tabular
我必须检查 ssas 表格模型中度量的当前月份和当前年份值,但由于类型不匹配,我无法执行此操作。为此,我创建了一个度量,其中我使用了这个 dax 查询
:CurrMonthYear:=CONCATENATE(CONCATENATE("""",concatenate(year(now()),CONCATENATE(0,month(now())))),"""") output: "201704"
Run Code Online (Sandbox Code Playgroud)
...计算当前年份和当前月份。但是当我以这样的方式给出这个值时:
SumOfRevisedForecast:=CALCULATE(SUM(DimRevisedForecast[RevisedForecast]),DimRevisedForecast[Approved] <>"N" && DimRevisedForecast[Approved] <>blank(),'DimRevisedForecast'[CalendarYearMonth] =CurrMonthYear)
Run Code Online (Sandbox Code Playgroud)
...这不起作用。尽管如此,用“201704”代替 CurrMonthYear 是有效的。
有人可以帮我吗?
提前致谢
RAD*_*ADO 12
问题不在于 CurrMonthYear 度量,而在于您的第二个公式 - CALCULATE 函数不接受度量作为标准,只接受值。这就是为什么当您明确输入“201704”时它有效但在使用该度量时失败的原因。
一个常见的解决方案是将标准包装到 FILTER 函数中,例如:
CALCULATE(SUM(DimRevisedForecast[RevisedForecast]),
FILTER ('DimRevisedForecast',
'DimRevisedForecast'[CalendarYearMonth] = [CurrMonthYear])
Run Code Online (Sandbox Code Playgroud)
这个问题的一个很好的解释在这里: FILTER() – 何时、为什么和如何使用它
| 归档时间: |
|
| 查看次数: |
10319 次 |
| 最近记录: |