HI Doug,
Thanks for the compliment ! Appreciated , glad to know about the custom filters by QuickBase super handy.
I also have a small question . What does %s in below mean ?
{{ "Report_Q%s%s_%s" | format(qtr, year, reportDate|date_mdy) }}
------------------------------
Prashant Maheshwari
------------------------------
Original Message:
Sent: 01-11-2023 10:21
From: Doug Henning
Subject: Jinja2 Expressions for date quarter
Glad 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.
------------------------------
Doug Henning
Original Message:
Sent: 01-11-2023 09:22
From: Jerome Mitchell
Subject: Jinja2 Expressions for date quarter
Thanks, 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
Original Message:
Sent: 01-10-2023 23:52
From: Doug Henning
Subject: Jinja2 Expressions for date quarter
You 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
Original Message:
Sent: 01-10-2023 23:26
From: Jerome Mitchell
Subject: Jinja2 Expressions for date quarter
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
Original Message:
Sent: 01-10-2023 16:39
From: Doug Henning
Subject: Jinja2 Expressions for date quarter
This Jinja should format the report title (replace reportDate with your field name):
{% set year = reportDate.strftime('%y') -%}{% set qtr = (reportDate.month / 3) | int -%}{{ "Report_Q%s%s_%s" | format(qtr, year, reportDate|date_mdy) }}
------------------------------
Doug Henning
Original Message:
Sent: 01-10-2023 15:43
From: Jerome Mitchell
Subject: Jinja2 Expressions for date quarter
For my pipeline file output name I'm trying to format an output report filename field based on a specific date in Jinja2. Based on that date the naming convention should include which quarter the data contains.
ex. Report Date = 12/31/22
Desired outputfile name = Report_(#QYY)_<MM-DD-YYYY> eg. Report_Q422_01-10-2022
How can I manipulate the date to return a number for the quarter ?
------------------------------
Jerome Mitchell
------------------------------