The model calculation logic is meant for model calculations – usually long running calculations, data crunching, data preparation, wrangling, machine learning, AI optimization, etc. As they can take long, they are executed asynchronously.
The model calculation logic is executed at the beginning of a step, i.e. when the user:
Opens the first step of the Model on the Model Detail page.
orNavigates to the next step of the Model.
It is always executed before the tabs of the step are evaluated.
This logic results are provided in many forms - see the Expected logic execution outcome at the end of the Logic API below.
Configuration
Calculation logics are used/referenced in model calculations, they are always used in a given step as declared in the Model Class and executed at the beginning of the step, that is before any of the tabs of the same step could be evaluated.
Logic API
Logic Nature:
model_calculation
Execution Types:
Standard – Calculates (e.g., produces data in Model Tables) based on the previous steps inputs and previous calculations outputs.
Information provided to the logic:
binding variables
model
(see ModelCalculationFormulaContext). It includes, for example:Model tables
Inputs from previous steps tabs
Outputs from previous steps' calculations and from their tabs' calculations
Common Logic Actions:
Create model tables
Read from / write to the model tables
Call some Engines, using Job Trigger Calculations
Generally
Anything read and write related to the Model Object (MO) where they are executed
Everything that can be done with Evaluation Logics
Expected logic execution outcome:
logic results are provided in the form of:Output of visible logic elements - are meant to return simple information (for big quantities od data use Model Tables). The element outputs are saved to the Model.
Model Tables (kind of Datamart tables) - Intended to store big data quantities.
Model Parameters (kind of Company Parameters) - Keeping various results, including those, which we expect to be modified by the user.
FilterTrees - data provided in tree structure. Usually intended for visualizations on Tabs.