Denormal Dimensions

Last update: 2022-10-04
  • Created for:
  • User
    Admin
IMPORTANT

Read more about Data Workbench’s End-of-life announcement.

A denormal dimension has a one-to-one relationship with its parent countable dimension.

You would define a denormal dimension whenever the desired dimension contains a unique element for each element of its parent. For example, EMail Address is a denormal dimension with a parent of Visitor. Each Visitor has an email address, and each element in the EMail Address dimension is the email address of a single visitor. Even if two visitors have the same email address, the addresses are distinct elements of the EMail Address dimension.

You can use denormal dimensions in any table visualization, in detail tables, or to create filters. In addition, you can use denormal dimensions with the data workbench server’s segment export functionality to export values of fields (such as Tracking ID or EMail Address) that have lots of values. Because any segment data that you want to export must be defined as a dimension within the profile, you must create a denormal dimension that stores the raw strings of the field’s data.

NOTE

When using a denormal dimension in a table or other visualization that expects a normal dimension, a derived denormal dimension is created automatically. The derived denormal dimension has a one-to-many relationship with the parent dimension.

For information about the detail table visualization and filters, see the Analysis Visualizations chapter in the Data Workbench User Guide. For information about segment export, see the Configuring Interface and Analysis Features chapter in the Data Workbench User Guide.

NOTE

Denormal dimensions can be very expensive in query time and disk space. A denormal dimension with parent Page Viewand a 50-byte average input string could add 25 GB of data to the buffers in a typical, large dataset, equivalent to about 13 simple or numeric page view dimensions, or about 125 session level dimensions. Never add a denormal dimension to a dataset without a careful evaluation of the performance impact.

Denormal dimensions are defined by the following parameters:

Parameter Description Default
Name Descriptive name of the dimension as it appears in data workbench. The dimension name cannot include a hyphen (-).
Comments Optional. Notes about the extended dimension.
Condition The conditions under which the relationship between the Parent and the input field's value should be created.
Hidden Determines whether the dimension appears in the data workbench interface. By default, this parameter is set to false. If, for example, the dimension is to be used only as the basis of a metric, you can set this parameter to true to hide the dimension from the data workbench display. true
Input The value that is related to the parent dimension (Parent).
Normalized Elements A performance tuning parameter that specifies the number of dimension elements whose names are to be stored in system memory. Setting this parameter to a higher value causes a denormal dimension to use more RAM but results in faster queries. The default value is 16383.
Operation

Available operations are as follows:

  • FIRST NONBLANK: The first non-blank input value is used, regardless of whether it comes from the first log entry. If Input is a vector field, the first row in the vector for the relevant log entry is used.
  • FIRST ROW: The value for the first log entry related to the parent dimension element is used, even if the input is blank. If Input is a vector field, the first row in the vector for the relevant log entry is used. If this value is blank or not a number, or if the relevant log entry does not meet the dimension's Condition, no value is used.
  • LAST NONBLANK: The last non-blank input value is used, regardless of whether it comes from the last log entry. If Input is a vector field, the first row in the vector for the relevant log entry is used.
  • LAST ROW: The value for the last log entry related to the parent dimension element is used, even if the input is blank. If Input is a vector field, the first row in the vector for the relevant log entry is used. If this value is blank or not a number, or if the relevant log entry does not meet the dimension's Condition, no value is used.

Note: If Operation yields no value, a blank value ("") is used.

You should specify an operation to ensure that the dimension is defined as intended.

Parent The name of the parent dimension. Any countable dimension can be a parent dimension.

The denormal dimension shown in this example takes all of the data in the field x-trackingid as input and includes it in a dimension named Visitor ID. For a segment of visitors that you have created, you can export the data in the Visitor ID dimension (as well as any other defined dimension).

On this page