首页 文章

Powerpivot数据跨越多个过滤器值

提问于
浏览
0

我有存储在Excel Powerpivot中的中断信息 . 我正在尝试使用Powerpivot来显示和计算每月的正常运行时间,但是,我有点卡住了超过两个月的停机时间 .

我目前的设置:

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

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

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

谢谢!

1 回答

  • 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

    雅各

相关问题