FileMaker Calculation Analysis with FMPerception

FileMaker Calculation AnalysisFileMaker Calculations are everywhere, not just in fields and script steps. They are all over your layouts, in your custom menus and even in your security settings. They might just be the heart and soul of your FileMaker system. But they are scattered all over the place, which makes them hard to track. FMPerception has a new feature that can help you find and fix problems related to calculations getting out of hand. It makes FileMaker Calculation Analysis a thing of beauty.

Heart and Soul

Most of the business logic of your FileMaker solution is either encoded in Calculations or passes through calculations in some way. You can use calcs to hide and/or format layout objects. You can use them to filter portals, display dynamic button labels, show tooltips, and populate placeholders. And that’s just layouts.

There are custom function calcs, custom menu calcs, and record level access calcs. There are of course calculations in scripts, and in fields. But hey, did you know that a field can have two calculations at a time, one for the auto-enter and one for validation calculation?

Think about this for a moment. A single field object on a layout can have the following calculations defined in or on it:

  • Field Definition
    • Auto-Enter
    • Validation
  • Layout Object
    • Data Hide
    • Tooltip
    • Placeholder
    • Several Script Trigger Parameters
    • Dozens of Conditional Formatting Functions
    • Button Parameter

That’s a lot of functions!  Calc functions are everywhere and are used for lots of different types of logic.  They are the heart and soul of any FileMaker Custom Application. Since they are so useful, they get copied and pasted around, they get broken, they get used out of context. Sometimes they just get huge and complex, or reference other huge and nested unstored calculations.

FileMaker Calculation Analysis

You have always been able to use FMPerception to help fix some of the problems we outlined above.  But…  It was scattered about.  Since the FMPerception interface mirrors FileMaker’s structure we displayed the calcs embedded in each object.  For example, if you searched for some text that appeared in every one of the calcs on the example field above, you would only get one result. Just the field. That’s it.  Even though FMPerception found each instance of the string it had no way to show you all those results.

Enter the Calculations List view, located in the slow query section of the browser.  The Calculations List view is a single list of every calculation in your custom application. You can also easily narrow the list down to just every calc in a single file, or script, or (my particular favorite) just one layout.  Suddenly we have a much better way to look at and explore our calculations. But our story doesn’t end there.

The Devil is in the Details

Ok great. We have one list of calcs. Very helpful.  But it’s the details we get with the list that makes it super interesting.  There are about 2 dozen columns of information about each of those calcs, that you can sort, re-arrange and filter. You can easily find the biggest calculation in your system, or all the commented out calcs, or all the portal filters, or calcs that can’t possibly work, because of disconnected contexts or… or …etc.  The list goes on and on. See the docs for more information or watch the videos on this post.

Now if you have a slow layout, you can just start with the list of calcs defined on that layout. Every calc on that layout is there. If you have a slow layout, it is almost certainly because of calcs that take a while to resolve. The culprit is probably on that list. Use the FileMaker Calculation Analysis information in the columns to help you locate it.

Problems Solved

Many of the problems come from calculations getting copied and pasted around in the form of conditional formatting, hide calcs, portal filters, button params etc.  These calcs may have worked correctly at one time but now are pasted into a context that no longer makes sense.  Sometimes the calcs are disabled when this happens if there is no valid path to the table occurrences it needs.  But sometimes there is a valid path. It’s just the wrong path.  And it could be slowing your system down or leading to unexpected behavior.

Selector Connector based systems are vulnerable to this because it intentionally creates a valid path to just about every part of your graph.  One of the columns in the detail list is a list of TOs that are touched. Selector Connector users can use the TO List to make sure that layout calcs like formatting, hiding or portal filter calcs don’t pass through the Selector Connector TOs, which is a sign that something is amiss.

FMPerception can help you find and fix all those problems, plus much more that we haven’t even thought of yet. It keeps expanding our knowledge of how the heart and soul of our FileMaker custom applications work. FileMaker Calculation Analysis?  Yeah. It’s a thing.

Lance Brandenberg Joins Geist Interactive

Geist Interactive is thrilled to announce that Lance Brandenberg is joining our team as a Solutions Architect, effective April 17, 2017. Lance is a certified FileMaker developer with an entrepreneurial background. He started his first business in 2003 while attending Cal Poly San Luis Obispo. After running the business for several years, he discovered his true passion: database development. He has developed solutions for diverse organizations in industries including finance, oil drilling, professional services and custom manufacturing.

Lance has worked for the last three years at the San Diego Workforce Partnership where he led the data systems team. In addition to being responsible for analysis and reporting for various federal, state and locally funded programs, his team developed and maintained SDWP’s internal business applications. Lance was instrumental in the development of the CONNECT2Careers portal, which connects young adults with work readiness training and valuable paid work experiences.

Lance is joining our Custom Development Team lead by Dave Graham in our San Diego office. That team is dedicated to our core belief, that Custom Software is a Right. Every company or organization should have the ability to own and control their information systems, and the custom applications that use them.

When Lance is not developing his database skills, you can find him on the golf course playing bogey golf.

San Diego FileMaker Meetup at our New Office

Geist Interactive’s Custom Software Development team has moved into our new San Deigo, CA. office. We are very excited to have our new hub but, it’s more than just an office to us. It’s also an opportunity for us to help support the San Diego FileMaker community, by using our facility has a location for the local user FileMaker user group and other meetups. We’d like to invite you to come by for a little celebration and San Diego FileMaker User’s Group meeting.

