Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi 双滚动平均功率_Powerbi - Fatal编程技术网

Powerbi 双滚动平均功率

Powerbi 双滚动平均功率,powerbi,Powerbi,我试图参考论坛和其他关于堆栈溢出的问题,但找不到与我类似的问题 我使用以下DAX计算了30天移动平均线(我刚刚从Quick measure重新修改了原始的时间智能滚动平均线计算) 当我使用它时,我的移动平均图显示了未来30天,如下所示 那么如何排除未来时间呢 我甚至在这里尝试过这个@JTBR2解决方案 但它也不起作用 非常感谢您的帮助。尝试使用以下公式: Rolling12MonthsSum = var Ldate = date(max('Year'[Year]) , max('Mont

我试图参考论坛和其他关于堆栈溢出的问题,但找不到与我类似的问题

我使用以下DAX计算了30天移动平均线(我刚刚从Quick measure重新修改了原始的时间智能滚动平均线计算)

当我使用它时,我的移动平均图显示了未来30天,如下所示

那么如何排除未来时间呢

我甚至在这里尝试过这个@JTBR2解决方案

但它也不起作用


非常感谢您的帮助。

尝试使用以下公式:

Rolling12MonthsSum = 
  var Ldate = date(max('Year'[Year]) , max('Month'[Monthnumber]),1) 
  //Last date

  var Fdate = EDATE(Ldate,-11) //First date

  var pm_hrs = sum(Query1[pm_hrs])/sum(Query1[acthrs]) //Calculation

  return

  if(min('Date'[Date])<fdate,
       blank(),
     if(min('Date'[Date])>Ldate,
               blank(),
              pm_hrs))
滚动12个月SSUM=
var Ldate=日期(最长('年'[年]),最长('月'[月号]),1)
//最后日期
var Fdate=EDATE(Ldate,-11)//第一个日期
var pm_hrs=总和(Query1[pm_hrs])/总和(Query1[acthrs])/计算
返回
如果(最小日期[日期])l日期,
blank(),
下午(小时)
现在我使用它12个月,你可以用天数和平均数代替。只需将-11改为-1,它将给出精确的一个月数据输出

您需要创建一个“日期”表或“日历”表来实现此目的。
希望这有帮助

我猜您的日期表中有未来的日期。您应该能够添加一个条件,不显示今天之后的日期,如下所示:

30DayQuickMeasureRollingAvg = 
    VAR __LAST_DATE = LASTDATE('DateTable'[Date].[Date])
    VAR RollingAverage = 
        AVERAGEX(
            DATESBETWEEN(
                'DateTable'[Date].[Date],
                DATEADD(__LAST_DATE, -30, DAY),
                __LAST_DATE
            ),
            CALCULATE(DISTINCTCOUNT('UserTable'[userID]))
        )
    RETURN IF(__LAST_DATE > TODAY(), BLANK(), RollingAverage)

我能够理解一切,但Query1[pm_hrs]和Query1[acthrs]究竟是什么?这些是我用于计算KPI的表格“Query1”中的列。在计算区域,你可以给你自己的可变名称,就像我给pm_hrs一样,因为我从所选月份开始计算12个月的%pm小时。这是一个非常简单的更改。谢谢哦,不!我刚刚意识到,当我倾向于点击任何月份(在另一张图中)时,图表(滚动平均值)正在变成直线。为什么会这样?如何解决这个问题?例如,移动平均值在所有4个月内都是正常的(如上图),如果我点击任何一个月(如2月),移动平均值将显示一条完整的直线。这听起来像是一个不同的问题。请分开张贴。非常感谢你的问题和伟大的提示。我刚试过这个,效果很好。只需补充一点,在使用上述代码的最后一天之后,我还有一天的时间。但是如果我把它改为u LAST_DATE>=TODAY(),那么它就工作得很好。所以希望它能有所帮助
30DayQuickMeasureRollingAvg = 
    VAR __LAST_DATE = LASTDATE('DateTable'[Date].[Date])
    VAR RollingAverage = 
        AVERAGEX(
            DATESBETWEEN(
                'DateTable'[Date].[Date],
                DATEADD(__LAST_DATE, -30, DAY),
                __LAST_DATE
            ),
            CALCULATE(DISTINCTCOUNT('UserTable'[userID]))
        )
    RETURN IF(__LAST_DATE > TODAY(), BLANK(), RollingAverage)