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

时间:2016-12-19 12:14:26

标签: excel powerpivot dax

我想计算产品的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

1 个答案:

答案 0 :(得分:0)

虽然我不确定如何或如果您可以通过数据透视表实现此目的,但我可以使用链接的DAX查询来实现此目的。要详细了解如何运行链接的DAX查询look here

在我的公式之前,我在PowerPivot(设计选项卡 - >日期表)中创建了一个日历表。你不需要这样做,但为了得到一个万无一失的解决方案,你可能应该这样做。在侧面创建一个日历表,然后使用Date列将其连接到主表。

这是我的DAX:

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

使用此查询,我能够获得以下结果:

enter image description here

我认为这正是您所寻找的。对于初学者来说,解决方案可能有点棘手,所以请告诉我是否可以为您澄清任何内容。