Dictionary structure is set similarly with that of a table dictionary. A dictionary is filled with elements based on the user algorithm. An algorithm is defined as a module written in Fore internal programming language. A module should include a procedure with the following signature:
Sub <Name>(UserDim: IUserDimension; Builder: IDimBuilder; Params: IMetabaseObjectParamValues);
Begin
//Code to create element tree for a calculated dictionary
End Sub <Name>;
The procedure and parameters may have any names satisfying the Fore language specification.
A module is executed each time a dictionary is used. However, due to object caching in platform this operation is automatically performed only if the module is not available in cache, or when performing an Update. In general case a calculated dictionary does not require a table to store its elements. Module definition may include any repository objects, including data tables.
A calculated dictionary can be dynamically changed via parameters, that is, this is a dynamic dictionary:
The table dictionary contains a number of basic pages described in the Working with Wizards section. The following pages are also available in the wizard:
Attributes. It is used to form the list of attributes, that describe each element of dictionary.
Sorting. It is used to determine dictionary attributes and the order by which dictionary elements will be sorted.
Structure. Dictionary structure is formed of blocks.
Levels. It is used to form the list of levels, which will be used to set up data aggregation.
Macro. A module containing custom procedure that will be used to create a tree of dictionary elements is specified.
NOTE. It is available to create and process calculated dictionaries only in the desktop application.
See also: