Forum Discussion

unkCandyd's avatar
unkCandyd
Frequent Visitor
3 years ago
Solved

Using Dax calculate the difference between two values comparing two dates

Hello,  Iam beginner in power bi I would like your help.  I have two data sets.  the first one presents the actual values:  the second one is the target values       I want to cal...
  • v-yinliw-msft's avatar
    v-yinliw-msft
    3 years ago

    Hi unkCandyd ,

     

    You can try this method:

    New two columns:

    Time =
    VAR _min1 =
        CALCULATE (
            MIN ( 'Targets'[target date] ),
            FILTER ( 'Targets', 'Targets'[id] = 1 )
        )
    VAR _min3 =
        CALCULATE (
            MIN ( 'Targets'[target date] ),
            FILTER ( 'Targets', 'Targets'[id] = 3 )
        )
    VAR _max1 =
        CALCULATE (
            MAX ( 'Targets'[target date] ),
            FILTER ( 'Targets', 'Targets'[id] = 1 )
        )
    VAR _max3 =
        CALCULATE (
            MAX ( 'Targets'[target date] ),
            FILTER ( 'Targets', 'Targets'[id] = 3 )
        )
    RETURN
        SWITCH (
            TRUE (),
            'actual'[Actual date] > _min1
                && 'actual'[Actual date] <= _max1
                && 'actual'[Id] = 1, _max1,
            'actual'[Actual date] <= _min1
                && 'actual'[Id] = 1, _min1,
            'actual'[Actual date] > _min3
                && 'actual'[Actual date] <= _max3
                && 'actual'[Id] = 3, _max3,
            'actual'[Actual date] <= _min3
                && 'actual'[Id] = 3, _min3
        )
    
    Target Value = CALCULATE(MAX(Targets[target value]), FILTER('Targets', 'Targets'[target date] = 'actual'[Time] && 'actual'[Id] = 'Targets'[id]))

     

     

    Hope this helps you. Here is my PBIX file.

     

    Best Regards,

    Community Support Team _Yinliw

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