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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
Anonymous
Not applicable

Filtering the columns used in a measure calculation

Hi All,

 

I have 4 columns, lets call the, A,B,C,D

 

Each column has some numbers

 

CompanyABCD

Apple

1

0.20.30.2
Facebook00.40.50.4
Amazon0.610.80.6
Uber0.40.810.9

 

I want to write a measure that finds the average of A,B,C and D for each company.

 

BUT I want the user to be able to select which columns are used in this measure. For example, the user will click A B C and only these will be used in the average calculation. If the user selects B C D only these will be used in the measure. 

 

Thank you for your help!

1 ACCEPTED SOLUTION
parry2k
Super User
Super User

@Anonymous - I would recommend to unpivot the data to do so, 

 

click transform data
- select company
- right-click, unpivot other columns it will add two columns, attribute, and value, rename these as per your requirement
- close and apply

To visualize,
- matrix visual:
- add country rows,
- add attribute on columns, you can also use this in slicer, to select respective A/B/C/D
- add value on values section, change aggregation to average

I would  Kudos if my solution helped. 👉 If you can spend time posting the question, you can also make efforts to give Kudos whoever helped to solve your problem. It is a token of appreciation!



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

View solution in original post

13 REPLIES 13
nandukrishnavs
Super User
Super User

@Anonymous 

 

Another solution using DAX.

Table

CompanyABCD
Apple1111
Facebook4422
Amazon2331
Uber5555

FilterColumnTable

Columns
A
B
C
D

Use this column in the slicer

Then create a DAX measure

 

 

Average = 
var _column=DISTINCT(FilterColumnTable[Columns])
var _a= IF("A" IN _column,SUM('Table'[A]),BLANK())
var _b=IF("B" IN _column,SUM('Table'[B]),BLANK())
var _c=IF("C" IN _column,SUM('Table'[C]),BLANK())
var _d=IF("D" IN _column,SUM('Table'[D]),BLANK())
var _total= {_a,_b,_c,_d}
var _result= AVERAGEX(_total,[Value])
return _result

 

 

Capture.JPG



Did I answer your question? Mark my post as a solution!
Appreciate with a kudos
🙂


Regards,
Nandu Krishna

Anonymous
Not applicable

Hi Nandu,

What is the [Value] in the averagex part of the measure?

The name of my Table is mgmt_score_component and the name of my filtered table is mgmt_score_component (3) . mgmt_score_component (3) only had one column called Attribute

@Anonymous 

_total is a dynamic table. Its column header is Value. So you have to use it as it is.


Regards,
Nandu Krishna

@Anonymous 

I have modified the DAX based on your table names and column names

Average = 
var _column=DISTINCT(mgmt_score_component (3)[Attribute]) // Use this attribute column in your slicer
var _a= IF("A" IN _column,SUM('mgmt_score_component'[A]),BLANK()) //you have to replace "A" with actual value available in the table mgmt_score_component (3)
var _b=IF("B" IN _column,SUM('mgmt_score_component'[B]),BLANK())
var _c=IF("C" IN _column,SUM('mgmt_score_component'[C]),BLANK())
var _d=IF("D" IN _column,SUM('mgmt_score_component'[D]),BLANK())
var _total= {_a,_b,_c,_d}
var _result= AVERAGEX(_total,[Value])
return _result



Did I answer your question? Mark my post as a solution!
Appreciate with a kudos
🙂


Regards,
Nandu Krishna

Anonymous
Not applicable

Why is this not working?
 
