我有存储在Excel Powerpivot中的中断信息。我正在尝试使用Powerpivot来显示和计算每月的正常运行时间,但是,我有点停留在超过两个月的停机时间。
我目前的设置:
中断表有四列:应用程序,中断开始时间,中断结束时间,持续时间。持续时间是计算列,它是结束时间和开始时间之间的差异。
停机开始时间连接到日期表。我每月都有切片器,因此用户可以选择他们喜欢的月份来查看可用性数据,而powerpivot表将显示该月份针对不同应用程序的可用性。
如果停电开始时间和结束时间在同一个月内,那么可用性计算是正确的。但是,例如,如果中断在7月底开始并在8月初结束,那么这只被认为是7月的中断(因为开始时间与日期表的关系如何)。理想情况下,我希望看到这次停电的持续时间在7月和8月分开。这可能吗?
谢谢!
答案 0 :(得分:1)
Tallie,
绝对可能!我通过在停机表上创建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])
然后我将[Cur Month Dur]添加到[Follow Month Dur]的过滤版本中,该版本打开度量的过滤器上下文并查看上个月的日期表(必须是数字):
=[Cur Month Dur] +
CALCULATE([Following Month Dur],
FILTER(
ALL(dimDate),
dimDate[Month Number]=max(dimDate[Month Number])-1
)
)
您可以找到方法here的详细说明。
我将我的工作上传到了SkyDrive,您可能会发现它很有用。
HTH
雅各