[英]Power BI - Rolling average
我试图参考论坛和有关堆栈溢出的其他问题,但是找不到与我的类似的问题。
我使用以下DAX来计算30天移动平均线(我刚刚从“快速测量”中重新修改了原始的时间智能滚动平均线计算)。
30DayQuickMeasureRollingAvg =
VAR __LAST_DATE = LASTDATE('DateTable'[Date].[Date])
RETURN
AVERAGEX(
DATESBETWEEN(
'DateTable'[Date].[Date],
DATEADD(__LAST_DATE, -30, DAY),
__LAST_DATE
),
CALCULATE(DISTINCTCOUNT('UserTable'[userID]))
)
当我使用它时,我的移动平均线图也会显示未来的30天,如下所示
那么,如何排除未来的时间呢?
我什至从这里尝试了这个@ JTBR2解决方案Power BI滚动平均值
但这也不起作用。
任何帮助深表感谢。
我猜您的日期表中有将来的日期。 您应该可以添加一个条件,使其不显示今天之后的日期,如下所示:
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)
尝试使用以下公式:
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个月的总和,您可以将其替换为天数和平均值。 只需将-11更改为-1,它将提供确切的一个月数据输出。
您将需要创建“日期”表或“日历”表来实现此目的。 希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.