Average =
var _column=DISTINCT('mgmt_score_component (3)'[Attribute])
var _a= IF("NOx disclosed?" IN _column,SUM(mgmt_score_component[NOx disclosed?]),BLANK())
var _b=IF("SOx disclosed?" IN _column,SUM(mgmt_score_component[SOx disclosed?]),BLANK())
var _c=IF("Flaringdisclosed?" IN _column,SUM(mgmt_score_component[Flaringdisclosed?]),BLANK())
var _d=IF("Methan emissioncdisclosed?" IN _column,SUM(mgmt_score_component[Methan emissioncdisclosed?]),BLANK())
var _e= IF("Flaring reductionTarget" IN _column,SUM(mgmt_score_component[Flaring reductionTarget]),BLANK())
var _f=IF("Methane Reduction Target" IN _column,SUM(mgmt_score_component[Methane Reduction Target]),BLANK())
var _g=IF("Carbon Emissiontarget year disclosed?" IN _column,SUM(mgmt_score_component[Carbon Emissiontarget year disclosed?]),BLANK())
var _h=IF("Emissions related Target in place?" IN _column,SUM(mgmt_score_component[Emissions related Target in place?]),BLANK())
var _i= IF("Carbon Emission Reduction Target effort" IN _column,SUM(mgmt_score_component[Carbon Emission Reduction Target effort]),BLANK())
var _j=IF("Emissions relatedpolicy inplace?" IN _column,SUM(mgmt_score_component[Emissions relatedpolicy inplace?]),BLANK())
var _k=IF("EnvironmentProvisions disclosed?" IN _column,SUM(mgmt_score_component[EnvironmentProvisions disclosed?]),BLANK())
var _l=IF("RenewEnergy Usage disclosed?" IN _column,SUM('Table (12)'["RenewEnergy Usage disclosed?"]),BLANK())
var _m= IF("Enviroment RelatedInvestments disclosed?" IN _column,SUM(mgmt_score_component[Enviroment RelatedInvestments disclosed?]),BLANK())
var _n=IF("ClimateChangeRisksOpprtunity Awareness" IN _column,SUM(mgmt_score_component[ClimateChangeRisksOpprtunity Awareness]),BLANK())
var _o=IF("Energy_efficiencyeffort" IN _column,SUM(mgmt_score_component[Energy_efficiencyeffort]),BLANK())
var _p=IF("Clean_energyeffort" IN _column,SUM(mgmt_score_component[Clean_energyeffort]),BLANK())
var _total= {_a,_b,_c,_d,_e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p}
var _result= AVERAGEX(_total,[Value])
return _result

@Anonymous 

 

Follow the below steps. 

Unpivot the columns

step1.JPG

Then click close and apply

step2.JPG

Now create a DAX measure

AverageValue = AVERAGE('MyTable'[Value])

Then plot the visuals

 step3.JPG



Did I answer your question? Mark my post as a solution!
Appreciate with a kudos
🙂


Regards,
Nandu Krishna

Anonymous
Not applicable

How do I do the 'filter column table' step, to get that table you screenshot?

 

@Anonymous  you can manually create that table using Enter Data option. Or unpivot the duplicate table then keep Attributes column (delete other columns). Then delete duplicate rows. Rename the column headers and query name.


Regards,
Nandu Krishna

Anonymous
Not applicable

Hi Nandu,

What is the [Values] in the averagex part of the measure?

The name of my Table is mgmt_score_component and the name of my filtered table is mgmt_score_component (3) . mgmt_score_component (3) only had one column called Attribute

Anonymous
Not applicable

Everything is working so far except the measure, it is showing a blank column when I add it to the Table. Where should I create the measure?

parry2k
Super User
Super User

@Anonymous - I would recommend to unpivot the data to do so, 

 

click transform data
- select company
- right-click, unpivot other columns it will add two columns, attribute, and value, rename these as per your requirement
- close and apply

To visualize,
- matrix visual:
- add country rows,
- add attribute on columns, you can also use this in slicer, to select respective A/B/C/D
- add value on values section, change aggregation to average

I would  Kudos if my solution helped. 👉 If you can spend time posting the question, you can also make efforts to give Kudos whoever helped to solve your problem. It is a token of appreciation!



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

Anonymous
Not applicable

Thanks for this. I want to use this average calculation on the x-axis of a scatter graph. will this still be possible ?

@Anonymous yup, x and y axis on scatter chart need a measure and this is perfect.

 

I would  Kudos if my solution helped. 👉 If you can spend time posting the question, you can also make efforts to give Kudos whoever helped to solve your problem. It is a token of appreciation!



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.