Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Compete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.

Reply
Anonymous
Not applicable

replace nulls with last 3 months average

Hello Community,

 

Am looking for a power query that would help me replace the null values highlighted to the last 3 months average i.e.(July to Dec 2023 = (June,May,Apr)/3

 

MMB920_0-1686280085843.png

Would greatly appreciate your input to resolve.. thank you.

 

MMB

1 REPLY 1
m_dekorte
Super User
Super User

Hi @Anonymous,

 

Give this a go.

let
    Last3Months = Number.Round( List.Average( List.ReplaceMatchingItems( 
        Table.SelectRows( Source, each Date.IsInPreviousNMonths([month_], 2) or Date.IsInCurrentMonth([month_]) )[ib_call_pct], 
        {{null, 0}} )), 4 
    ),
    Source = Table.FromColumns(
        {
            List.Transform( {1..12}, each #date( 2023, _, 1) ),
            {.1655, null, .1442, .1506, .162, .0196, null, null, null, null, null, null}
        }, type table[ month_ = date, ib_call_pct = Percentage.Type]
    ),
    Replaced = Table.ReplaceValue( Source, each Record.ToList(_), each Record.ToList(_), (x, y, z)=> if (y{0} > Date.From( DateTime.FixedLocalNow()) and y{1} = null) then Last3Months else x, {"ib_call_pct"} )
in
    Replaced

 

with this result

m_dekorte_0-1686341069826.png

 

Ps. If this helps you solve your query, please mark it as solution. Thanks!

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

Find out what's new and trending in the Fabric community.

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Top Solution Authors
Top Kudoed Authors