Creating Dictionaries

A dictionary is a linear or hierarchical list of elements containing brief and precise information on the same topic. Usually, dictionary data is arranged in accordance with a certain order (alphabetical, systematic, chronological, and so on) which makes it easy to quickly find required information.

In the multidimensional model of data, dictionary elements act as indexes, which are used to create a coordinate vector of indicators stored in cube cells. Dictionary elements have a set of attributes such as element name, unique code, and element order in the hierarchy. When elements in the dictionary are combined, the hierarchy – the most important property of a dictionary – emerges. As a rule, hierarchy is displayed as a tree, which nodes contain dictionary elements linked with attributes of ownership.

To create a dictionary in the object navigator:

Select a type of dictionary to be created on the Dictionary Type page in the dictionary wizard.

Dictionary wizard pages depend on dictionary type. After creating a dictionary, one can work with it.

Dictionary types:

A calendar dictionary supports the following drillthrough levels: years, nine months, half-years, quarters, months, weeks, and days. Its contents is generated automatically depending on the specified parameters.

A calendar dictionary enables to dynamically define beginning and end of the time scale, that is, this is a dynamic dictionary.

Building this type of dictionary does not require creating tables and linking table elements. The user only needs to select calendar levels, whereas elements and their interaction are generated by the system:

NOTE. A calendar dictionary does not support drillthrough by the time level, only date is taken into account.

Sub <Name>(UserDim: IUserDimension; Builder: IDimBuilder; Params: IMetabaseObjectParamValues);
Begin
    //Code to create element tree for a calculated dictionary
End Sub <Name>;

A procedure and parameters can have any names satisfying the Fore language specification.

A unit is executed each time a dictionary is used. However, due to object caching in the platform this operation is automatically executed only if the unit is not available in cache, or when executing the Update operation. Generally, a calculated dictionary does not require a table to store its elements. Unit 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:

Depending on the dictionary structure, there are the following types of dictionaries:

The dictionary can be:

See also:

Structuring Data Sets | Working with Dictionary