...
The Price Setting Simulation (PSS) Model Class organizes a list of logics to create the model architecture. It is a JSON file that refers to some logics and it is transformed into an optimized UI in the Pricefx platform. See /wiki/spaces/UDEV/pages/3861578076 Models and Model Classes for more information.
The general architecture of the Price Setting Simulation Model Class is:
...
Expand | ||
---|---|---|
| ||
This logic extracts data and formats them in a way understandable by the Optimization Engine. More details in Problem Tables. There is strict formatting for these tables. |
...
Expand | ||
---|---|---|
| ||
Plumbing If there are different data to send to the OE, it is the place where to write them. The fields For example, if we add a variable
We need to add this information in the model table If the new data is not available and requires for example reading new fields from the Datamart, then the Aggregation logic (Calculation: Aggregating) must also be updated accordingly and the new fields added to the |
...
Expand | ||
---|---|---|
| ||
I want to add Results Charts Let’s say we added a new discount in the waterfall, we now must change the existing charts to display this new information. However, as we can only create tables in a calculation logic, some new charts may need to add an element to store the data in a usable fashion. It should be done in Note that this can lead to slight differences in the implementation of the same chart between the Impact or Details tabs and the Analysis one as the Analysis tab must be updated given the set of filters inputted by the user. For example, the tables in Details are displayed using |
...
Expand | ||
---|---|---|
| ||
The dashboard displays three model tables corresponding to the aggregation by product, customer, and product/customer. These tables are built in Calculation: Prepare Results. The last portlet provides a summary of the non-blocking errors, calculated in Calculation: Check Data. |
Expand | ||
---|---|---|
| ||
If another table is created and should be provided to the user, this is the place where to add it. If the non-blocking errors are defined differently, it would be better to change the wording here. |
...
Expand | ||
---|---|---|
| ||
The configurator logic |
...
Finally, note that the Simulation can be instantiated from the Model Objects list, allowing the creation of several simulations per a Price List and making the development and debugging easier. To do so, simply create a new Model Object using the correct Model Class (more details in /wiki/spaces/UDEV/pages/3862528089 Models). The first step will then allow configuring the input to use for the simulation (PL, LPG and optional secondary keys). Be sure that when you add inputs in the first step, they are both usable from the Models view and from the drawer in the PL/LPG simulation option and auto-filled with the PL data when needed. For that two actions are needed:
Updating the logic building the user inputs (refer to Input Step).
Updating the mapping in the drawer (refer to the previous paragraph Configuration in PLPGTT).