Forum Discussion
Calculation with different slice from the same table
- 4 years ago
Hi Anonymous ,
According to your descriptin, in my understanding, if A is selected in the filter, your expected result is (6.8*44+7.8*10+7.8*11) / (22+34+23+22+23). Here is my solution.
Create a measure.
Measure = VAR _select = SUMX ( FILTER ( ALL ( 'myTable' ), 'myTable'[cluster] IN VALUES ( myTable[cluster] ) ), 'myTable'[value1] * 'myTable'[weights] ) VAR _unselect = SUMX ( FILTER ( ALL ( 'myTable' ), NOT ( 'myTable'[cluster] IN VALUES ( myTable[cluster] ) ) ), 'myTable'[weights] ) RETURN DIVIDE ( _select, _unselect )Get the result.
I attach my sample below for reference.
Best Regards,
Community Support Team _ kalyjIf this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hey Anonymous ,
it would be easier with a real file or tables. But the following approach should do it:
Weighted Average =
VAR vSelectedClusters = VALUES ( myTable[cluster] )
VAR vWeightNotCluster =
CALCULATE (
SUM ( myTable[weights] ),
ALL ( myTable ),
NOT ( myTable[weights] ) IN vSelectedClusters
)
RETURN
( SUM ( myTable[weights] ) * vWeightNotCluster ) / vWeightNotCluster
If you need any help please let me know.
If I answered your question I would be happy if you could mark my post as a solution ✔️ and give it a thumbs up 👍
Best regards
Denis
Blog: WhatTheFact.bi
Follow me: twitter.com/DenSelimovic
Hi, thanks for your reply!
I tried this answer and it says there's an error:
Error Message:
MdxScript(Model) (47, 45) Calculation error in measure 'overall_pivot_table'[Weighted Average]:
The function 'CONTAINSROW' does not support the comparison between values of type Text and type Integer.
Try to use the functions VALUE or FORMAT to convert one of the values.
I translated from italian.
I edit my post with the right formula.