Reports with performance problems. They are very slow. There are many fields that are looking for data from related tables and that have IF type conditional formulas. What to do to speed up reporting?
The major slow-downs to your report will be
- Unstored calculation fields that are referenced
- Relationships with a sort
- Other sorting
There are other factors that may cause a slow down but they are the main ones.
I'll search based on your observations and hope to improve performance. Thank you for your help.
But there are several fields with a sort. Example: Cost center table, posting table, and report table. Roughly in the report table has a calculation field with the formula: if cost center equal to xxx and if the month equal to April, enter in the field the sum of the receipts ... and the same for expenses in the same report.
DREAdministrativoADMabr = If (DREAno = Launches :: Year, Launches :: TotAdministrativoLEITEabr; 0)
DREAdministrativoADMANO = DREAdministrativoADMabr + DREAdministrativoADMago + DREAdministrativoADMdez + DREAdministrativoADMfev + DREAdministrativoADMjan + DREAdministrativoADMjul + DREAdministrativoADMjun + DREAdministrativoADMmai + DREAdministrativoADMmar + DREAdministrativoADMnov + DREAdministrativoADMout + DREAdministrativoADMset
Based on your observations, I believe that this is what is happening to make the report slow. However, for now my experience in filemaker does not allow me to seek other solutions to improve performance
What you want to do is store those calculated fields, turn on indexing. Sorting them and displaying them will be much faster after that.
If the report only needs to update daily then you could store the fields overnight using a scheduled script.
Otherwise you can live update those stored fields during data entry using scripts to make a truly live report.
marcomacedo wrote: for now my experience in filemaker does not allow me to seek other solutions to improve performance
for now my experience in filemaker does not allow me to seek other solutions to improve performance
Can you explain this a bit better? What is that you think FM does not let you do?
From your description, every time you run the report, FM has to recalculate the same thing over and over. For best performance, create a nightly routine that pre-aggregates the totals for expenses per month. Store the result in regular static 'total' fields. So that when you run the report you can base it on the non-calculated total fields.
There's no point in calculating the total expenses for January every time you run the report. Calculate them once and store the result.
+1! this is my method. Static fields that can be populated with scripted
The clients are ecstatic.
Retrieving data ...