如果不存在记录,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])
)
使用这个查询,我得到了以下结果:
我想这正是您要找的。该解决方案对于初学者来说可能有点棘手,所以如果我能为您澄清任何问题,请告诉我。
我想计算产品的 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])
)
使用这个查询,我得到了以下结果:
我想这正是您要找的。该解决方案对于初学者来说可能有点棘手,所以如果我能为您澄清任何问题,请告诉我。