Forum Discussion

selpaqm's avatar
selpaqm
Helper V
5 years ago
Solved

Measure Stop Filtering For Sub columns

Hi,

 

I have a table as below. 

CustomerBrandSales Measure
aTT2=(2/(2+3+5+1)
bTT3=(3/(2+3+5+1)
cTT5=(5/(2+3+5+1)
dTT1=(1/(2+3+5+1)
eTC6=(6/(6+4)
fTC4=(4/(6+4)

Measure=divide(calculate(sum(sales),filter(table_1,customer=customer)),calculate(sum(sales),filter(table_1,brand=brand)))

 

however, when I create a table for customer

CustomerMeasure
a1
b1
c1
d1
e1
f1

 

so how I fixed it

  • Hi, selpaqm 

     

    Try to create a measure like this:

    __Measure =
    VAR _customer =
        CALCULATE (
            SUM ( 'Table'[Sales] ),
            FILTER (
                ALLSELECTED ( 'Table' ),
                'Table'[Customer] = MAX ( 'Table'[Customer] )
            )
        )
    VAR _brand =
        CALCULATE (
            SUM ( 'Table'[Sales] ),
            FILTER ( ALLSELECTED ( 'Table' ), 'Table'[Brand] = MAX ( 'Table'[Brand] ) )
        )
    RETURN
        DIVIDE ( _customer, _brand )
    

    result:

    It is recommended to use percentage formatting, otherwise you will only see 0 or 1

    Please refer to the attachment below for details

     

     

    Hope this helps.

     

    Best Regards,
    Community Support Team _ Zeon Zheng
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

  • selpaqm 

     

     

    measure1:

    __divide = 
    var _customer=CALCULATE(SUM('Table'[Sales]),FILTER(ALLSELECTED('Table'),'Table'[Customer]=MAX('Table'[Customer])))
    var _brand=CALCULATE(SUM('Table'[Sales]),FILTER(ALL('Table'),'Table'[Brand]=MAX('Table'[Brand])))
    var _divide=DIVIDE(_customer,_brand)
    return _divide

    measure2:

    _result = 
    VAR _sum =
        SUMMARIZE ( 'Table', [Customer], [Brand], [Sales], "1", [__divide] )
    RETURN
        SUMX ( _sum, [1] )

    result:

     

     Best Regards,
    Community Support Team _ Zeon Zheng

8 Replies

  • Hi, selpaqm 

     

    Try to create a measure like this:

    __Measure =
    VAR _customer =
        CALCULATE (
            SUM ( 'Table'[Sales] ),
            FILTER (
                ALLSELECTED ( 'Table' ),
                'Table'[Customer] = MAX ( 'Table'[Customer] )
            )
        )
    VAR _brand =
        CALCULATE (
            SUM ( 'Table'[Sales] ),
            FILTER ( ALLSELECTED ( 'Table' ), 'Table'[Brand] = MAX ( 'Table'[Brand] ) )
        )
    RETURN
        DIVIDE ( _customer, _brand )
    

    result:

    It is recommended to use percentage formatting, otherwise you will only see 0 or 1

    Please refer to the attachment below for details

     

     

    Hope this helps.

     

    Best Regards,
    Community Support Team _ Zeon Zheng
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

    • selpaqm's avatar
      selpaqm
      Helper V

      v-angzheng-msft thanks for reply works on table. when using a filter on slicer. it shows as 100% again. is there any solution for it? also total is not correct.

      • v-angzheng-msft's avatar
        v-angzheng-msft
        Community Support

        selpaqm 

         

         

        measure1:

        __divide = 
        var _customer=CALCULATE(SUM('Table'[Sales]),FILTER(ALLSELECTED('Table'),'Table'[Customer]=MAX('Table'[Customer])))
        var _brand=CALCULATE(SUM('Table'[Sales]),FILTER(ALL('Table'),'Table'[Brand]=MAX('Table'[Brand])))
        var _divide=DIVIDE(_customer,_brand)
        return _divide

        measure2:

        _result = 
        VAR _sum =
            SUMMARIZE ( 'Table', [Customer], [Brand], [Sales], "1", [__divide] )
        RETURN
            SUMX ( _sum, [1] )

        result:

         

         Best Regards,
        Community Support Team _ Zeon Zheng

  • selpaqm , Try a measure like

     

    divide(sum(table[Sales]), calculate(sum(table[Sales]), filter(allselected(Table), Table[Brand]= max(Table[Brand]))))

  • Greg_Deckler's avatar
    Greg_Deckler
    Community Champion

    selpaqm Try:

    Measure=divide(calculate(sum(sales),filter(ALL(table_1),customer=customer)),calculate(sum(sales),filter(ALL(table_1),brand=brand)))