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

Calling all Data Engineers! Fabric Data Engineer (Exam DP-700) live sessions are back! Starting October 16th. Sign up.

Reply
jrvidotti
Frequent Visitor

Calculate average filling values on missing dates

How can I calculate an average of a value filling the missing dates, considering the last date value when non existant?

 

For example, on my table I have:

 

DATEVALUE
01/08/2018100
07/08/201860
10/08/201870

 

If I calculate AVERAGE, it will return 76.66.

 

But in fact, this table should be expanded to:

 

DATEVALUE
01/08/2018100
02/08/2018100
03/08/2018100
04/08/2018100
05/08/2018100
06/08/2018100
07/08/201860
08/08/201860
09/08/201860
10/08/201870
11/08/201870
12/08/201870
13/08/201870

 

Note that if the last value isn't 0, it should continue calculating last date until today (10/08 -> 13/08 (today)).

 

The correct average will be 81.53 .

 

If I expand the table and fill the gaps from SQL Server, it will return 63 million rows with my server, so I think the best option is calculate it via DAX.

 

 

1 ACCEPTED SOLUTION
Zubair_Muhammad
Community Champion
Community Champion

@jrvidotti

 

Hi,

Try this MEASURE

 

Measure =
VAR temp =
    GENERATE (
        Table1,
        GENERATESERIES (
            [Date],
            VAR nextDateRow =
                TOPN ( 1, FILTER ( Table1, [DATE] > EARLIER ( [Date] ) ), [DATE], ASC )
            VAR result =
                MINX ( nextDateRow, [DATE] )
            RETURN
                IF ( result = BLANK (), TODAY (), result - 1 )
        )
    )
VAR temp1 =
    SELECTCOLUMNS ( temp, "Date", [Value], "Value", [VALUES] )
RETURN
    AVERAGEX ( temp1, [Value] )

 Or this calculated table

From Modelling Tab >>New Table

 

Table =
VAR temp =
    GENERATE (
        Table1,
        GENERATESERIES (
            [Date],
            VAR nextDateRow =
                TOPN ( 1, FILTER ( Table1, [DATE] > EARLIER ( [Date] ) ), [DATE], ASC )
            VAR result =
                MINX ( nextDateRow, [DATE] )
            RETURN
                IF ( result = BLANK (), TODAY (), result - 1 )
        )
    )
RETURN
    SELECTCOLUMNS ( temp, "Date", [Value], "Value", [VALUES] )

 

View solution in original post

4 REPLIES 4
Zubair_Muhammad
Community Champion
Community Champion

@jrvidotti

 

Hi,

Try this MEASURE

 

Measure =
VAR temp =
    GENERATE (
        Table1,
        GENERATESERIES (
            [Date],
            VAR nextDateRow =
                TOPN ( 1, FILTER ( Table1, [DATE] > EARLIER ( [Date] ) ), [DATE], ASC )
            VAR result =
                MINX ( nextDateRow, [DATE] )
            RETURN
                IF ( result = BLANK (), TODAY (), result - 1 )
        )
    )
VAR temp1 =
    SELECTCOLUMNS ( temp, "Date", [Value], "Value", [VALUES] )
RETURN
    AVERAGEX ( temp1, [Value] )

 Or this calculated table

From Modelling Tab >>New Table

 

Table =
VAR temp =
    GENERATE (
        Table1,
        GENERATESERIES (
            [Date],
            VAR nextDateRow =
                TOPN ( 1, FILTER ( Table1, [DATE] > EARLIER ( [Date] ) ), [DATE], ASC )
            VAR result =
                MINX ( nextDateRow, [DATE] )
            RETURN
                IF ( result = BLANK (), TODAY (), result - 1 )
        )
    )
RETURN
    SELECTCOLUMNS ( temp, "Date", [Value], "Value", [VALUES] )

 

Very nice! Thank you very much!

Anonymous
Not applicable

Hi, this is exactly what I need, but I get this error and I have no idea what the issue is. I'm really new and strugglying a lot here, any help is much appreciatedCattura.JPG

Helpful resources

Announcements
FabCon Global Hackathon Carousel

FabCon Global Hackathon

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

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

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.