Creating Dictionaries

A dictionary is a linear or hierarchical list of elements containing brief and precise information on the same topic. Most often 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 play the role of indexes, which are used to create a coordinate vector of indicators stored in the cube cells. Each dictionary element has 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, 9 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, tat is, this is a dynamic dictionary.

To build this type of dictionary, it is not necessary to create tables and link 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 drill down 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. In general case 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:

NOTE. One can create and work with a composite MDM dictionary only in the desktop application.

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

The dictionary can be:

See also:

Structuring Data Sets | Working with Dictionary