2017-10-18 167 views
1

我有,在PowerBI(2017年10月发布)一些数据示出了在5分钟的时间间隔的一些太阳能电池板的输出快照。DAX量度 - 从最好的一天节目的值

'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)]) 

对于我的可视化,我想显示哪些显示的平均产量相比,生产当时一天的不同时间的图表为最好的一天,即的价值最高的一天。

这是我迄今为止的工作:

找出前一天通过

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

图表我想应该是这样的,平均产量在绿色选择的日期,然后另一系列显示产量在红铅笔写的最好的一天的时间。

+0

您介意共享示例.pbix文件/数据集吗? –

+0

不熟悉在这里发布文件,我只会学习如何... – mendosi

+0

对不起,我有问题连接到文件托管网站在工作。类似的数据可以在这里找到https://pvoutput.org/intraday.jsp?id=53465&sid=48701&dt=20171018 – mendosi

回答

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

因此,我可以将它作为一个计算表....? – mendosi

+0

你在同一张桌子上有多个太阳能电池板的数据吗?或者换一种说法,你的'最佳日子'会根据其他过滤器改变吗? –

+0

不,目前的价值将是相同的,无论其他过滤器。 – mendosi

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)。