Forum Discussion

yugofukuda's avatar
yugofukuda
Icon for Helper IV rankHelper IV
5 years ago
Solved

Measure Total Problem

Hi,  I have a problem in the total measure.  I would like to calculate % retention of clients after selling products as below. for example, regarding 69 products sold in July, we provided services...
  • v-kkf-msft's avatar
    v-kkf-msft
    5 years ago

    Hi yugofukuda ,

     

    Try the following formula:

     

    Sales = 
    CALCULATE(
        sum('Table'[Count]),
        ALLEXCEPT('Table','Table'[Month])
    )
    Sales Total = 
    IF(
        NOT(ISFILTERED('Table'[Month]))
            && HASONEVALUE('Table'[Month dif]),
        SUMX(
            FILTER(
                ALLSELECTED('Table'[Month],'Table'[Month dif]),
                'Table'[Month dif] = MAX('Table'[Month dif])
            ),
            [Sales]
        ),
        [Sales]
    )
    Service/SalesTotal = [Service] / [Sales Total]

     

     

    If the problem is still not resolved, please provide detailed error information or the expected result you expect. Let me know immediately, looking forward to your reply.

    Best Regards,
    Winniz

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

     

  • v-kkf-msft's avatar
    v-kkf-msft
    5 years ago

    Hi yugofukuda ,

     

    Please try the following formula:

     

    Service = 
    var _count = 
    CALCULATE (
        COUNT ( 'Table'[Service date] ),
        FILTER (
            ALL ( 'Table' ),
            'Table'[Month] = MAX ( 'Table'[Month] )
                && 'Table'[Month dif] <= MAX ( 'Table'[Month dif] )
        )
    )
    var tab =
    SUMMARIZE (
        'Table',
        'Table'[Month],
        'Table'[Month dif],
        "total", _count
    )
    return 
    IF (
        ISFILTERED ( 'Table'[Month] ),
        _count,
        IF ( 
            NOT( ISFILTERED ( 'Table'[Month] ) ) && ISFILTERED ( 'Table'[Month dif] ),
            SUMX ( tab, [total] ),
            COUNT ( 'Table'[Service date] )
        )
    )

     

    Best Regards,
    Winniz