# Using The MAXX DAX Function In Power BI To Calculate Most Recent Values Or Last Value In Your Data

This tutorial will talk about a common scenario thatâ€™s frequently asked in the Enterprise DNA support forum. Youâ€™re going to learn how to work out the most recent or the last value in your data using the MAXX and FILTER DAX functions in Power BI. You may watch the full video of this tutorial at the bottom of this blog.

For this example, there’s a list of data and within that list the customer is referenced multiple times. So, you want to work out the recent value for that particular customer name.

The example presented in the forums was in the form of a survey data. You want to work out the most recent or the last time that a particular customer took the survey.

There are a couple of ways to solve this. You can perform the solution using calculated columns or measures.

Using a Calculated Column gives more aesthetic while using a Measure allows your models to be more dynamic.

Hereâ€™s how to work out the most recent date for any dimension in your data set using two solutions.

## Solution #1: Using Calculated Columns

Hereâ€™s how to solve the problem using Calculated Columns.

### 1. Create A New Column

The first step is to create a new column in the table that was given as an example in the forums. This new column will contain the Max Date.

This is the logic used on the formula for the Max Date:

Whenever you encounter problems in Power BI that require the maximum date or number, the MAXX DAX function is the best one to use.

This function is the key in creating the solution for this example.

### 2. Create A Variable

Now, you need to create a new variable using the VAR function. In this example, the new variable is called CurrentName.

For each different row, you want to work out the name of each person. This part is quite easy since you simply need to reference the column name in a Calculated Column.

At every single row, you only want to isolate the people with the same name as the current row.

Looking at the table, you can see that it has three different names with two entries for each name.

You need to isolate those names and then work out the maximum date that a particular person has transacted with you. The transaction could be in terms of completing a purchase or survey.

### 3. Create A FILTER Statement

To isolate the names, you first need to use the FILTER and ALL function.

This will remove all the filters within the table. This will also iterate through every single row regardless of context.

Then, you need to work out if the Name in the Survey Data is equal to the CurrentName variable.

## 4. Use The MAXX Function

Now, the MAXX DAX function is going to get a table containing only two rows. This is the result of filtering and iterating through each row to find out if the name is equal to the current name. In this case, the current name is John Smith.

You then need to evaluate the max. The MAXX DAX function calculates the max for you. So, all you need to do is put the column in the formula:

When you change the Max Date columnâ€™s format into a date, youâ€™ll see that the max date for John Smith is February 23.

The max date for Nancy Jones is September 25, while itâ€™s September 22 for Elaine Anderson.

This is a very simple technique and its logic can be applied to different scenarios. You can use this to find out the last purchase or sale amount.

## Solution #2: Using A Measure

Hereâ€™s how to solve this problem using Measures.

Using measures allows you to work out the last date and then branch out into other calculations.

This is the best way to run any calculations in Power BI.

### 1. Create A Table

First, you need to create a table.

This table only contains two columns. The information contained in the other columns are irrelevant for this calculation.

### 2. Create A New Measure

You then need to create a new measure.

This measure has the same formula that was used in the calculated columns solution. However, you need to change the Survey table to Survey Data.

And instead of simply referencing the column name, you need to use the SELECTEDVALUE function.

This captures what context youâ€™re in.

SELECTEDVALUE enables you to grab the text value from its context.

This technique is also very dynamic compared to other calculations since you can take out the date column and only retain the Max Date for each customer.

## Conclusion

Solutions donâ€™t have to be difficult. They can be done using simple ways.

For this example, you can either go for the Calculated Columns solution, or use Measures.

Hopefully, you understood the concept of how to manipulate the virtual table within the MAXX DAX function.

You can also use the FILTER function to iterate through information and then adjust the virtual table based on the parameter you put into the FILTER statement. MAXX will then do the work from here.

All the best,

Sam

## Power BI Trend Analysis: Are Margins Expanding Or Contracting?

In this blog post, I will be diving into a relatively specific insight by conducting a Power BI trend...

## Data Visualization Report Frameworks | Part 2

For today, we'll be continuing the discussion on our enhanced visualization frameworks for Power BI....

## Create A Power BI Sparkline Chart In Report Builder

In this Power BI Report Builder tutorial, youâ€™ll learn how to add a sparkline chart in your paginated...

## Using Iterating Functions SUMX And AVERAGEX In Power BI

One of the most crucial topics for any Power BI beginner to know about is iterating functions. You may...

## PowerApps Documentation: Using MS Docs For Expert Functionalities

Let's talk about Microsoft's PowerApps documentation and what an important resource it can be for users...

## Data Modeling In Power BI: Tips & Best Practices

In this tutorial, you'll learn valuable tips and best practices for data modeling in Power BI. You can...

## Using The Query Builder Feature In DAX Studio

In this tutorial, youâ€™ll learn how to use the Query Builder feature to easily create queries and...

## Time-Related Insights From Your Supply Chain Metric

For this tutorial, I'm going to cover some high-quality time-related insights directly from your supply...

## Create A Multilingual Power BI Report

For today's blog, I want to discuss a not-unusual situation with many of my consulting assignments for...

## CROSSJOIN DAX Function: Server Timings & Query Plan

In this tutorial, youâ€™ll learn how the CROSSJOIN function works in DAX using the Server Timings pane...

## Overview Of The DAX Studio Keyword COLUMN

Another important keyword to learn when using DAX Studio is the COLUMN keyword. In simplest terms, the...

## Python Cheat Sheet: Essential Quick and Easy Guide

When programming in Python, having a reliable cheat sheet by your side can be a game-changer. Python...