Read more

Generator – Connect FileMaker To The Web


Geist Interactive announces first-ever, open source FileMaker developer utility for connecting with web and JSON APIs.

Generator™ makes connecting FileMaker solutions to any other API-supported website or service faster and easier than ever before.

NEWBURY PARK, Calif. – March 17, 2017 – For FileMaker developers wanting a better way to integrate FileMaker custom apps to data from other websites and services, Geist Interactive today announced the availability, Generator™.

What is Generator?

Generator™ is the first ever, open source FileMaker developer utility for integrating with web APIs and JSON elements. It makes it faster and easier to connect your FileMaker solutions to other API-supported websites or services.

“Never before has there been anything like this to help FileMaker developer this way,” said Todd Geist, CEO of Geist Interactive. “Generator will drastically speed development for experienced users while quickly teaching beginning FileMaker developer modern techniques for working with web and JSON APIs. Plus, it’s completely free so anyone can download it right now.”

How does Generator work?

By creating ready-to-use scripts that are pre-integrated with web and JSON APIs, you can quickly and easily connect FileMaker solutions to any supported website or service in 3 simple steps.

  1. Generator analyzes your open database and helps you create a field map between the fields in your database and the data elements in the website or service that you want to connect with.
  2. Once the fields are mapped, you click a button and the ready-to-use FileMaker scripts are generated and added to your clipboard.
  3. Copy and paste the pre-integrated scripts into your FileMaker solution to complete the connection.

Pricing and Availability

For more information on Geist Interactive, please contact:

Todd Geist
(805) 941-0435

FileMaker Top Call Stats Analysis With FMPerception

If you turn on the Filemaker Top Call Stats log, FileMaker Server will log the longest running operations, during a log interval.  It saves up to 25 calls per logging interval. This is a great resource to help find those areas of your database that might not be performing well. But it is difficult to read.  First, there is a lot of data. You’ll need to import it into a FileMaker Database or a spreadsheet to be able to do any kind of sorting or filtering. Second, FileMaker Server doesn’t use the names of elements when it saves them in the log. It uses the internal IDs. This is good for security but it makes it difficult to tell what’s going on.  FMPerception has a new feature that can help you make sense of your log. Read more

fmQBO is Mob of Microservices

What the?  Yeah I know, weird huh?  But it is kind of true.  Okay so maybe not a “mob”. It’s more of a “collection”. Our FileMaker to QuickBook Connection tool, fmQBO is a collection of micro-services that work together to form a larger set of features. The only reason this matters is that it lets us innovate and iterate super fast. Watch the video to see what we mean.

Read more

Happy Holidays & Best of 2016


On behalf of all of us at Geist Interactive including Bella, my American Bulldog, I would like to wish you a happy holiday season – and thank you for all your incredible support in 2016! Woof!

It has been a great year for Geist Interactive, and I’m grateful to have worked with such great clients, talented partners, the staff at FileMaker and developers all around the world.  A few highlights include:

  • The wonderful reception to our “Custom Software is a Right” movement.
    • We believe that people should not be stuck with software that doesn’t do what they need it to.  And that they can, and deserve, a system that is tailor-fit to their business. FileMaker and the development community are delivering on this concept in a huge way, and we are proud to be changing the lives of business owners every day.
  • Participation in the FileMaker Business Alliance Partner Council.
    • The FBA council is made up of nine FBA members from around the world. We meet several times throughout the year to help the team at FileMaker with strategy and product direction. I look forward to many great things in 2017 – stay tuned!
  • Hiring Dave Graham to head up Professional Services.
    • We now have a full-time person responsible for our custom development team!
    • Learn more here ->
  • Launching three new products: FMPerception, fmQBO and Barcode Creator
    • In addition to our custom software development services, we also make add-ons and developer utilities for the FileMaker platform. We finished two new versions this year, and invite you to download free trials if you havent’t already.
      • FMPerception v1.0 the fastest, most-accurate database utility for searching, analyzing and maintaining FileMaker custom apps.
      • fmQBO v2.0 – the easiest, most-reliable method for keeping FileMaker in sync with QuickBooks Online.
      • Barcode Creator v1.5 – The easiest way to generate Barcodes with just Filemaker.
  • Thousands of views of our “JavaScript is Eating the World” video.

A personal highlight is the work that we do in our community. Thank you to everyone who is part of the non-profit education center that my wife and I founded called One Spark Academy.  We’re so thankful to everyone who has contributed to the success of this organization that has helped more than 150 children.  Learn more or donate to our year-end fund drive here:

I wish all the best to you and your families in 2017, and I look forward to connecting with you again in the New Year.

Warm regards,
~ Todd

Todd Geist
Geist Interactive

FileMaker Accounting Integration Webinar

FileMaker is a great platform for building custom data driven applications. But should you use it to build your own custom Accounting solution? Probably not. In this FileMaker Accounting Integration webinar hosted by FileMaker Inc, we cover the benefits of building custom business applications with FileMaker and integrating them with Quickbooks Online.

Read more

FileMaker Script Call Chain Visualization – FMPerception

We are very excited to release the prettiest new feature to hit FMPerception, since it’s initial release. It’s called the Call Chain Diagram.  You can use the diagram to easily visualize all the scripts that call or are called by a given FileMaker Script in an interactive 2D chart.

Read more

JavaScript is Eating the FileMaker World Video


My presentation, “JavaScript is Eating the World” was released last week along with the rest of the Web Track presentations.

Read more