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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
deboec
Helper I
Helper I

Measure for Average displayed in Card Visual

Hello guys,

 

I am displaying a Matrix visual in Power BI that shows me a specific value for business units.

 

Business UnitCost
11,000
22,000
31,500
42,500
Total7,000

 

The Cost Value in the visual contains a measure which looks something like this:

Cost =
CALCULATE(
          SUM(table1[values]),
          FILTER(table2, table2[header] = "costs"),
          FILTER(table3, NOT(table3[business_units] = "2222")

)

 

I want to add a slicer visual to be able to select a specific date so the matrix visual shows the values for the date i select in the slicer.

 

Now I also want to add a Card visual that shows me the Average of the [Cost] measure values depending on the dates I selected in the slicer.

 

For example: If I select Jan 2020, Feb 2020 and March 2020 the card visual shows the Average [Cost] for the selected months.

If I select Jan - Dec 2020 the card visual shows the Average of the whole 12 months in the year.

 

How do I write a measure to give me such an interactive Average?

 

Thank you

2 ACCEPTED SOLUTIONS

OK, you'll need to replace Table[Business Unit] with year and month columns from your date table.

 

Avg per Month =
AVERAGEX(
SUMMARIZECOLUMNS(Date[Year], Date[Month],
"@Cost", [Cost]
),
[@Cost]
)

View solution in original post

Ok, the SUMMARIZECOLUMNS could be a problem in that case.

 

We can change that to a SUMMARIZE.

 

Avg per Month =
AVERAGEX(
SUMMARIZE(DIM_DATE, DIM_DATE[Year], DIM_DATE[Month]),
[Cost Measure]
)

View solution in original post

10 REPLIES 10
Anonymous
Not applicable

Hi, I'm having the same issue for creating a filterable average in a card visualization.

I would like a card to display an average tool usage based upon a tool and the amount selected on a slicer.

I am very new to DAX formulas so any help would be great.  Here is a sample of the data:

DateUserApplication
12/14/2022user1Tool 1
12/14/2022user2Tool 2
12/14/2022user1Tool 1
12/19/2022user2Tool 3 
12/27/2022user3Tool 2

 

Imagine 80K rows of this data highlighting tool and user usage per day (each login is its own row).  I need a formula that will average that information based on upon the timeframe selected on the slicer.

Thanks for your help.

Tom

deboec
Helper I
Helper I

If I use this part of your sintax:
SUMMARIZECOLUMNS(Date[Year], Date[Month],

 

and I have 1 slicer visual in my canvas for Date[Year] and 1 slicer visual for Date[Month] to choose different years the measure doesn't work.
"Can't display the visual".
I can select 1 or more Months (e.g. Jan, Feb & Mar) but I cannot select a year.

Any ideas?

Ok, the SUMMARIZECOLUMNS could be a problem in that case.

 

We can change that to a SUMMARIZE.

 

Avg per Month =
AVERAGEX(
SUMMARIZE(DIM_DATE, DIM_DATE[Year], DIM_DATE[Month]),
[Cost Measure]
)
PaulOlding
Solution Sage
Solution Sage

Do you mean the average per business unit?

eg.  for your table above the card would display 1750..

 

A measure to do that would look like

Avg per Business Unit =
AVERAGEX(
SUMMARIZECOLUMNS(Table[Business Unit],
"@Cost", [Cost]
),
[@Cost]
)

I am looking for the average of the totals.

 

Let's say the table above displays January 2020. If I select only January 2020 in the slicer I want the output "7,000".

Let's say the total of [Cost] across all business units in February 2020 is 5,000. If I select January 2020 and February 2020 in the slicer the output should be "6,000".

OK, you'll need to replace Table[Business Unit] with year and month columns from your date table.

 

Avg per Month =
AVERAGEX(
SUMMARIZECOLUMNS(Date[Year], Date[Month],
"@Cost", [Cost]
),
[@Cost]
)
Anonymous
Not applicable

 please Can i have Weekly Avg?
 thanks 

 

Thank you very much!
Exactly what I was looking for.
Do you mind briefly explaning what the "@" in the function does?

The @ doesn't do anything.  It's just a naming convention used by these guys https://www.sqlbi.com/ .

They explain why in this video https://www.sqlbi.com/tv/naming-temporary-columns-in-dax/ 

 

TL;DR "a naming convention for temporary columns in DAX expressions to avoid ambiguity with the measure reference notation."

I do have one more question about your sintax:

 

If I use this part of your sintax:
SUMMARIZECOLUMNS(Date[Year], Date[Month],

 

and I have 1 slicer visual in my canvas for Date[Year] and 1 slicer visual for Date[Month] to choose different years the measure doesn't work.
"Can't display the visual".
I can select 1 or more Months (e.g. Jan, Feb & Mar) but I cannot select a year.

Any ideas?

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

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

June 2025 community update carousel

Fabric Community Update - June 2025

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