Initializing help system before first use

Keeping Result Data When Modifying Input Data

It is possible to modify some input data without erasing result data when using REST API, JavaScript API, or VDL actions. This can be useful for adding comments to a scenario after execution, or for updating entities or controls for reporting purposes.
This capability must be enabled with a minor code change for each input entity where you want to allow it. If enabled, any update to the entity outside an execution mode does not erase result data.
Important: Use this feature with caution, as it can lead to inconsistent input and result data.

To update an entity without erasing the result data, modify your Python code as follows:

Mark the entity with the update_keep_result_data=True annotation, as in this example:
Indices: xi.types.Index(dtype=xi.integer, update_keep_result_data=True)

MyArray: xi.types.Series(index=['Indices'], dtype=xi.integer, update_keep_result_data=True)

The default value for update_keep_result_data is False. For any entity that does not have this annotation explicitly set to True, the result value will be erased (or marked as dirty) when the entity is modified. (However, if an annotated array has a single non-shared index set, the index set is also treated as annotated.)

You can now modify the entity without erasing result data, as in this VDL example:
<vdl-action-group name="updateArray">
  <vdl-action-update-entity entity="MyArray" indices=”=0” value="=5"></vdl-action-update-entity>
</vdl-action-group>
You can also modify the entity using REST API calls without erasing the result data.

This annotation does not affect model execution. In any execution mode, all result data is erased.

Note: An entity that is annotated with update_keep_result_data=True cannot be an index set that appears in the result data. Xpress Insight validates for this error during app import and update operations.

© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.