Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

show data on two dates in one table

hi experts,

 

I have a dataset like below,

DateProductIdCategoryAmount
10/31/2019101A10
10/31/2019102A12
10/31/2019103B110
12/31/2019101A15
12/31/2019102A14
12/31/2019104C20
4/30/2020101A15
4/30/2020102B110
4/30/2020105B50
............

Basically, on different dates, we have some products, and each product is categorized into groups, however the categorization can change from date to date. For example in above table, product 102 was in Group A on 10/31/2019, but in Group B on 4/30/2020

Now I want to create a dashboard, in this dashboard, I need two filters on date, Date1 and Date2, so users can choose two dates to compare. For example, I can choose 4/30/2020 in Date1 filter and choose 10/31/2019 in Date2 filter, then I want to show data in a table in below format:

ProductIdDate1 CategoryDate1 AmountDate2 CategoryDate2 Amount
101A10A15

102

A12B110
103B110  
105  B50

 

How can I achieve this?

 

Thanks,

Michael

  • Anonymous's avatar
    Anonymous
    6 years ago

    Hi Anonymous ,

     

    You will need to create two slicer tables and four measures.

    slicer1 = DISTINCT('Table'[Date])
    
    slicer2 = DISTINCT('Table'[Date])
    Date1 Category = CALCULATE(SELECTEDVALUE('Table'[Category]),FILTER(ALLSELECTED('Table'),'Table'[Date]=SELECTEDVALUE(slicer1[Date])&&'Table'[ProductId]=SELECTEDVALUE('Table'[ProductId])))
    
    Date1 Amount = CALCULATE(SELECTEDVALUE('Table'[Amount]),FILTER(ALLSELECTED('Table'),'Table'[Date]=SELECTEDVALUE(slicer1[Date])&&'Table'[ProductId]=SELECTEDVALUE('Table'[ProductId])))
    
    Date2 Category = CALCULATE(SELECTEDVALUE('Table'[Category]),FILTER(ALLSELECTED('Table'),'Table'[Date]=SELECTEDVALUE(slicer2[Date])&&'Table'[ProductId]=SELECTEDVALUE('Table'[ProductId])))
    
    Date2 Amount = CALCULATE(SELECTEDVALUE('Table'[Amount]),FILTER(ALLSELECTED('Table'),'Table'[Date]=SELECTEDVALUE(slicer2[Date])&&'Table'[ProductId]=SELECTEDVALUE('Table'[ProductId])))

    Use the date column from these two slicer tables and the result would be shown as below.

     

    Best Regards,

    Jay

     

    Community Support Team _ Jay Wang

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

5 Replies

  • vanessafvg's avatar
    vanessafvg
    Community Champion

    will there only ever be 2 categories?   

    can group A happen and then group A again?

    what is the rule for the sequence, what is the pattern?   is it a = 1, b  = 2, if so your data isn't showing that.

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi,

       

      Thanks for your reply.

      There will be many categories, and the total number of categories are unknown, we can always have new categories too. 

      A product can be categorized into Group A on day 1, and categorized to Group B on day 2, and categorized back to Group A on day 3, and so on. 

      There's no pattern on how product is categorized. We just treat the category as an attribute of products.

       

      Thanks,

      Michael

      • vanessafvg's avatar
        vanessafvg
        Community Champion
        so the sequence / pattern is then the date, date 1 = 1 , date 2 = 2 so it needs to be ordered by date and it can have a variable amount of dates?
  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous ,

     

    You will need to create two slicer tables and four measures.

    slicer1 = DISTINCT('Table'[Date])
    
    slicer2 = DISTINCT('Table'[Date])
    Date1 Category = CALCULATE(SELECTEDVALUE('Table'[Category]),FILTER(ALLSELECTED('Table'),'Table'[Date]=SELECTEDVALUE(slicer1[Date])&&'Table'[ProductId]=SELECTEDVALUE('Table'[ProductId])))
    
    Date1 Amount = CALCULATE(SELECTEDVALUE('Table'[Amount]),FILTER(ALLSELECTED('Table'),'Table'[Date]=SELECTEDVALUE(slicer1[Date])&&'Table'[ProductId]=SELECTEDVALUE('Table'[ProductId])))
    
    Date2 Category = CALCULATE(SELECTEDVALUE('Table'[Category]),FILTER(ALLSELECTED('Table'),'Table'[Date]=SELECTEDVALUE(slicer2[Date])&&'Table'[ProductId]=SELECTEDVALUE('Table'[ProductId])))
    
    Date2 Amount = CALCULATE(SELECTEDVALUE('Table'[Amount]),FILTER(ALLSELECTED('Table'),'Table'[Date]=SELECTEDVALUE(slicer2[Date])&&'Table'[ProductId]=SELECTEDVALUE('Table'[ProductId])))

    Use the date column from these two slicer tables and the result would be shown as below.

     

    Best Regards,

    Jay

     

    Community Support Team _ Jay Wang

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