如果不存在记录,PowerPivot 使用 MTD 的最大日期

PowerPivot use max date for MTD if no record exists

我想计算产品的 MTD 销售额,但是有些产品并不总是每天都在销售。如果所选日期没有销售,使用时间智能 DAX 函数 TOTALMTD 将忽略产品。例如如果我有产品 A 和 B

数据:

Product InvoiceDate Sales
A   2016/12/01  1
B   2016/12/01  2
B   2016/12/02  3

我想用 MTD 计算显示的内容:

Product InvoiceDate 
A   2016/12/02  1
B   2016/12/02  5

我目前得到的:

Product InvoiceDate 
B   2016/12/02  5

虽然我不确定如何或 if 你可以通过 Pivot table 实现这一点,但我可以使用 来做到这一点链接的 DAX 查询。要详细了解如何 运行 链接的 DAX 查询,look here

在我的公式之前,我在 PowerPivot 中创建了一个日历 table(设计选项卡 -> 日期 Table)。您不需要这样做,但为了获得万无一失的解决方案,您可能应该这么做。在旁边创建一个日历 table,然后使用日期列将其加入主 table。

这是我的 DAX:

EVALUATE
SUMMARIZE(CROSSJOIN(VALUES(Table[Product]),VALUES(Calendar[Date])),[Product],[Date]
,"Sales",SUM(Table[Sales])
,"MTD sales",TOTALMTD(SUM(Table[Sales]),Calendar[Date])
)

使用这个查询,我得到了以下结果:

我想这正是您要找的。该解决方案对于初学者来说可能有点棘手,所以如果我能为您澄清任何问题,请告诉我。