Forum Discussion

mbylicki's avatar
mbylicki
Frequent Visitor
5 years ago

Compare Data based on 2 selected values in 1 column

Hi,

 

we're currently switching from Qlik into Power BI, and we're facing with such problem.

 

We load several files into one table (simple example below)

 

What we want to achieve is to allow user choose 2 different File names and compare (eg. subtract) all measures (Sell in the example).

In QlikView we had 2 list of 'File name' and use Alternate states.

 

In Power BI I tried to create 2 Fields with 'File name' each, create a Measure getting selected value from each, and finally use CALCULATE formula but I'm not able to put just created measure.

CALCULATE(sum('INPUT TABLE'[Sell]),'INPUT TABLE'[File name]="File B")-CALCULATE(sum('INPUT TABLE'[Sell]),'INPUT TABLE'[File name]="File A")

In other words how to make above red values dynamically choosing by user.

 

Here is excel based solution

 

I will appreciate any help

 

Thank you!

 

Maciej

3 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi  mbylicki ,

     

    Here are the steps you can follow:

    1. Create measure.

    compara =
    var _max = MAX('Table'[File name])
    var _min = MIN('Table'[File name])
    
    return CALCULATE(SUM('Table'[Sell]),ALLEXCEPT('Table','Table'[Client]),FILTER('Table','Table'[File name]=_max)) - CALCULATE(SUM('Table'[Sell]),ALLEXCEPT('Table','Table'[Client]),FILTER('Table','Table'[File name]=_min))

    2. Result.

    You can downloaded PBIX file from here.

     

    Best Regards,

    Liu Yang

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

     

    • mbylicki's avatar
      mbylicki
      Frequent Visitor

      Thank you v-yangliu-msft

       

      I modified Your solution using 2 independent slicers, so also measure You created in changed from "MAX/MIN" to "SELECTEDVALUE" but Your formula stoped working 😞 Could you please check what I'm doing wrong.

       

      I share modified PBIX here 

       

      Thank You!

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi @mbylicki ,

    The Dax function of Selectvalue is suitable for single sign-on. It is suitable for when only one is selected, there will be a value, otherwise there will be no value

    For example: I need to select a month and display the value of the previous month, this can use selectvalue

    v-yangliu-msft_0-1605857123160.png

    Dax formula:

    Measure =
    var _1=SELECTEDVALUE('Table'[month])
    var _2=CALCULATE(SUM('Table'[amount]),FILTER(ALL('Table'),'Table'[month]=_1-1))
    return _2

    Put month into slice and measure into card. By selecting May, the amount in April is displayed

    v-yangliu-msft_1-1605857123163.png

    You can downloaded PBIX file from here.

    Best Regards,

    Liu Yang

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