我在PowerBI(2017年10月发布)中有一些数据显示了一些太阳能电池板的快照输出,间隔为五分钟 .
我现在有一个计算方法,通过得到当天的瞬时读数总和除以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]))
我想要的图表看起来像这样,所选日期的平均产量为绿色,然后是另一系列显示在红色时刻的最佳日期的产量 .
2 回答
无法真正理解所涉及的计算,但我希望得到你的要求 .
因此,您希望在同一图表上绘制两条线,一条始终是最佳日期的数据作为参考,另一条是从日期过滤器中选择的数据,对吧?
您实际上对上述信息的解决方案非常关闭 .
我刚刚将您的DAX修改为:
(不太确定如何计算中间措施,因此您可能需要根据您的措施进行调整)
是的,
TOPN()
返回一个表,因此您可以使用VALUES('Best Day'[Date])
获取日期值并将其用于比较 .结果:
解决此问题的替代方法是使用
MAXX()
函数从TOPN()
返回的表中获取标量值 .这适用于
MAX()
没有,因为MAXX()
接受表表达式作为其第一个参数(表表达式是TOPN()
函数的结果),其中MAX()
仅从现有表中获取列 .这种方法的好处是它应该在没有计算表支持的DAX版本中工作(例如SSAS 2014,Excel 2013) .