首页 文章

DAX指标 - 显示最佳日期的值

提问于
浏览
1

我在PowerBI(2017年10月发布)中有一些数据显示了一些太阳能电池板的快照输出,间隔为五分钟 .

'Solar Output' table containing three columns: Production (KW): numeric, Date: date, Time: time

我现在有一个计算方法,通过得到当天的瞬时读数总和除以12(因为每小时有12个读数)计算每天的总产量,然后显示每天的平均值,无论哪个时期是在目前的背景下:

Avg Daily Production (KWh) = 
    AVERAGEX(SUMMARIZE('Solar Output', 'Solar Output'[Date], "Daily Production (KWh)", SUM('Solar Output'[Production (KW)]/12), [Daily Production (KWh)])

对于我的可视化,我想显示一个图表,显示当天不同时间的平均产量与当时最佳日期的产量,即 [Avg Daily Production (KWh)] 的最高值 .

这是我到目前为止的工作:

通过使用确定最佳日期

Best Day = TOPN(1, SUMMARIZE('Solar Output', 'Solar Output'[Date], "Daily Production (KWh)", [Avg Daily Production (KWh)]), [Daily Production (KWh)], DESC)

但这会产生一行,而不是一个标量,我无法弄清楚如何获得这个日期并将其用作这样的度量的过滤器:

Production On Best Day (KW) = 
    CALCULATE(SUM([Production (KW)]), FILTER(ALL('Solar Output'[Date]), 'Solar Output'[Date] = [Best Day]))

desired solution

我想要的图表看起来像这样,所选日期的平均产量为绿色,然后是另一系列显示在红色时刻的最佳日期的产量 .

2 回答

  • 2

    无法真正理解所涉及的计算,但我希望得到你的要求 .

    因此,您希望在同一图表上绘制两条线,一条始终是最佳日期的数据作为参考,另一条是从日期过滤器中选择的数据,对吧?

    您实际上对上述信息的解决方案非常关闭 .

    我刚刚将您的DAX修改为:

    Production On Best Day (KW) = 
    CALCULATE(
        SUM('Solar Output'[Average]),
        FILTER(
            ALL('Solar Output'[Date]),
            'Solar Output'[Date] = VALUES('Best Day'[Date])
        )
    )
    

    (不太确定如何计算中间措施,因此您可能需要根据您的措施进行调整)

    是的, TOPN() 返回一个表,因此您可以使用 VALUES('Best Day'[Date]) 获取日期值并将其用于比较 .

    结果:

    result1

    result2

  • 0

    解决此问题的替代方法是使用 MAXX() 函数从 TOPN() 返回的表中获取标量值 .

    这适用于 MAX() 没有,因为 MAXX() 接受表表达式作为其第一个参数(表表达式是 TOPN() 函数的结果),其中 MAX() 仅从现有表中获取列 .

    Best Day = MAXX(TOPN(1, 
                         SUMMARIZE(ALL('Solar Output'), 
                                   'Solar Output'[Date], 
                                   "Daily Production (KWh)", 
                                   [Avg Daily Production (KWh)]), 
                         [Daily Production (KWh)], 
                         DESC), 
                    [Date])
    

    这种方法的好处是它应该在没有计算表支持的DAX版本中工作(例如SSAS 2014,Excel 2013) .

相关问题