Splicing Commands



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.

SpliceIndex all

Forces all unspliced indexes and tables to be updated. This is equivalent to: SpliceTable all

SpliceTable var

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.

SpliceIndex i

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.

History

New to Analytica version 4.0; available as in build 4.0.0.32 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.

See Also

Comments


You are not allowed to post comments.