**AVERAGEX** in Power BI is an incredibly versatile function. **It’s not just for averaging values; it’s also great for trend analysis.** **You may watch the full video of this tutorial at the bottom of this blog.**

I discussed the use of **AVERAGEX** for trend analysis in the **Enterprise DNA Learning Summit**. A link to the event can be found below.

But in this post, I’m going to focus more on what happens in the background when the **AVERAGEX** function is used. Understanding this function is key in figuring out what scenarios would require its use.

## Using AVERAGEX For Average Sales Per Day

I’m going to start with one of the simplest ways to use **AVERAGEX** and find out what my average sales per day is.

It all boils down to knowing what the initial context of the calculation is, then knowing what virtual table to reference.

The initial context in this case would come from the **Product Name**.

Since AVERAGEX works as an iterating function, it’s going to add logic to each row in the table.

But before AVERAGEX can add any logic to the columns, **it needs a virtual table to reference data from**. This is what the **VALUES** function does.

Since I’m looking for the **Average Sales Per Day**, I will reference the **Date **table.

This means that I’m looking at every product for each day and finding out which part of the daily **Total Sales** comes from each product.

Once all that is done, the **Total Sales** for every product is averaged. These are the results in my **Avg Sales Per Day** column.

Remember that since the function looks at the average, **the calculations would still include the days with zero sale**s.

## Using AVERAGEX For Average Sales Per Customer

This time, I’m going to use **AVERAGEX** to find out my average sales per customer.

The measure is similar to the one I used for **Avg Sales Per Day**. The only difference is that I’m referencing the column for **Customer Names** instead of the **Date**.

Let me add that to the table here so I can see what results will come out for every row corresponding to each product.

Previously, **AVERAGEX** was iterating through every single day for every product. This time, it’s iterating through every customer who bought each specific product.

So the iterating function is now evaluating the **Total Sales** for each product bought by each customer. In the end, it finds its average.

## Using AVERAGEX For Average Sales Per Month

The previous two examples showed how simple it is to use **AVERAGEX** in Power BI. But it can also be used for more complex applications, especially in terms of the virtual table being referenced in the measure.

I’m going to calculate the **Average Sales Per Month** to show a different way of referencing a virtual table through the **VALUES** function.

I can’t just reference the **Date** table here directly because I’ll end up getting the same results as my **Avg Sales Per Day** column.

This is one benefit of using the **VALUES** function. In the previous examples, some would skip using **VALUES** and would just reference the required table directly. But when **VALUES** is used, more calculations occur in the background.

So I’m still referencing the **Date** table, but I’m not looking at the average at the end of each day. Instead, I look at the month and year and find the average in the end.

******* Related Links *********Understanding How The AVERAGEX Function Works****Measure Averages Per Day Using AVERAGEX With DAX****Using Iterating Functions SUMX And AVERAGEX In Power BI**

## Conclusion

**AVERAGEX** is a function that gives powerful insights when used correctly. The way I presented this iterating function in this tutorial is just an overview of what it can do.

Again, you can get a more in-depth look at how to use **AVERAGEX** in Power BI in the Enterprise DNA Learning Summit.

You’ll see that even in complex scenarios, the **AVERAGEX** function can give you more insights that can be useful in your dashboards and reports.

All the best,

Sam