Power BI Rolling Average

时间:2017-05-18 17:33:56

标签: powerbi dax

我使用了Power BI的新 Quick Measures 功能来构建3个月的滚动平均值计算,并且运行良好。等式显示如下。但是,当我尝试在时间序列可视化中使用此度量标准时,计算显示的是当前月份的三个月,但我希望计算在当前月份停止。

我玩过__DATE_PERIOD变量无济于事。我的页面日期过滤器设置为通过日期表上的计算列显示当前月份或之前12个月的所有日期。

是否有人知道如何让可视化在当月结束?

Average Days to Close Rolling Average = 
IF(
    ISFILTERED('Date'[Date]),
    ERROR("Time intelligence quick measures can only be grouped or filtered by the Power BI-provided date hierarchy."),
    VAR __LAST_DATE =
        ENDOFMONTH('Date'[Date].[Date])
    VAR __DATE_PERIOD =
        DATESBETWEEN(
            'Date'[Date].[Date],
            STARTOFMONTH(DATEADD(__LAST_DATE, -3, MONTH)),
            __LAST_DATE
        )
    RETURN
        AVERAGEX(
            CALCULATETABLE(
                SUMMARIZE(
                    VALUES('Date'),
                    'Date'[Date].[Year],
                    'Date'[Date].[QuarterNo],
                    'Date'[Date].[Quarter],
                    'Date'[Date].[MonthNo],
                    'Date'[Date].[Month]
                ),
                __DATE_PERIOD
            ),
            CALCULATE(
                'Closed Opportunities'[Average Days to Close],
                ALL('Date'[Date].[Day])
            )
        )
)

enter image description here

2 个答案:

答案 0 :(得分:1)

为了限制图表中显示的内容,您需要过滤适用的日期字段,使其仅显示您想要的日期。在这种情况下,您只希望它包含日期< = today。

为了在刷新时自动过滤它,我通常会将一个自定义DAX列添加到我可以提交的日期表中。在这种情况下,它将是:

excludeFutureDatesInd = 'Date'[Date] <= TODAY()

然后,您可以添加视觉,页面或报告过滤器,选择[excludeFutureDatesInd] = True的所有日期。

答案 1 :(得分:0)

不确定您是否仍然遇到此问题,但我想与那些登陆的人分享一个黑客修复程序。我通过过滤基础数据来修复此问题(在您的示例中,这将是“平均关闭天数”)。设置可视级别过滤器,使其仅包含平均待关闭天数&gt;的项目。 0,你应该从图表的末尾截取额外的日期。

只要你的所有基础数​​据都通过过滤器,你就应该很好。