Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

Preceding week change

I need to calculate the change in number of open tickets in the previous calendar week(8/6/23) to current calendar week(8/14/23). The change will apply each Monday when I run the report. I have the measures below but I'm not getting accurate number. Can anyone see what I did wrong here?

 

Ticket Open This Week = Calculate(countrows('Village Engagement'), Datesinperiod('Village Engagement'[Date Opened], LASTDATE('Village Engagement'[Date Opened]),-7,day))

Ticket Open Last Week = Tickets Open last Week = Calculate(Countrows('Village Engagement'), dateadd('Village Engagement'[Date Opened],-14,day))

 

Preceeding Week Change = Tickets Open Last Week - Tickets Open This Week

I should see a Zero change but instead, got a -9 change

 

 

  • Anonymous's avatar
    Anonymous
    3 years ago

    Hi Anonymous ,

     

    I think your issue should be caused by your data model.

    I suggest you to try code as below.

    Ticket Open This Week =
    VAR _END =
        TODAY () - WEEKDAY ( TODAY (), 2 ) - 1
    VAR _START = _END - 6
    RETURN
        CALCULATE (
            COUNTROWS ( 'Village Engagement' ),
            FILTER (
                ALL ( 'Village Engagement' ),
                'Village Engagement'[Date Opened] IN CALENDAR ( _START, _END )
            )
        )
    Ticket Open Last Week =
    VAR _END =
        TODAY () - WEEKDAY ( TODAY (), 2 ) - 8
    VAR _START = _END - 6
    RETURN
        CALCULATE (
            COUNTROWS ( 'Village Engagement' ),
            FILTER (
                ALL ( 'Village Engagement' ),
                'Village Engagement'[Date Opened] IN CALENDAR ( _START, _END )
            )
        )

     

    Best Regards,
    Rico Zhou

     

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

     

2 Replies

  • Greg_Deckler's avatar
    Greg_Deckler
    Community Champion

    Anonymous In general, I would avoid time intelligence DAX functions and since you are dealing with a single table, CALCULATE will generally give weird results. You may find this helpful - https://community.powerbi.com/t5/Community-Blog/To-bleep-With-Time-Intelligence/ba-p/1260000

    Also, see if my Time Intelligence the Hard Way provides a different way of accomplishing what you are going for.

    https://community.powerbi.com/t5/Quick-Measures-Gallery/Time-Intelligence-quot-The-Hard-Way-quot-TITHW/m-p/434008

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous ,

     

    I think your issue should be caused by your data model.

    I suggest you to try code as below.

    Ticket Open This Week =
    VAR _END =
        TODAY () - WEEKDAY ( TODAY (), 2 ) - 1
    VAR _START = _END - 6
    RETURN
        CALCULATE (
            COUNTROWS ( 'Village Engagement' ),
            FILTER (
                ALL ( 'Village Engagement' ),
                'Village Engagement'[Date Opened] IN CALENDAR ( _START, _END )
            )
        )
    Ticket Open Last Week =
    VAR _END =
        TODAY () - WEEKDAY ( TODAY (), 2 ) - 8
    VAR _START = _END - 6
    RETURN
        CALCULATE (
            COUNTROWS ( 'Village Engagement' ),
            FILTER (
                ALL ( 'Village Engagement' ),
                'Village Engagement'[Date Opened] IN CALENDAR ( _START, _END )
            )
        )

     

    Best Regards,
    Rico Zhou

     

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