Forum Discussion

Data_Tim's avatar
Data_Tim
New Member
3 years ago
Solved

Help with SAMEPERIODLASTYEAR

Happy new year all!

I am trying to use the SAMPERIODLASTYEAR function to count records from the previous year, so that I can compare them to the number of records for the current year (up until today's date). The problem I am running into is that the same day last year is counting records for the entire month, rather than just that corresponding day.

 

 

I have a field in my Date table [check] which checks the day number of the year so future days in the same month can be filtered out.

 

 

Any help to resolve this would be greatly appreciated. Many thanks

  • tamerj1's avatar
    tamerj1
    3 years ago

    Data_Tim 
    Appologies for that. Yes you are right this was supposed to be CALCULATETABLE

    Tickets LYTD =
    CALCULATE (
        COUNT ( 'All Tickets'[sys_id] ),
        CALCULATETABLE (
            SAMEPERIODLASTYEAR ( DateTable[Date] ),
            DateTable[Check] = "True"
        )
    )
    
    Or 
    
    Tickets LYTD =
    CALCULATE (
        COUNT ( 'All Tickets'[sys_id] ),
        SAMEPERIODLASTYEAR ( DateTable[Date] ),
        FILTER ( ALL ( DateTable ), DateTable[Check] = "True" )
    )
    

4 Replies

  • tamerj1's avatar
    tamerj1
    Community Champion

    Hi Data_Tim 
    Please try

     

    Tickets LYTD =
    CALCULATE (
        COUNT ( 'All Tickets'[sys_id] ),
        FILTER ( SAMEPERIODLASTYEAR ( DateTable[Date] ), DateTable[Check] = "True" )
    )

     

  • Thanks for getting back to me tamerj1 .

    Unfortunately that doesn't work as the Filter is expecting to evaluate DateTable[Date] not DateTable[Check]

     

    • tamerj1's avatar
      tamerj1
      Community Champion

      Data_Tim 
      Appologies for that. Yes you are right this was supposed to be CALCULATETABLE

      Tickets LYTD =
      CALCULATE (
          COUNT ( 'All Tickets'[sys_id] ),
          CALCULATETABLE (
              SAMEPERIODLASTYEAR ( DateTable[Date] ),
              DateTable[Check] = "True"
          )
      )
      
      Or 
      
      Tickets LYTD =
      CALCULATE (
          COUNT ( 'All Tickets'[sys_id] ),
          SAMEPERIODLASTYEAR ( DateTable[Date] ),
          FILTER ( ALL ( DateTable ), DateTable[Check] = "True" )
      )