Controlling Reports

Hello team…

Reporting cycle controls when and what reports you want to collect.

But I experienced as issue while using internalAssessmentByCourse component where it tabulates all columns in a semester/academic year which is a good thing for showing all columns in one report (while using internal assessments).

Though I have two reporting cycles running and I didn’t want to display 1st internal assessment column in the second reporting cycle ( I did use dates [to start after end of first reporting cycle] where columns are generated for the new reporting cycle but I still can see internal assessment of column 1 that I was avoiding to display showing in my reports [we are using internalAssessmentByCourse component (the default)].

Thank you for the assistance and support.

Hi Kelvin,

This requires some tweaks to the templates to filter the columns that are displayed by date. Since the date columns are not currently available in the current data sources, I’ve updated them as well and included an example of how to apply this to the template (using a config value, off by default). You can likely use the code from the following commit as-is, or update it as needed:

Woow… always there for the rescue! …thank you and we really appreciate the effort… Gibbon is <3

and thanks again, let me see how this changes works.

Hello team,

bellow is a snippet from templates
{% if config.limitByReportingCycle == ‘Y’ %}
{% set allAssessments = internalAssessmentByCourse.assessments|filter(a => a.completeDate > reportingCycle.dateStart|date(“Y/m/d”)) %}
{% else %}`

how to make the above check column competeDate between dateStart and dateEnd of the reporting cycle. something like:

reportingCycle.dateEnd <completeDate<reportingCycle.dateStart

to just pick a column between others using complete date.

currently th workaround I’m using is to run a SQL to set the column completeDate to NULL.

Thank you very much.

Hi Kelvin,

I think something along the lines of the following code should work:

{% if config.limitByReportingCycle == ‘Y’ %} {% set allAssessments = internalAssessmentByCourse.assessments|filter(a => a.completeDate >= reportingCycle.dateStart|date(“Y/m/d”) and a.completeDate <= reportingCycle.dateEnd|date(“Y/m/d”) ) %} {% else %}`

Thank you @ross , I added the code as above and the following are the school settings and produced PDF:

Reporting Cycle Dates:

Report Setting:

Collumn Date:

Generated Report [inspecting data sources shows all collumns with active dates]

My previous workaround [v22.0.1] on this was to hide all collumns by running a SQL and setting them to NULL and only allowing one collumn that needs to be generated to show.
I expected the current version version 23.0.1 [updated] {which includes the commit in the first reply[] plus updated template and files} to work without the need to hide the collumns.

Thank you for assistance.

Thanks, I’ve just made this tweak to the template for v24:

sorry for not being clear: from the printed PDF there is a collumn with assessment data that was supposed to display but the table scrambles up as shown. I think the tables are overlapping.

Hmm. Have you made any other modifications to the template code for this section of the report? The error appears to be in the template loop, perhaps a missing bracket or other html tag. If you’ve modified the file, can you zip it and upload a copy so I can check out the whole template. Thanks!

I am using the default template and the above screenshot is from the default template. Surprisingly the preview (using fake generated data) shows perfectly fine but real data from the columns display as shown above.

PS :[I cleared cache all round]

Thanks for your patience Kelvin. I was able to dig deeper and reproduce the error with more test data. I’ve pushed a fix which you can see here:

Be sure to update your template and clear the cache, then hopefully you should see it working as expected.

Thank you so much, works exactly as expected! This will come handy to many schools in pulling data from specific assessment collumns filtered by date. I had a saved SQL query to hide/unhide date; now its time to take control with this updated template.

Thank you o:)