FM - Problem with Portal Response Time Using Summary Numbers

Posted on 2014-04-03
Last Modified: 2014-04-04
I have Year, YearMonth, and YearWeek tables that I use to total the count of Leads by agent.  Then I bring these back in via an X relationship and a portal.  However, when I click on the tab for the portal (each of the 3 above have their own separate tab), it takes about 3-5 seconds to show, thus it seems it is calculating.  

The Year tab/portal has the slowest reponse time and even shows a "not responding" in FM.  I even tried limiting it to only go back to 2009 and it shows little improvement.  The LEADDATA table is 26,000 records, but I thought FM could handle that easily.  Is there a better method than the one I'm using?  See screen prints.

I've thought of making the calc fields stored, but that would work for the past numbers, but not the current year, month, or week.  As I was doing the screen prints, I noticed that the flag fields are unstored.  Orginally, those could change, but now we have a separate reassign field, so possibly I could store these.  Any other suggestions?
Question by:rvfowler2
  • 2
  • 2
LVL 24

Accepted Solution

Will Loving earned 333 total points
ID: 39975592
You do seem to be pulling a lot of summarized data across multiple relationships and that will definitely slow down portal display because each summary is being calculated on the fly. In general, the more "unstored" fields involved, the slower the response will be so eliminating those can sometimes make a significant difference.Summaries are by definition unstored, so if you summary fields are summarizing data that is also unstored that will also slow things down. Your "flag" fields are probably an excellent place to start.

Depending on your needs and structure, you can create ways to prevent an unstored calculation. The main way to do this is to a parallel, number or text field that is set to Auto-Enter every time another field changes or is updated, that is updated whenever a particular script runs, or that is updated via a script run on a schedule basis such a on Startup or via a "Refresh" button. The script or Auto-Enter calculation updates the parallel field based on the unstored calculations current value. All of this is intended to give you a number or text field that is current but also indexed (stored).

Assisted Solution

slinkygn earned 167 total points
ID: 39975636
I think you're on the right track.  Storing the flag fields (and then letting them get indexed after the next access) will help -- in fact, that may help more than anything else.  Storing the totals will help as well; if you have issues with the recent ones not being updated, you can force update them via a script trigger on the tab object.  OnObjectModify fires when you switch tabs; you can then GetLayoutObjectAttribute to see which tab is in front and force an update to the most recent year/month/week accordingly.

Author Comment

ID: 39976229
How would you force an update?  Do you use the RefreshWinFlushCachedJoin or is that only the join and not the actual calc field.  I've always wondered how you would trigger or refresh a stored calc.
LVL 24

Assisted Solution

by:Will Loving
Will Loving earned 333 total points
ID: 39976626
Well, unless all fields are local, a calculation can't be stored, especially if it's summarizing related records. However, you can store the result of an unstored Calc in the previously described parallel field.

You could, via a script trigger force an update of the parallel field each time and edit is made to an individual record. You can also experiment with using a calculated auto-enter on the parallel field (with the second checkbox unchecked in the Auto-Entery options) be referencing in a calculation a field that is changing and causing the total to change. Or, you can run it more globally by periodically doing a Replace on all the parallel fields.

Author Closing Comment

ID: 39978407
Thanks.  All suggestions really hepful.

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Suggested Solutions

Pop up windows can be a useful feature of any Filemaker database.  Though best used sparingly, they can be employed in a multitude of different ways, for example;  as a splash screen at login, during scripted processes to control user input, as pick…
Problem: You have a hosted FileMaker database and users are tired of having to use Open Remote or Open Recent to access the database. They say, "can't you just give us something to double-click on rather than have to go through those dialogs?" An…
Sending a Secure fax is easy with eFax Corporate ( First, Just open a new email message.  In the To field, type your recipient's fax number You can even send a secure international fax — just include t…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now