我正在尝试创建一个折线图来比较三种不同的度量。 浅蓝色线 - 指截至当月的累计收入。
深蓝色线 - 指截至当月的累计目标。
橙色线应该是上一年实现的收入,但我在应用其他月份不显示相同值的条件时遇到困难。
对于本年度的累计收入,我采用了以下措施
Faturamento Realizado =
CALCULATE(
SUM(tb_Base_Faturamento[FATURAMENTO LÍQUIDO])
,'tb_Base_Faturamento'[VISÃO] = "REAL"
)
Faturamento Yeartodate Atual =
VAR FinalMesAtual =
[Final Mes Atual]
RETURN
CALCULATE(
TOTALYTD(
[Faturamento Realizado],
tb_Calendario_Faturamento[Data],
"30/06"
),
FILTER(
tb_Calendario_Faturamento,
tb_Calendario_Faturamento[Data] <= FinalMesAtual
)
)
并且工作正常
当我尝试对上一年应用相同的逻辑时,我无法实现仅将橙色线限制到当前月份的条件。
AnoAnteriorFaturamentoYeartodate =
VAR FinalMesAtualAnoAnterior =
CALCULATE(
MAX(tb_Calendario_Faturamento[Data]),
MONTH(tb_Calendario_Faturamento[Data]) = MONTH(TODAY()) &&
YEAR(tb_Calendario_Faturamento[Data]) = YEAR(TODAY()) - 1
)
RETURN
CALCULATE(
[Faturamento Realizado],
FILTER(
ALL(tb_Calendario_Faturamento),
tb_Calendario_Faturamento[Data] <= FinalMesAtualAnoAnterior
),
SAMEPERIODLASTYEAR(DATESYTD(tb_Calendario_Faturamento[Data],"30/06"))
)
我尝试了各种方法,但总是得到相同的结果,要么没有计算任何东西。
有什么建议吗?
您需要计算与今年同月但在上一年的最大日期。 使用 FILTER,仅对上一年到当前年份同月的日期进行计算。 然后 TOTALYTD 将计算上一年的年初至今总数,并且过滤器会将其限制为计算出的 FinalMesAtualAnoAnterior 之前的日期:
AnoAnteriorFaturamentoYeartodate =
VAR FinalMesAtualAnoAnterior =
CALCULATE(
MAX(tb_Calendario_Faturamento[Data]),
YEAR(tb_Calendario_Faturamento[Data]) = YEAR(TODAY()) - 1 &&
MONTH(tb_Calendario_Faturamento[Data]) <= MONTH(TODAY())
)
RETURN
CALCULATE(
TOTALYTD(
[Faturamento Realizado],
tb_Calendario_Faturamento[Data],
"30/06"
),
FILTER(
ALL(tb_Calendario_Faturamento),
tb_Calendario_Faturamento[Data] <= FinalMesAtualAnoAnterior &&
YEAR(tb_Calendario_Faturamento[Data]) = YEAR(TODAY()) - 1
)
)