xpressinsight.AppInterface.get_scenario_data
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.
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
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.
|
An instance of the supplied class, with the annotated fields populated with data fetched from the scenario.
This function may raise the following errors:
>>> @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}")
© 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.