Forum Discussion
Anonymous
5 years agoNot applicable
Apply distinct rows in measures
Hi all, I stumbled upon a new problem: Like mentioned in an earlier post I got a table with duplicated (multiplicated, up to over a dozen times) values. Means: Order number 10 contains 4 items and...
- 5 years ago
Hi Anonymous ,
I created a sample table as below:
First go to query editor,add an index column;
Then you need to create a measure as below:
_average = var minindex=CALCULATE(MIN('Table'[Index]),FILTER(ALL('Table'),'Table'[NetValue]=MAX('Table'[NetValue])&&'Table'[OrderNumber]=MAX('Table'[OrderNumber]))) var _value=IF(MAX('Table'[Index])=minindex,MAX('Table'[NetValue]),BLANK()) var _rows=CALCULATE(COUNTROWS('Table'),FILTER(ALL('Table'),'Table'[NetValue]=MAX('Table'[NetValue])&&'Table'[OrderNumber]=MAX('Table'[OrderNumber]))) Return DIVIDE(_value,_rows)Or you could create below calculated columns instead to get the same result:
_net value = var index=CALCULATE(MIN('Table'[Index]),FILTER('Table','Table'[NetValue]=EARLIER('Table'[NetValue])&&'Table'[OrderNumber]=EARLIER('Table'[OrderNumber]))) Return IF('Table'[Index]=index,'Table'[NetValue],BLANK())_col average = var _rows=CALCULATE(COUNTROWS('Table'),FILTER('Table','Table'[NetValue]=EARLIER('Table'[NetValue])&&'Table'[OrderNumber]=EARLIER('Table'[OrderNumber]))) Return IF(ISBLANK('Table'[_net value]),BLANK(),DIVIDE('Table'[_net value],_rows))And you will see:
For the related .pbix file,pls see attached.
Best Regards,
KellyDid I answer your question? Mark my post as a solution!
v-kelly-msft
Community Support
5 years agoHi Anonymous ,
I created a sample table as below:
First go to query editor,add an index column;
Then you need to create a measure as below:
_average =
var minindex=CALCULATE(MIN('Table'[Index]),FILTER(ALL('Table'),'Table'[NetValue]=MAX('Table'[NetValue])&&'Table'[OrderNumber]=MAX('Table'[OrderNumber])))
var _value=IF(MAX('Table'[Index])=minindex,MAX('Table'[NetValue]),BLANK())
var _rows=CALCULATE(COUNTROWS('Table'),FILTER(ALL('Table'),'Table'[NetValue]=MAX('Table'[NetValue])&&'Table'[OrderNumber]=MAX('Table'[OrderNumber])))
Return
DIVIDE(_value,_rows)
Or you could create below calculated columns instead to get the same result:
_net value =
var index=CALCULATE(MIN('Table'[Index]),FILTER('Table','Table'[NetValue]=EARLIER('Table'[NetValue])&&'Table'[OrderNumber]=EARLIER('Table'[OrderNumber])))
Return
IF('Table'[Index]=index,'Table'[NetValue],BLANK())
_col average =
var _rows=CALCULATE(COUNTROWS('Table'),FILTER('Table','Table'[NetValue]=EARLIER('Table'[NetValue])&&'Table'[OrderNumber]=EARLIER('Table'[OrderNumber])))
Return
IF(ISBLANK('Table'[_net value]),BLANK(),DIVIDE('Table'[_net value],_rows))
And you will see:
For the related .pbix file,pls see attached.
Best Regards,
Kelly
Did I answer your question? Mark my post as a solution!