1 Reply Latest reply on Mar 31, 2012 9:14 PM by philmodjunk

    Global Storage

    Vinny

      Title

      Global Storage & Indexing for CALC Fields

      Post

      I am using calc fields for building relationships.  For example, I have a calc field which calculates to "Active" in a table called "accounts" for building a relationship to filter only active accounts.

      I have been keeping this field with "Global Storage", but I found issues where the relationship didn't work.  The issue came up when I moved around several tables, and did some major changes to my DB.  (it had been working fine until I made several changes, too many to list here).

      When I changed the field to "Do not store calculation results" I found that it worked again.

      So this brings me to the question: what is the difference?  Is filemaker somehow "storing" this information somehwere? Does this have to do with "Flush cached joins"?

      I guess I need to understand how storage works in this situation.  If you have any comments or can point me in the right direction, I would appreciate it.  I'm also using this type of method for filtering "Vendors" and "Customers" for the same "accounts" table.

       

      Thank you,

        • 1. Re: Global Storage & Indexing for CALC Fields
          philmodjunk

          I recommend specifying global storage for a calculation field only in certain very specialized cases. For a key field used in a relationship, unstored will usually be a better option.

          Quoting from FileMaker help on calculation fields with global storage:

          "Calculations defined with global storage options display values calculated using the last modified record."

          Thus, the value returned by a calculation with global storage specified can produce some unexpected results unless you take that detail into consideration.