Forum Discussion

Chandrashekar's avatar
Chandrashekar
Resolver III
4 years ago
Solved

Workday : Previous week

Hello Team,   Can you please help me with workday formula for below example. If date_rec is Tuesday(11-Jan-2022) then workday should start from (04-Jan-2022,05-Jan-2022,06-Jan-2022, 07-Jan-2022,1...
  • v-yanjiang-msft's avatar
    4 years ago

    Hi Chandrashekar ,

    According to your description, here's my solution.

    Create a new table by this formula.

    date period =
    UNION (
        ADDCOLUMNS (
            DATESMTD ( 'date'[Date_rec] ),
            "Workday",
                IF (
                    WEEKDAY ( 'date'[Date_rec], 2 ) IN { 1, 2, 3, 4, 5 },
                    'date'[Date_rec] - 7,
                    IF (
                        WEEKDAY ( 'date'[Date_rec], 2 ) = 6,
                        'date'[Date_rec] - 5,
                        'date'[Date_rec] - 6
                    )
                )
        ),
        ADDCOLUMNS (
            DATESMTD ( 'date'[Date_rec] ),
            "Workday",
                IF (
                    WEEKDAY ( 'date'[Date_rec], 2 ) IN { 1, 2, 3, 4 },
                    'date'[Date_rec] - 6,
                    IF (
                        WEEKDAY ( 'date'[Date_rec], 2 ) IN { 5, 6 },
                        'date'[Date_rec] - 4,
                        'date'[Date_rec] - 5
                    )
                )
        ),
        ADDCOLUMNS (
            DATESMTD ( 'date'[Date_rec] ),
            "Workday",
                IF (
                    WEEKDAY ( 'date'[Date_rec], 2 ) IN { 1, 2, 3 },
                    'date'[Date_rec] - 5,
                    IF (
                        WEEKDAY ( 'date'[Date_rec], 2 ) IN { 4, 5, 6 },
                        'date'[Date_rec] - 3,
                        'date'[Date_rec] - 4
                    )
                )
        ),
        ADDCOLUMNS (
            DATESMTD ( 'date'[Date_rec] ),
            "Workday",
                IF (
                    WEEKDAY ( 'date'[Date_rec], 2 ) IN { 3, 4, 5, 6 },
                    'date'[Date_rec] - 2,
                    IF (
                        WEEKDAY ( 'date'[Date_rec], 2 ) IN { 1, 2 },
                        'date'[Date_rec] - 4,
                        'date'[Date_rec] - 3
                    )
                )
        ),
        ADDCOLUMNS (
            DATESMTD ( 'date'[Date_rec] ),
            "Workday",
                IF (
                    WEEKDAY ( 'date'[Date_rec], 2 ) IN { 2, 3, 4, 5, 6 },
                    'date'[Date_rec] - 1,
                    IF (
                        WEEKDAY ( 'date'[Date_rec], 2 ) = 1,
                        'date'[Date_rec] - 3,
                        'date'[Date_rec] - 2
                    )
                )
        )
    )
    

    Get the expected result.

    I attach my sample below for reference.

     

    Best Regards,
    Community Support Team _ kalyj

     

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