Forum Discussion

Narender's avatar
Narender
Resolver I
8 years ago
Solved

Add Quarter in Calender

Hi All,

I need a quarter in my Report . 

I have already a calender which I created via script as shown below.

 

 

Dates =
GENERATE (
CALENDAR( DATE( YEAR( TODAY() ) - 4, MONTH( TODAY() ), DAY( TODAY()) ), TODAY()),
VAR startOfWeek = 1 // Where 1 is Sunday and 7 is Saturday, thus a 3 would be Tuesday
VAR currentDay = [Date]
VAR days = DAY( currentDay )
VAR months = MONTH ( currentDay )
VAR years = YEAR ( currentDay )
VAR nowYear = YEAR( TODAY() )
VAR nowMonth = MONTH( TODAY() )
VAR MonthName = FORMAT(DATE(2016,MONTH(currentDay),1),"MMMM")
VAR dayIndex = DATEDIFF( currentDay, TODAY(), DAY) * -1
VAR todayNum = WEEKDAY( TODAY() )
VAR weekIndex = INT( ROUNDDOWN( ( dayIndex + -1 * IF( todayNum + startOfWeek <= 6, todayNum + startOfWeek, todayNum + startOfWeek - 7 )) / 7, 0 ) )
RETURN ROW (
"Day", days,
"Month", months,
"Month Name",MonthName,
"Year", years,
"Day Index", dayIndex,
"Week Index", weekIndex,
"Month Index", INT( (years - nowYear ) * 12 + months - nowMonth ),
"Year Index", INT( years - nowYear )
)
)

 

Please tell me , how can I add Querter in script.

 

Thanks,

 

Narender

  • Narender's avatar
    Narender
    8 years ago

    Hi Phil,

     

    I did this, Which is working fine.

     

      VAR quarter  = CONCATENATE("Q",ROUNDUP(MONTH(currentDay)/3,0))

     

     

    Is it ok?

     

     

    Thanks,

     

    Narender

     

3 Replies

  • Phil_Seamark's avatar
    Phil_Seamark
    Microsoft Employee
        "Quarter" , "Q" & INT((MONTH(currentDay)/4)) + 1)
    • Narender's avatar
      Narender
      Resolver I

      Hi Phil,

       

      I did this, Which is working fine.

       

        VAR quarter  = CONCATENATE("Q",ROUNDUP(MONTH(currentDay)/3,0))

       

       

      Is it ok?

       

       

      Thanks,

       

      Narender

       

      • Phil_Seamark's avatar
        Phil_Seamark
        Microsoft Employee

        Nice, looks good.  Might pay to have a DateTime version of the column too so you get the full benefit on some visuals.

         

        Something like 

         

        Start of Quarter = 
            DATE
            (
            YEAR(currentDay) , 
            CONCATENATE("Q",ROUNDUP(MONTH(currentDay)/3,0)) ,
            1)