我需要帮助创建计算列,但不知道从哪里开始。
所以我有一个数据集,其中包含投资组合、项目、报告日期、状态作为列。
投资组合 | 项目 | 报告日期 | 状态 | 完成时间 |
---|---|---|---|---|
数据 | AAAA | 2023 年 4 月 1 日 | 开始了 | 0 |
数据 | AAAA | 2023 年 5 月 1 日 | 已完成 | 1 |
数据 | AAAA | 2023 年 6 月 1 日 | 步入正轨 | 0 |
数据 | AAAA | 2023 年 7 月 1 日 | 已完成 | 1 |
数据 | BBBB | 2023 年 4 月 1 日 | 已完成 | 0 |
数据 | BBBB | 2023 年 5 月 1 日 | 开始了 | 0 |
数据 | BBBB | 2023 年 6 月 1 日 | 已完成 | 1 |
数据 | BBBB | 2023 年 7 月 1 日 | 已完成 | 0 |
数据 | 中交建 | 2023 年 4 月 1 日 | 已完成 | 0 |
数据 | 中交建 | 2023 年 5 月 1 日 | 开始了 | 0 |
数据 | 中交建 | 2023 年 6 月 1 日 | 开始了 | 0 |
数据 | 中交建 | 2023 年 7 月 1 日 | 已完成 | 2 |
我要计算的是 Time to Completed 列,即状态转为 Completed 需要多长时间。例如,第一个项目在5月和7月从开始到完成需要1个月,而第二个项目在6月1个月后完成,同样,状态转为绿色也需要2个月的时间。第三个项目。
对于第二个项目,由于下个月(7月)也“已完成”,因此完成时间仍为0。 同样,对于同一项目中的 4 月份,状态为“已完成”,但由于这是记录的第一个条目,因此没有其他已完成状态可供比较,因此它是 0。
我该怎么做?
这应该适用于跨投资组合(假设您可以有两个同名的项目,但位于不同的投资组合中)。
Earliest Start Date =
MINX(
FILTER('ProjectProgress',
[Portfolio] = MAX([Portfolio]) &&
[Status]="Started"),
[Reporting Date]
)
然后是另一个书挡:
Latest End Date =
MAXX(
FILTER('ProjectProgress',
[Portfolio] = MAX([Portfolio]) &&
[Status]="Completed"),
[Reporting Date]
)
然后减去即可得到持续时间(以天为单位):
Work Duration =
INT([Latest End Date]-[Earliest Start Date])