This section uses a further example to explain how the PreProcessVariables Table can be used in the Configuration sheet for generating Synthetic Data.

If we look back at our database model:

we see that the Model consists of 4 tables and 1 Master Table which is Country. The top tables are Customer and Supplier which do not depend on any other tables. The Order depends on Customer. The OrderItem can have some Products shipped through a Supplier.

Now if we look at the Tables listed in the Table sheet, 

we can see the Tables for which we are going to generate data: SupplierProductCustomerOrder and OrderItem.

If we look at the PreProcessVariables Table below, we can see a set of Variables.  Lines 2-5 are default Variables set by the system, but lines 6-12 in the configuration sheet, are custom rules that have been added by the user.

When a Variable is added to the table, it is either added as a Variable or from a flow which would be added as a Parameter.

Note that the function type ModelList is defined by a list of items from the Database in a Model generated by Registering Model e.g. List of Products.

that varCurrentProduct is being set to a random Product via varExisting_Product (line 13 in spreadsheet)

PreProcessVariables Table
and varCurrentProduct is being linked to Product via ProductId  (line 3 below).

OrderItem Table
Note that the scope of the PreprocessVariables is determined by the scope defined in the PreProcessVariables Table.