首页 > 解决方案 > 1 月上个月(12 月)的输出值

问题描述

希望有人可以帮助我。

我使用下面的度量来输出上个月的值,但是这个月(1 月)它似乎已经坏了。

在三月它输出二月值,在四月它输出三月值。然而,由于是 1 月,它似乎没有输出 12 月的值。

谁能告诉我如何调整这个措施来检索十二月的价值?

Previous Month = var current_month= MONTH(TODAY()) return CALCULATE( AVERAGE('DATA_TABLE'[VALUE]), FILTER(DATA_TABLE,MONTH(DATA_TABLE[DATE])=current_month-1)) 

谢谢你的支持。

标签: powerbipowerbi-desktop

解决方案


Dax 的 Month 命令返回一个数字。在您的情况下,您要求第 0 个月,因为 1 月是第 1 个月。由于没有编号为 0 的月份,因此它不返回任何数据(空白)。

您只需要在月份为 0 时添加一个条件,以返回上一年最后一个月的数据。

这是一个可能的解决方案:

VAR current_month = MONTH(TODAY())
VAR current_year = YEAR(TODAY())
VAR previous_month = current_month - 1
VAR previous_year = current_year - 1

RETURN

CALCULATE(
    AVERAGE('Table'[Values]);
    FILTER('Table'; 
        IF(previous_month = 0; 
            MONTH('Table'[Date]) = 12 && YEAR('Table'[Date]) = previous_year;
            MONTH('Table'[DATE]) = current_month - 1)
            )
)

这样您就可以容纳 0 个月的值并根据它进行过滤。如果它不为 0,则该度量的行为与以前一样。否则,它将过滤上一年的最后一个月。


推荐阅读