需要数据分析计算方面的帮助。 目前,我正在获取消费的历史数据如下:
对于上述数据,我正在添加用于计算精确消耗(加仑)的自定义列。天。像:
现在,我必须绘制月份明智的条形图,以便在2016年消费相应的Meter ID。但这里的问题是,我将不得不计算每个月的消费量,将其除以2016年各个月的天数,然后我才能每月绘制一次,如: y轴=每个月的消耗量 x轴= 1月2月3月4月5月6月7月8月9月10月11月11月
所以,在1月份,消费应该是= 10 + 100 +((115/38)* 7)加仑 注释:这里,在((115/38)* 7):我们计算1月7日和整个游行的单日7天的平均消费量,然后计算1月的最后7天消费量,以便我们可以将其添加到总消费量的计算中一个月的月份
但是如何为这些计算添加度量/自定义列/新表?
由于
答案 0 :(得分:1)
您需要做的事情相对复杂,但我的解决方案摘要是:
您希望在将数据加载到数据模型之前(即在源系统中,或者使用查询编辑器/电源查询加载数据时)执行这些步骤。
下面,我假设您正在使用查询编辑器/电源查询。但是,如果您可以使用源系统,那么它通常是更好的选择(因为源系统可能是比您的桌面快得多的数据库)。
请注意,您的天数计算对我来说没有意义。在2016年1月24日到2016年3月31日之间有超过38天。在1月10日到1月24日期间还有超过13天。因此,很难说您是否希望新的阅读量计入当天以前的阅读,或在下一整天。我假设前者。另请注意,我已根据您的天数计算正确进行
计算每日消费量
这是最简单的步骤,因为您已经计算了消耗量和天数。只是分开一个。在查询编辑器中,您可以单击消耗(加仑)列并选择添加列> 标准>的鸿沟即可。在值下,选择使用列中的值,然后选择天数列。
计算开始&每次阅读的结束日期
阅读日期是结束日期,因此您可以将日期重命名为结束日期(因为阅读会追溯应用)。
对于开始日期,在查询编辑器中,您需要添加索引列(添加列> 索引列)。您需要确保您的数据按照Meter ID和日期升序排序之前进行排序。调用列索引。
接下来,添加列> 自定义列并从前一行中提取读取日期。立即调用新列上一个结束日期。
// A try is necessary because we can't get the previous row if there is no previous row (we'll get an error, which we can handle in the 'otherwise' block)
try
if
// See if the previous row is for the same Meter ID
[Meter ID] = #"Reordered Columns"{[Index] - 1}[Meter ID]
then
// If it is, grab the Reading Date from the previous row
#"Reordered Columns"{[Index]-1}[End Date]
else
// If this is the first reading for a meter, calculate the Start Date by subtracting the No. of Days from the End Date
Date.AddDays([End Date], -[No. of Days])
otherwise
// If this is the first row in the table, also calculate the Start Date by subtracting the No. of Days from the End Date
Date.AddDays([End Date], -[No. of Days])
接下来,您想要在开始日期添加1,因为我们希望将读数应用于上一次阅读后的第二天,而不是上一次阅读的那一天。
请注意,如果您希望在上一期间内计算阅读日期,请从结束日期中减去1,而不是将1添加到开始日期(上一个结束日期)。
将您的数据扩展为每天1行
此时,您应该有一个Meter ID,开始日期,结束日期和每日消费列,它反映了您的预期(即每日消费量对于日期范围是正确的)。
最后一步是复制日期范围中每个日期的每一行。这个帖子中概述了几种解决方案(https://community.powerbi.com/t5/Desktop/Convert-date-ranges-into-list-of-dates/td-p/129418),但就个人而言,我推荐MarcelBeug(https://youtu.be/QSXzhb-EwHM)发布的技术(和视频)。
你应该得到更像这样的东西(在删除和重命名列之后):
<强>最后强>
现在你每米有一排&amp;日期,已经计算出每日消费量,您可以构建视觉效果。例如,您可以在轴上使用日期执行柱形图,并将每日消耗量作为值。默认情况下,Power BI会识别 Date 是一个日期,并将按年 - 季 - 月 - 日进行累计。按下小&#39; x&#39;按年和季度,您将有一个图表,按月汇总每日消费量。您还可以深入查看个人日期。
进一步阅读