我最好马上道歉,我是StackOverFlow的新手,所以如果我遗漏了任何信息,请原谅。这个网站和它的社区似乎真的很有帮助,因为我花了几乎两天的时间来解决下面的问题,我想你们可能是我最后的机会!
我正在使用(并且仍在学习) Microsoft Excel PowerPivot。在Powerpivot中,我有一个常用的日期表,其中包含2017年到2021年期间的每个日期的一列,以及几个包含年、月、季度等的列。日期表与我的事实表连接在一起,到目前为止一切都很顺利。
现在我想创建一个只显示最近12个月(包括当前月份)的数据透视表。因此,现在我希望数据透视表显示2020-1、2019-12、2019-11、2019-10、2019-9、2019-8、2019-7、2019-6、2019-5、2019-4、2019-3和2019-2的所有数据。我希望数据自动更新,因此一旦2月开始,数据透视表应该显示月份2020-2,2020-1,2019-12,...,2019-3。
我相信我所要做的就是转到我的日期表,并创建(至少)一个计算列,例如,对过去12个月内的所有日期说“是”,对所有其他日期说“否”。这就是我需要你帮助的地方,因为无论我尝试什么Dax代码,我都做不到。
到目前为止,我只能用以下代码创建一个名为"Last365Days“的计算列:
=IF(DimDate[DimDateKey]>TODAY()-365;"YES";"NO")DimDate是Date表,DimDateKey是包含2017到2020年之间所有日期的列。然而,在这种情况下,标记为"Yes“的日期从一年前开始,也就是2019年1月25日,但我需要它们从2019年2月1日开始,并在当月底结束。
我很抱歉这篇长文,我希望我能用更少的话来描述未来的问题。无论如何,如果你们中的任何人对此有解决方案,我真的非常感谢。
提前感谢您,祝您周末愉快!
戴夫
发布于 2020-01-27 21:36:34
谢谢你的建议,Demogorii。不幸的是,我不知道DATEDIFF函数如何对我的问题有用,因为它只返回两个日期之间的时间量,对吗?
然而,我还是设法找到了一个解决方案:
=IF(DimDate[DimDateKey]>EOMONTH(TODAY();-12)&&DimDate[DimDateKey]<=TODAY();FORMAT(DimDate[DimDateKey];"YYYY-MM");"EARLIER")有了这个计算列,我可以显示最近12个月,它应该每天都会更新。在这种情况下,显示的数据从一年前的第一个月开始,到今天结束,这是很好的,因为当然没有未来的数据。我想我得等到二月份才能确保一切都能正确地自我更新。
https://stackoverflow.com/questions/59901801
复制相似问题