[英]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.