2017-04-17 44 views
2

经过StackOverflow PowerBI论坛上的几篇文章后,我仍然无法弄清楚如何计算基于给定期间的滚动平均值 - 在我的情况下为30天的滚动平均值。如何计算DAX/PowerBI中的滚动平均值?

大多数我见过提倡什么相同或者真的类似这样的帖子:

Rolling Sum := 
CALCULATE (
    [Sales], 
    FILTER (
     ALL (Sales), 
     [Date] 
      >= MAX (Sales[Date]) - 365 
      && [Date] <= MAX (Sales[Date]) 
    ) 
) 

(从this post采取代码)

......可是,我似乎无法获得适当的价值。

在我的情况,我有以下几点:

  1. “截止日期” 对于给定的贷款(列)
  2. 贷款计数(测量)
  3. 收盘长度(柱) - 的时间长(以天为单位)关闭贷款

我想要计算的是任何给定日期的滚动30天平均值。我编写如下:

Rolling Average = 
    CALCULATE (
     SUM(Query1[Closing_Length])/[Loan Count],         
     FILTER (
      ALL (Query1),        
      [Closing Date].[Date]         
       >= MAX (Query1[Closing Date]) - 30 
       && [Closing Date] <= MAX ( Query1[Closing Date]) 
     ) 
    ) 

要检查的结果,我用了一个视觉过滤器来检查一个月的数据的价值,这些都是结果:

enter image description here

注总计行的底部;在这一段时间里,有102笔贷款,合计3922天结束。我想计算的平均值为3922/102,应该等于大约38.45天。相反,我们看到42.

我该如何解决这个问题?基于

+0

http://www.sqlbi.com /用品/罗林g-12-months-average-in-dax/ –

+0

@KrystianSakowski不,该帖子不适用于滚动30天期限。它使用'SAMEPERIODLASTYEAR'函数,并且在30天的滚动期间内,不能使用“同一时间段” - 所有日期的任何函数而不会出错。 – daOnlyBG

+0

您可以发布该会员的表情或数据Query1 [CTC Days])吗? –

回答

3

测量溶液:

Rolling Average Measure = 
VAR A = 
    SUMX (
     FILTER (
      ALL ('Query'), 
      'Query'[Closing Date] <= MAX ('Query'[Closing Date]) 
     ), 
     ROUND ('Query'[Closing Length], 2) 
    ) 
VAR B = 
    SUMX (
     FILTER (
      ALL ('Query'), 
      'Query'[Closing Date] <= MAX ('Query'[Closing Date]) 
     ), 
     ROUND ('Query'[Loan Count], 2) 
    ) 
RETURN 
    A/B 

基于计算列溶液:

​​

打印屏幕: Rolling Average Measure

+0

这真的很整洁,克里斯蒂安 - 谢谢你。但是,在尝试实现这两种解决方案之后,我遇到了两个问题 - 对于基于列的解决方案,我有错误:检测到循环依赖关系:查询1 [滚动平均值]。对于基于度量的解决方案,内存不足;视觉试图运行大约5-10分钟,然后最后显示一个错误窗口,说没有足够的内存来产生我要求的内容。 有关如何处理的建议? – daOnlyBG

+0

似乎你做错了什么。看看我的.pbix项目:https://www.dropbox.com/s/6godtc8h4vre1c7/tst.pbix?dl=0 此外请更新PBI到最新版本。 让我知道如果你需要更多的帮助。 –

+0

的一个明显的区别我我们两个文件之间看到的是'贷款Count'是您的最终列,而在我,这是一个措施。在我的ETL中,我有很多贷款号码和每个贷款号码都有自己的截止日期;因此,'贷款Count'实际上是设置为'COUNT( '查询1'[LoanNumber])'的量度。我试图让另一台具有独特日期的'收盘Date'柱中,与各自的截止日期相关联的所有贷款的数量,然后另一列。我正在与后者斗争。 – daOnlyBG