Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

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...
  • v-kelly-msft's avatar
    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,
    Kelly

    Did I answer your question? Mark my post as a solution!