Forum Discussion

vinothkumar1990's avatar
3 years ago
Solved

Cumulative data in Dax

Hi,

I have 3 fileds which are Task, Planned Start Date and Planned End Date. I want calculate the cumulative count of Task based on the weekend(All Previous week+ Current week).

 

Raw Data:

TaskPlanned Start DatePlanned End Date
Task127-Feb-2328-Feb-23
Task228-Feb-237-Mar-23
Task37-Mar-238-Mar-23
Task413-Mar-2314-Mar-23
Task514-Mar-2315-Mar-23
Task615-Mar-2320-Mar-23

 

 

Expected Format:

Note : "Planned Start Date Count Calulation" and "Planned End Date Count Calulation" are just shown for calculation which is not required in visual.

Week End DatePlanned Start Date CountPlanned End Date CountPlanned Start Date Count CalulationPlanned End Date Count Calulation
4-Mar-232121
11-Mar-23332+11+2
18-Mar-23652+1+31+2+2
25-Mar-23662+1+3+01+2+2+1
  • Hi,

    I am not sure if I understood your question correctly, but please check the below picture and the attached pbix file.

     

     

     

     

    Planned start date count: =
    IF (
        MIN ( 'Calendar'[Date] ) + 7
            >= MIN ( Data[Planned Start Date] )
            && MAX ( 'Calendar'[Date] ) - 7
                <= MAX ( Data[Planned End Date] ),
        CALCULATE (
            COUNTROWS (
                FILTER (
                    Data,
                    Data[Planned Start Date] <= MAX ( 'Calendar'[Date] )
                        && Data[Planned Start Date] >= MIN ( 'Calendar'[Date] )
                )
            ),
            WINDOW (
                1,
                ABS,
                0,
                REL,
                ALL ( 'Calendar'[WK enddate] ),
                ORDERBY ( 'Calendar'[WK enddate], ASC )
            )
        )
    )
    

     

    Planned end date count: = 
    IF (
        MIN ( 'Calendar'[Date] ) + 7
            >= MIN ( Data[Planned Start Date] )
            && MAX ( 'Calendar'[Date] ) - 7
                <= MAX ( Data[Planned End Date] ),
        CALCULATE (
            COUNTROWS (
                FILTER (
                    Data,
                    Data[Planned End Date] <= MAX ( 'Calendar'[Date] )
                        && Data[Planned End Date] >= MIN ( 'Calendar'[Date] )
                )
            ),
            WINDOW (
                1,
                ABS,
                0,
                REL,
                ALL ( 'Calendar'[WK enddate] ),
                ORDERBY ( 'Calendar'[WK enddate], ASC )
            )
        )
    )

     

1 Reply

  • Hi,

    I am not sure if I understood your question correctly, but please check the below picture and the attached pbix file.

     

     

     

     

    Planned start date count: =
    IF (
        MIN ( 'Calendar'[Date] ) + 7
            >= MIN ( Data[Planned Start Date] )
            && MAX ( 'Calendar'[Date] ) - 7
                <= MAX ( Data[Planned End Date] ),
        CALCULATE (
            COUNTROWS (
                FILTER (
                    Data,
                    Data[Planned Start Date] <= MAX ( 'Calendar'[Date] )
                        && Data[Planned Start Date] >= MIN ( 'Calendar'[Date] )
                )
            ),
            WINDOW (
                1,
                ABS,
                0,
                REL,
                ALL ( 'Calendar'[WK enddate] ),
                ORDERBY ( 'Calendar'[WK enddate], ASC )
            )
        )
    )
    

     

    Planned end date count: = 
    IF (
        MIN ( 'Calendar'[Date] ) + 7
            >= MIN ( Data[Planned Start Date] )
            && MAX ( 'Calendar'[Date] ) - 7
                <= MAX ( Data[Planned End Date] ),
        CALCULATE (
            COUNTROWS (
                FILTER (
                    Data,
                    Data[Planned End Date] <= MAX ( 'Calendar'[Date] )
                        && Data[Planned End Date] >= MIN ( 'Calendar'[Date] )
                )
            ),
            WINDOW (
                1,
                ABS,
                0,
                REL,
                ALL ( 'Calendar'[WK enddate] ),
                ORDERBY ( 'Calendar'[WK enddate], ASC )
            )
        )
    )