Forum Discussion

zervino's avatar
zervino
Icon for Helper I rankHelper I
2 years ago
Solved

Table with year and deltas

I have raw data with this format:

 

TeamYearSales
A20216345
B20214554
C20218525
A20227000
B20224634

C

20227122

A

20238788

B

20233437

C

20235998

 

I have data for many different teams and many different years.

 

The output should be a table like this:

 

Team20232022Delta
A878870001788
B34374634-1197
C59987122-1124

 

I have a drop down in the dashboard where I can select the two years to compare, but the output will still show the results for all teams.

 

What's the best way to achieve this kind of table?

  • Hi zervino 

    You can apply these steps :
    1. Create the table for Years :

    Years = DISTINCT('Table'[Year])

    2. create a relationship with your table:

    3. Create 3 measures :

    Max Year = CALCULATE(sum('Table'[Sales]) ,'Years'[Year]=max('Years'[Year]) )
    Min Year = CALCULATE(sum('Table'[Sales]) ,'Years'[Year]=min('Years'[Year]) )
    Delta = [Max Year]-[Min Year]
    4. create a visual:

    pbix is attached

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

  • Anonymous's avatar
    Anonymous
    2 years ago

    Hi zervino 

     

    You can create a measure like below. Use a matrix visual instead of a table visual. Add Team to rows, Add Year to column and add the measure to Values. Rename the column total from the default "Total" to "Delta". 

    Value = IF(ISINSCOPE(Years[Year]),SUM('Table'[Sales]),[Delta])

     

     

    Best Regards,
    Jing
    If this post helps, please Accept it as Solution to help other members find it. Appreciate your Kudos!

     

5 Replies

  • Hi zervino 

    You can apply these steps :
    1. Create the table for Years :

    Years = DISTINCT('Table'[Year])

    2. create a relationship with your table:

    3. Create 3 measures :

    Max Year = CALCULATE(sum('Table'[Sales]) ,'Years'[Year]=max('Years'[Year]) )
    Min Year = CALCULATE(sum('Table'[Sales]) ,'Years'[Year]=min('Years'[Year]) )
    Delta = [Max Year]-[Min Year]
    4. create a visual:

    pbix is attached

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

    • zervino's avatar
      zervino
      Icon for Helper I rankHelper I

      The problem with this approach is that the column title is not dynamic, it would be "max year", but depending on which years the user chooses, I would like to see eg. 2022 and 2016

  • ajohnso2's avatar
    ajohnso2
    Icon for Solution Supplier rankSolution Supplier

    1. Add a dimension table of your years

    2. Add a dimension table of your teams

    3. Join years & team table to your 'Fact'

    4. Use dax to calculate a new measure for LY