Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

Pivot Two Dates in each day date

This is my data table, I want to convert the table from start and finish date, into vertical dates.

I am not sure if the technical term to do this is called Pivoting.


Example:
Line 126, Task ID A3060 ,, Start date: 12/3/2018 ,, Finish date: 12/20/2018
Want to change that into:
A3060  12/3/2018

A3060  12/4/2018

A3060  12/5/2018

...until
A3060  12/20/2018

 

Also Most of the Task ID have Start and Finish dates, and some have only Start date or Finish date, not sure how that would affect

  • Anonymous 

    you can create a date table

    Date = CALENDAR(min('Table'[Start]),max('Table'[End]))

    then you can use DAX to create a new table

    Table 2 = GENERATE('Table',FILTER('Date','Table'[End]>='Date'[Date]&&'Table'[Start]<='Date'[Date]))

    I haven't tried this before, so I did test for blank for start date and end date.

    It looks like test1 does not show up in the Table2 and test 2's start date will be the minimum date of date table.

    please see the attachment

     

4 Replies

    • Anonymous's avatar
      Anonymous
      Not applicable

      amitchandak , Thanks I took a dive in to the file you had shared with me, it has interesting result


      can we do this to the source table itself,
      Taking example of the data table you have, can we change the dates into list format between these two dates..

      Change the above table itself to List type based on dates, For first value Start : 19-Mar-20, End: 1-Apr-20

      ID | Date 

      1   19-Mar-20 

      1   20-Mar-20 

      1   21-Mar-20

      .....

      1   1-Apr-20

    • Anonymous's avatar
      Anonymous
      Not applicable

      amitchandak , Thank for the help.. The Dax you shared helped me in another project

  • Anonymous 

    you can create a date table

    Date = CALENDAR(min('Table'[Start]),max('Table'[End]))

    then you can use DAX to create a new table

    Table 2 = GENERATE('Table',FILTER('Date','Table'[End]>='Date'[Date]&&'Table'[Start]<='Date'[Date]))

    I haven't tried this before, so I did test for blank for start date and end date.

    It looks like test1 does not show up in the Table2 and test 2's start date will be the minimum date of date table.

    please see the attachment