If an index changes for a reason other than the user changing via the Analytica User Interface -- such as if it is computed from other variables that change, or it is updated via the API in ADE -- it may affect Edit Tables that use that index. This process is called splicing. Usually Analytica waits until the table definition is needed before performing the splice, rather than doing it immediately an index changes.
Normally, the Analytica user won't notice, or need to know, when the splice happens. Occasionally, you may want to force the splice: One reason is when you want to save a model, and want to incur the splice effort before saving rather than on loading the model, which may add to load and evaluation time. Another is to check for possible errors caused by the splice immediately. By forcing the splice, you will see any such errors. The commands SpliceIndex and SpliceTable give you ways to do that from the Typescript or a Button Script.
Forces all unspliced indexes and tables to be updated. This is equivalent to:
Splices the table definition of «var» to reflect the current values of all its indexes. It splices all indexes of var, and all other tables that use those indexes.
Forces index «i» to be spliced. It updates all child table definitions, although not necessarily each child table, since it might contain other unspliced indexes.
New to Analytica version 4.0; available as in build 18.104.22.168 or later.
In builds Analytica 4.4.1 and 4.4.2 (but not 4.3, and fixed in patch 4.4.3), there is a bug with
SpliceIndex All which has an easy workaround. With the bug,
SpliceIndex All does not take effect immediately, but will take effect when another splice index occurs. The work around is to execute
SpliceIndex All, then immediately execute SpliceIndex Time (you can do it on any index). After the second SpliceIndex, the
All will take effect.