cancel
Showing results for
Search instead for
Did you mean:
dphillips Regular Visitor

## Filter data using last value in a table

I have some values and I find the average of these values over a field called YearSem I use a line graph to visualise this. See below.

How can I pick out the last value (3.49) and put it into a card?

At the moment I find the last value in the YearSem column by creating this measure:

Last LP Period = CALCULATE(MAX(AveLPs[YearSem]))

This works and I get a value which is 2017 (T4).

Then I use this in a measure like this:

Last LP Ave = CALCULATE(AVERAGE(AveLPs[AveLP]),FILTER(AveLPs,AveLPs[YearSem]=[Last LP Period]))

However, I still get the average for all the years (3.58), NOT that last value (3.49) when I put this measure into a card. What am I doing wrong? Any help would be appreciated.

1 ACCEPTED SOLUTION

Accepted Solutions
Phil_Seamark Super Contributor

## Re: Filter data using last value in a table

This would also work.  The issue with your query is when you bring a calculated measure through to the CALCULATE you change the filter context (which sometimes is what you want - but not in your case)

```Last LP Ave =
CALCULATE(
AVERAGE(AveLPs[Average of AveLP]),
FILTER(AveLPs,AveLPs[YearSem]=MAX(AveLPs[YearSem]))
)```

To learn more about DAX visit : aka.ms/practicalDAX

Proud to be a Datanaut!

3 REPLIES 3
Phil_Seamark Super Contributor

## Re: Filter data using last value in a table

You have a filter context problem that can be solved by re-arranging your measure to be as follows

```Last LP Ave =
var d = CALCULATE(MAX(AveLPs[YearSem]))
return
CALCULATE(
AVERAGE(AveLPs[Average of AveLP]),
FILTER(AveLPs,AveLPs[YearSem]=d))```

To learn more about DAX visit : aka.ms/practicalDAX

Proud to be a Datanaut!

Phil_Seamark Super Contributor

## Re: Filter data using last value in a table

This would also work.  The issue with your query is when you bring a calculated measure through to the CALCULATE you change the filter context (which sometimes is what you want - but not in your case)

```Last LP Ave =
CALCULATE(
AVERAGE(AveLPs[Average of AveLP]),
FILTER(AveLPs,AveLPs[YearSem]=MAX(AveLPs[YearSem]))
)```

To learn more about DAX visit : aka.ms/practicalDAX

Proud to be a Datanaut!

Highlighted
dphillips Regular Visitor

## Re: Filter data using last value in a table

Brilliant - thanks for your help