如何比较同一 Power PIvot table (DAX) 中相关记录的列
How to compare columns for related records in the same Power PIvot table (DAX)
我有一个事实 table,其中包含多个月跟踪的计划数据。 activity 每个月都有一个条目。我想通过比较每个 activity 的开始和结束日期与上个月的预测开始和结束日期来查看 activity 是否按时开始和结束。
这是我想要的示例。 Started/Finished On Time 列是我要创建的计算列。
示例 1:Activity 1 没有在 11 月准时开始或结束,但在 12 月准时开始。它没有按时完成,因此“按时完成”列标记为 "late"。
示例 2:Activity 3 开始时间早于预测(12/7 开始与 1/5 开始)。所以它应该被标记为提前开始。
因此,几乎需要在“按时开始”列中进行以下操作(与“按时完成”列类似):
- 对于每一行,找到与上个月相同的 activity 并比较开始日期 (我想我可以算出其余的但这是目前真正的挑战)
- 如果当前行的开始日期与快照日期同月且与快照日期同月
预测从其他记录开始,或者如果没有上个月的记录,则 return "On Time".
- 否则,如果当前行的开始日期与快照日期同月但早于上个月的开始日期,return "Early"
- 否则,如果当前行的开始日期是未来并且上个月的开始日期是未来,return "Not Started"
- 否则,return "Late"
这可行吗?我觉得这需要仔细使用 LOOKUPVALUE 和 EARLIER,但我不确定该怎么做。
看起来这完全描述了如何在 Power Pivot 中执行此操作:Can I compare values in the same column in adjacent rows in PowerPivot?
可以通过将其部分或全部移动到 Power Query 来解决性能问题:http://www.powerpivotpro.com/2015/03/how-to-compare-the-current-row-to-the-previous-row-in-power-pivot/
我有一个事实 table,其中包含多个月跟踪的计划数据。 activity 每个月都有一个条目。我想通过比较每个 activity 的开始和结束日期与上个月的预测开始和结束日期来查看 activity 是否按时开始和结束。
这是我想要的示例。 Started/Finished On Time 列是我要创建的计算列。
示例 1:Activity 1 没有在 11 月准时开始或结束,但在 12 月准时开始。它没有按时完成,因此“按时完成”列标记为 "late"。
示例 2:Activity 3 开始时间早于预测(12/7 开始与 1/5 开始)。所以它应该被标记为提前开始。
因此,几乎需要在“按时开始”列中进行以下操作(与“按时完成”列类似):
- 对于每一行,找到与上个月相同的 activity 并比较开始日期 (我想我可以算出其余的但这是目前真正的挑战)
- 如果当前行的开始日期与快照日期同月且与快照日期同月 预测从其他记录开始,或者如果没有上个月的记录,则 return "On Time".
- 否则,如果当前行的开始日期与快照日期同月但早于上个月的开始日期,return "Early"
- 否则,如果当前行的开始日期是未来并且上个月的开始日期是未来,return "Not Started"
- 否则,return "Late"
这可行吗?我觉得这需要仔细使用 LOOKUPVALUE 和 EARLIER,但我不确定该怎么做。
看起来这完全描述了如何在 Power Pivot 中执行此操作:Can I compare values in the same column in adjacent rows in PowerPivot?
可以通过将其部分或全部移动到 Power Query 来解决性能问题:http://www.powerpivotpro.com/2015/03/how-to-compare-the-current-row-to-the-previous-row-in-power-pivot/