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 object navigator:
Select the Create > Dictionary context menu item.
Select the New Object > Dictionary item in the Create group on the Home ribbon tab.
A common dictionary wizard opens after executing one of the operations. Common wizard pages are described in the Working with Wizards section. On the Object Type page select the required dictionary type:
After the dictionary is created, its contents can be viewed.
There are following types of dictionaries:
Table Dictionary. The dictionary is used for structured presentation of elements without the ability to add or edit them. To create a dictionary, a table data set or MDM dictionary is required. Each data source record is a dictionary element that must contain definitions of all dictionary elements. The user can use various filters to limit the amount of data, which is moved to the dictionary. A table dictionary can manage contents by means of parameters, that is, it is a dynamic dictionary. It can be created in any place of the repository:
Calendar Dictionary. A calendar dictionary contains hierarchical view of time scale with defined detailing.
Such a dictionary supports the following levels of detailing (frequency): annual, 9 months, semi-annual, quarterly, monthly, weekly, and daily. 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 create 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. 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 for building of elements tree of 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:
Table MDM Dictionary. The dictionary is used for creating a structured data presentation with possibility of its transformation. Creating a dictionary does not require a data source. Data can be entered manually or loaded from the data source to the dictionary by means of the built-in ETL tools. Dictionary elements may change in time, that is, may have several versions. Table MDM dictionary can be created in any place of repository, not only in the MDM repository. A table MDM dictionary that uses a single table to store data. A table is created automatically on creating a dictionary and is the dictionary child object. The table fields correspond to the dictionary attributes. Creating a table MDM dictionary requires a database to store dictionary data that is located outside the MDM repository:
Composite table MDM dictionary. A table MDM dictionary that includes both its own elements and elements of other MDM dictionaries:
Depending on the dictionary structure, there are the following types of dictionaries:
Recursive dictionary. A dictionary with levels number that cannot be fixed at dictionary creation, as the number of levels depend on the data on which the dictionary is based.
Non-recursive dictionary. A dictionary with the number of levels fixed at its creation and independent on the data based on which the dictionary is created.
The dictionary can be:
Hierarchical. Dictionary elements are arranged at different levels of hierarchy and are linked by "parent-child" relations
Non-hierarchical. Dictionary elements are arranged at one level of hierarchy and are not linked by "parent-child" relations.
NOTE. Dictionaries can be created only in the desktop application. In the web application, it is possible to work only with table MDM dictionaries and composite table MDM dictionaries.
See also: