cancel
Showing results for
Did you mean:

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Helper II

## 12-month rolling average without dividing the values that are blank.

Hi,

My question is particularly with the 12-month rolling average. What I did was I utilized the 'Quick Measure' feature of PowerBI and selected the corresponding fields to be calculated for the 12-months. Below was the automatic formula created.

``````RAve_Time to Hire =
IF(
ISFILTERED('Date'[Date]),
ERROR("Time intelligence quick measures can only be grouped or filtered by the Power BI-provided date hierarchy or primary date column."),
VAR __LAST_DATE = ENDOFMONTH('Date'[Date].[Date])
VAR __DATE_PERIOD =
DATESBETWEEN(
'Date'[Date].[Date],
__LAST_DATE
)
RETURN
AVERAGEX(
CALCULATETABLE(
SUMMARIZE(
VALUES('Date'),
'Date'[Date].[Year],
'Date'[Date].[QuarterNo],
'Date'[Date].[Quarter],
'Date'[Date].[MonthNo],
'Date'[Date].[Month]
),
__DATE_PERIOD
),
CALCULATE(SUM('MP - Engine'[Time to Hire]), ALL('Date'[Date].[Day]))
)
)``````

This totally worked for those that have values per month. However, the problem takes place when the months are blank or have no values.

For example, the rolling average below should be 100%, but since it was counting those months that had no values/blank, it is getting different rolling average totals.

How do I solve this? I am thinking of filtering or placing an IF statement where only those months that have values will be calculated as opposed to dividing it to 12. However, I am not sure how to add this to the code above.

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hello,

I created a sample power bi for you, which contains my solution. If you did not update PBI, you will not be able to open it.

To give some context, I tried to break your calculations into multiple steps:

1. You need the Total Hire Time for the last 12 Months

2. This sum must be divided to 12 - N (where N = the blanks) - I assumed you wanted to divide the R12M Time to Hire to the number of months which are not blank

Solution:

3. Final Measure =

VAR R12MTotalTimetoHire =
CALCULATE (
SUM ( Table1[Time to Hire] ),
DATESINPERIOD ( Table1[Date], MAX ( Table1[Date] ), -12, MONTH )
)
VAR BlankMonths =
CALCULATE (
DISTINCTCOUNT ( Table1[Date] ),
Table1[Time to Hire] = 0
&& Table1[Time to Hire] = BLANK (),
DATESINPERIOD ( Table1[Date], MAX ( Table1[Date] ), -12, MONTH )
)
RETURN
R12MTotalTimetoHire / ( 12 - BlankMonths )

Look at 12/1/2021 from the below screenshot. The R12M time to hire is 41 (0+5+9+...+10). Then, 41 is divided to 12-5, where 5 represents the number of BLANK months within this time period (1/1/2021 - 12/1/2021). The average is going to be 41/7 = 5.85.

If this is not the outcome you were hoping for, please share the raw data and some expected results in order to better help you.

Thanks.

2 REPLIES 2
Anonymous
Not applicable

Hello,

I created a sample power bi for you, which contains my solution. If you did not update PBI, you will not be able to open it.

To give some context, I tried to break your calculations into multiple steps:

1. You need the Total Hire Time for the last 12 Months

2. This sum must be divided to 12 - N (where N = the blanks) - I assumed you wanted to divide the R12M Time to Hire to the number of months which are not blank

Solution:

3. Final Measure =

VAR R12MTotalTimetoHire =
CALCULATE (
SUM ( Table1[Time to Hire] ),
DATESINPERIOD ( Table1[Date], MAX ( Table1[Date] ), -12, MONTH )
)
VAR BlankMonths =
CALCULATE (
DISTINCTCOUNT ( Table1[Date] ),
Table1[Time to Hire] = 0
&& Table1[Time to Hire] = BLANK (),
DATESINPERIOD ( Table1[Date], MAX ( Table1[Date] ), -12, MONTH )
)
RETURN
R12MTotalTimetoHire / ( 12 - BlankMonths )

Look at 12/1/2021 from the below screenshot. The R12M time to hire is 41 (0+5+9+...+10). Then, 41 is divided to 12-5, where 5 represents the number of BLANK months within this time period (1/1/2021 - 12/1/2021). The average is going to be 41/7 = 5.85.

If this is not the outcome you were hoping for, please share the raw data and some expected results in order to better help you.

Thanks.

Helper II

It totally worked! Thank you!

Announcements

#### Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.