Initializing help system before first use

xpressinsight.AppInterface.get_scenario_data

Purpose

Loads the entities described in annotations on the given class, from the given scenario, into an instance of the given class.

When fetching data from another scenario or app, you will supply a class that has type attributes annotated using the xpressinsight.data. or xpressinsight.types. helper functions, and is decorated using the ScenarioData or AppConfig decorator. It's recommended to use ScenarioData unless the class is the application class for the app being read from, as AppConfig will perform additional validation that is only relevent for application definitions.


Synopsis
xpressinsight.AppInterface.get_scenario_data(self, scenario_path_or_id: str, scenario_data_class: Type[~SCENARIO_DATA_CONTAINER], *, fetch_individual_series=False) -> ~SCENARIO_DATA_CONTAINER
Arguments
scenario_path_or_id 
The path or ID of the scenario from which you want to read.
scenario_data_class 
A class declared with the ScenarioData or AppConfig decorator.
fetch_individual_series 
Configures method by which DataFrame entities are fetched from the Insight repository; when True, they are fetched as an entire frame; when False they are fetched as individual series and then combined into a DataFrame within the Python runtime. The default ( True) is more efficient at the expense of using more memory in the Insight worker for some scenarios; try setting to False if you encounter memory errors in the worker when requesting a large data frame.
Return value

An instance of the supplied class, with the annotated fields populated with data fetched from the scenario.

This function may raise the following errors:

  ScenarioNotFoundError

If the requested scenario is not found.

  InvalidEntitiesError

If the annotations in the entity container class do not match the schema of the source scenario.

  InterfaceError

If there is some other error reading the data from the Insight worker.

Example
Read some entities from scenario /MyApp/MyFolder/MyScenario:
>>> @xi.ScenarioData()
... class EntitiesToRead:
...     my_integer: xi.data.Scalar(dtype=xi.integer)
...     my_string: xi.data.Scalar()
...     my_set: xi.data.Index()
...     my_array: xi.data.Series()
...     my_table: xi.data.DataFrame(
...         columns=[
...             xi.data.Column('my_first_column', dtype=xi.real),
...             xi.data.Column('my_second_column')])
...
... my_data = self.insight.get_scenario_data('/MyApp/MyFolder/MyScenario',
...                                          EntitiesToRead)
... print(f"the integer scalar I read is {my_data.my_integer}")			
Further information
The method get_scenario_data is part of the class xpressinsight.AppInterface.
Related topics

© 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.