如何比较相同Power PIvot表(DAX)中相关logging的列

我有一个事实表,它包含了多个月的跟踪日程数据。 一个活动将有一个每个月的条目。 我想通过将每个活动的开始date和结束date与上个月预测的开始date和结束date进行比较来查看活动是否已开始并按时完成。

这是我想要的一个例子。 “开始/完成时间”列是我要创build的计算列。

在这里输入图像说明

示例1:活动1在11月没有开始或者按时完成,但是在12月份准时开始。 它没有按时完成,因此“完成时间”栏标记为“迟到”。

在这里输入图像说明

例2:活动3比预测的开始时间早(12/7开始与1/5开始)。 所以它应该被标记为提前开始。

因此,在“开始时间”列中需要进行以下操作(类似于“按时完成”列):

  • 对于每一行,find与上个月相同的活动,并比较开始date (我想我可以找出其余的,但这是目前真正的挑战)
  • 如果当前行的开始date与快照date相同,并且与另一个logging的预测开始date相同,或者如果没有上个月的logging,则返回“On Time”。
  • 否则,如果当前行的开始与快照date相同,但早于上个月的开始date,则返回“Early”
  • 否则,如果当前行的起始date是将来的,并且上个月的开始date是将来,则返回“未开始”
  • 否则,返回“晚”

这是否可行? 我觉得这需要一些小心使用LOOKUPVALUE和EARLIER,但我不知道如何去做。

看起来像这样描述了如何在Power Pivot中完成它: 我可以比较PowerPivot中相邻行中同一列中的值吗?

性能问题可以通过部分或全部移动到Power Query来解决: http : //www.powerpivotpro.com/2015/03/how-to-compare-the-current-row-to-the-previous-row-in -power枢轴/