0

我在 Excel Powerpivot 中存储了中断信息。我正在尝试使用 Powerpivot 来显示和计算每月的正常运行时间可用性,但是,我对跨越两个月的中断有点卡住了。

我目前的设置:

中断表有四列:应用程序、中断开始时间、中断结束时间、持续时间。持续时间是一个计算列,它是结束时间和开始时间之间的差异。

中断开始时间连接到日期表。我每个月都有切片器,因此用户可以选择他们喜欢查看可用性数据的月份,powerpivot 表将显示该月不同应用程序的可用性。

如果中断开始时间和结束时间在同一个月内,则可用性计算是正确的。但是,例如,如果中断从 7 月底开始并在 8 月初结束,那么这仅被认为是 7 月份的中断(因为开始时间与日期表相关联)。理想情况下,我希望看到这次中断的持续时间在 7 月和 8 月分开。这可能吗?

谢谢!

4

1 回答 1

1

塔莉,

绝对有可能!我通过在中断表上创建 2 个计算列来解决它:

一、判断当月停电持续时间:

=if([End]>EOMONTH([Start],0),EOMONTH([Start],0)-[Start],[End]-[Start])

另一个确定下个月的中断:

=if([End]>EOMONTH([Start],0),[end]-EOMONTH([Start],0),blank())

然后它变得稍微复杂一些,我想创建一个衡量标准,该衡量标准不仅可以汇总当前月份的停机时间,还可以汇总上个月的下个月停机时间。我首先创建了一个度量,该度量分别对 2 个计算列中的每一个求和 - 这是一种很好的做法,因为它有助于建立逻辑并提高性能:

[Cur Month Dur] = sum(Outage[Cur Month Outage])

[Following Month Dur] = sum(Outage[Following Month Outage])

然后,我将 [Following Month Dur] 的过滤版本添加到 [Cur Month Dur],它打开度量的过滤上下文并查看上个月的日期表(必须是数字):

=[Cur Month Dur] + 
      CALCULATE([Following Month Dur],
                    FILTER(
                         ALL(dimDate),
                         dimDate[Month Number]=max(dimDate[Month Number])-1
                          )
                )

您可以在此处找到该方法的详细说明。

我将我的作品上传到SkyDrive,您可能会觉得这很有用。

高温高压

雅各布

于 2013-03-26T11:09:40.487 回答