Chris,
我曾经多次有过类似的需求,经过很长一段时间的尝试和错误,我终于明白了如何EARLIER作品。它可能非常强大,但也非常慢,因此请务必检查计算的性能。
要回答您的问题,您需要创建 4 个计算列:
1) 物品等级- 用于对具有相同问题的问题进行排名Item ID
=COUNTROWS(FILTER('ID', EARLIER([Item ID]) = [Item ID] && EARLIER([Date]) >= [Date]))
2) 跟随错误- 轻松找到后续问题EROR issue
=IF([State] = "EROR",[Item Rank]+1)
3) 后续发行时间- 简单的查找,以便您可以计算出不同的
=IF([Follows Error]>0,
LOOKUPVALUE([Date], [User], [User], [Item Rank], [Follows Error]),
BLANK()
)
4) 时差- 针对具体问题的时间计算有所不同
=IF([State]="EROR",
DAY([Time of Following Issue])-DAY([Date]),
BLANK()
)
通过这些计算列,您可以轻松创建 powerpivot 表,将State and Item Id到ROWS窗格,然后只需添加时差 to Values。您将获得包含字符串“EROR”问题的问题概述以及解决这些问题所需的时间。
这是 PowerPivot 窗口中的样子:
![enter image description here](https://i.stack.imgur.com/jpKRi.png)
以及生成的数据透视表:
![enter image description here](https://i.stack.imgur.com/gGrHi.png)
你可以下载我的Excel 文件在这里 (2013).
正如我所提到的,请注意性能,因为具有嵌套 EARLIER 和 IF 条件的计算列可能对性能要求过高。如果有更聪明的方法,我会很高兴看到它,但目前这对我来说很好。
另外,请记住,所有计算列都可以嵌套到 1 中,但我将它们分开以便更容易理解公式。
希望这可以帮助 :-)