Forum Discussion

nicole1995's avatar
nicole1995
Frequent Visitor
5 years ago
Solved

Count and filter between two dates

Hello   I have two tables, one with current subscriptions and ones with expired subscriptions linked by memberID. I need to check from the current subscriptions who have renewed and is not a new me...
  • v-alq-msft's avatar
    5 years ago

    Hi, nicole1995 

     

    Based on your description, I created data to reproduce your scenario. The pbix file is attached in the end.

    Current Subscription:

     

    Expired Subscription:

     

    You may create a measure as below.

    Result = 
    var t = 
    ADDCOLUMNS(
        ALL('Current Subscriptions'),
        "Result",
        var _startdate = [StartDate]
        var _date = EOMONTH(_startdate,-1)
        var _d = DATE(YEAR(_date),MONTH(_date),DAY(_startdate))
        return
        COUNTROWS(
            FILTER(
                ALL('Expired Subscriptions'),
                [MemberID]=EARLIER('Current Subscriptions'[MemberID])&&
                [EndDate]>=_d&&
                [EndDate]<=_startdate-1
            )
        )
    )
    var _result =
    SUMX(
        SUMMARIZE(
            'Current Subscriptions',
            'Current Subscriptions'[Type],
            'Current Subscriptions'[StartDate].[Month],
            "Re",
            SUMX(
                FILTER(
                    t,
                    [Type]=SELECTEDVALUE('Current Subscriptions'[Type])&&
                    'Current Subscriptions'[StartDate].[Month]=EARLIER('Current Subscriptions'[StartDate].[Month])
                ),
                [Result]
            )
        ),
        [Re]
    )
    return
    IF(
        ISBLANK(_result),
        0,
        _result
    )

     

    Result:

     

    Best Regards

    Allan

     

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