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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Stan_Lego
Frequent Visitor

average of the last 5 rows

product typestationtime takenrankaverage
AZ10464
AZ10253 = (2+4)/3
AZ10343 = (3+2+4)/3
AZ10234.5 = (2+3+2+4)/4
AZ10324.75 = (5+3+2+3+4)/5
AZ10513 = (5+3+2+3+2)/5

 

I need a table to generate the average column for the last 5 rows with respect to each row, I have already created a rank column which is according to the order of time it occurs. can anyone help me on this. thanks a lot!

1 ACCEPTED SOLUTION

Hi @Stan_Lego ,

 

I found some mistakes in your expression:(If I understand wrong,pls correct me)

product type station time taken rank average
A Z10 4 6 4
A Z10 2 5 3 = (2+4)/3should be 3=(2+4)/2
A Z10 3 4 3 = (3+2+4)/3
A Z10 2 3 4.5 = (2+3+2+4)/4 result should be 11/4=2.75
A Z10 3 2 4.75 = (5+3+2+3+4)/5 should be(3+2+3+2+4)/5=2.8
A Z10 5 1 3 = (5+3+2+3+2)/5

 

Create a measure as below:

Measure =
VAR _maxrank =
    CALCULATE ( MAX ( 'Table'[rank] ), ALL ( 'Table' ) )
VAR _count =
    CALCULATE (
        COUNTROWS ( 'Table' ),
        FILTER (
            ALL ( 'Table' ),
            'Table'[rank] >= MAX ( 'Table'[rank] )
                && 'Table'[rank] <= _maxrank
        )
    )
VAR _finalcount =
    IF ( _count > 5, 5, _count )
VAR _sum =
    CALCULATE (
        SUM ( 'Table'[time taken] ),
        FILTER (
            ALL ( 'Table' ),
            'Table'[rank] >= MAX ( 'Table'[rank] )
                && 'Table'[rank]
                    < MAX ( 'Table'[rank] ) + 5
        )
    )
RETURN
    DIVIDE ( _sum, _finalcount )

And you will see:

vkellymsft_0-1634869635255.png

For the related .pbix file,pls see attached.

 

Best Regards,
Kelly

Did I answer your question? Mark my reply as a solution!

View solution in original post

3 REPLIES 3
amitchandak
Super User
Super User

@Stan_Lego , Try a new column like

 

AverageX(filter(Table, [product type] =earlier([product type]) && [Rank] >= earlier([Rank])),[time])

Hi @amitchandak , right now it is just averaging the entire dataset with the same product type and workstation but did not take the average of 5 time taken column at a time

Hi @Stan_Lego ,

 

I found some mistakes in your expression:(If I understand wrong,pls correct me)

product type station time taken rank average
A Z10 4 6 4
A Z10 2 5 3 = (2+4)/3should be 3=(2+4)/2
A Z10 3 4 3 = (3+2+4)/3
A Z10 2 3 4.5 = (2+3+2+4)/4 result should be 11/4=2.75
A Z10 3 2 4.75 = (5+3+2+3+4)/5 should be(3+2+3+2+4)/5=2.8
A Z10 5 1 3 = (5+3+2+3+2)/5

 

Create a measure as below:

Measure =
VAR _maxrank =
    CALCULATE ( MAX ( 'Table'[rank] ), ALL ( 'Table' ) )
VAR _count =
    CALCULATE (
        COUNTROWS ( 'Table' ),
        FILTER (
            ALL ( 'Table' ),
            'Table'[rank] >= MAX ( 'Table'[rank] )
                && 'Table'[rank] <= _maxrank
        )
    )
VAR _finalcount =
    IF ( _count > 5, 5, _count )
VAR _sum =
    CALCULATE (
        SUM ( 'Table'[time taken] ),
        FILTER (
            ALL ( 'Table' ),
            'Table'[rank] >= MAX ( 'Table'[rank] )
                && 'Table'[rank]
                    < MAX ( 'Table'[rank] ) + 5
        )
    )
RETURN
    DIVIDE ( _sum, _finalcount )

And you will see:

vkellymsft_0-1634869635255.png

For the related .pbix file,pls see attached.

 

Best Regards,
Kelly

Did I answer your question? Mark my reply as a solution!

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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