我将此自定义日期作为衡量标准创建:
Start Date = DATE(YEAR(MAX(Loss[dte_month_end]))-1,12,31)
所以现在我创建了一个新列,我将查看我的数据以检查记录是否等于上面定义的“开始日期”。
IsStart = IF(Loss[dte_month_end]=[Start Date], TRUE, FALSE)
但奇怪的是所有记录都被评估为false。 我知道在我的实际数据中实际情况并非如此,我可以找到dte_month_end = 12/31/2017的实际记录,如上所示。
有人可以帮助我理解为什么IF语句无法正确评估这个问题吗?我最初认为这可能是DATETIME格式不一致的情况 - 但我故意将两种格式都改为相同而无济于事。
感谢。
Edit1 -----------仅供参考: 这是我的dte_month_end字段具有的格式:
Edit2 - 我尝试将dte_month_end格式更改为Date而不是DateTime,但它似乎仍无效:
答案 0 :(得分:1)
这种情况正在发生,因为您在计算列中使用了一个度量。执行此操作时,度量的筛选器上下文是表中的行上下文。
要解决此问题,您需要修改度量的过滤器上下文。例如:
Start Date = DATE(YEAR(CALCULATE(MAX(Loss[dte_month_end]), ALL(Loss))) - 1, 12, 31)
或
Start Date = DATE(YEAR(MAXX(ALL(Loss), Loss[dte_month_end])) - 1, 12, 31)
如果你不这样做,MAX
只会查看当前行,而不是表格中的所有行。