Forum Discussion
DougHenning1
3 years agoCommunity Manager
This Jinja should format the report title (replace reportDate with your field name):
NOTE: Edited to fix quarter formula
------------------------------
Doug Henning
------------------------------
NOTE: Edited to fix quarter formula
{% set reportDate = time.now - time.delta(months=1) -%}
{% set year = reportDate.strftime('%y') -%}
{% set qtr = (reportDate.month/3) | round(method='ceil') | int %}
{{ "Report_Q%s%s_%s" | format(qtr, year, reportDate|date_mdy) }}
------------------------------
Doug Henning
------------------------------
JeromeMitchell
3 years agoQrew Member
I don't have an actual field name called reportDate. So I just did everything in the report filename field. I was using {{(time.now - time.delta(months=1)).strftime('%m%d%y') as the value of the "reportDate" field in my original example.
The only real problem I have is for the quarter value, it is coming back as 4.0 instead of just 4, how can I get rid of the decimal point ?
Thanks for you assistance.
------------------------------
Jerome Mitchell
------------------------------
The only real problem I have is for the quarter value, it is coming back as 4.0 instead of just 4, how can I get rid of the decimal point ?
Thanks for you assistance.
------------------------------
Jerome Mitchell
------------------------------
- DougHenning13 years agoCommunity ManagerYou had the ')' before '.month' instead of after it, so the 'int' filter wasn't getting applied to the final value. Also, the formula I posted didn't always produce the correct result. Here's the corrected version with your dates cleaned up:
{% set reportDate = time.now - time.delta(months=1) -%} {% set year = reportDate.strftime('%y') -%} {% set qtr = (((reportDate.month - 1) / 3) + 1) | int -%} {{ "Report_Q%s%s_%s" | format(qtr, year, reportDate|date_mdy) }}
------------------------------
Doug Henning
------------------------------- JeromeMitchell3 years agoQrew MemberThanks, this worked great. Just had a minor question. in the qtr logic :
{% set qtr = (((reportDate.month - 1) / 3) + 1) | int -%}
can you explain the (((report.Date.month -1) /3) +1) part? why do you minus 1 then divide by 3 and add 1 again.
Thanks
------------------------------
Jerome Mitchell
------------------------------- DougHenning13 years agoCommunity ManagerGlad it worked! Dividing by 3 is because there are 3 months in a quarter (12/3 = 4). The adding and subtracting is to adjust for the math in the month division (month/3). Using the date 1/1/2023 for example, if you just did month/3 you'd get 0.33 which rounds to 0.
I found this solution online that works as well:
{% set qtr = (reportDate.month/3) | round(method='ceil') | int %}
------------------------------
Doug Henning
------------------------------