Reference: Comparison of Attributes and Dimensions
Behavior Comparison
Custom dimensions are similar to attributes, but serve a different purpose in your model. Imagine your data as sheets of paper filed in a cabinet. Custom dimensions are the folders that hold the paper. Attributes are the codes that you put on the folders.
The behavior and capabilities of attributes in the model differs from dimensions. To select between the two, consider these tables.
Capabilities
Capabilities | Custom Dimensions | Attributes |
|---|---|---|
Tag levels | Must have the List dimension off in the Dimension Details . | Yes |
Tag accounts | No | Yes |
Tag versions | No | No |
Tag custom dimensions | No | Yes |
Secure for access rules. | Yes | Yes |
Deleting affects data. | Yes | No |
Easy to delete. | No | Yes |
Hierarchical. | Conditional | Yes |
Add to a standard sheet. | Yes | No |
Add to cube and modeled sheets. | Yes | Yes |
Hide values from specific versions. | Yes | No |
Behavior with Data
Custom Dimensions | Attributes |
|---|---|
Are metadata even when they tag levels. | Tag metadata (accounts, custom dimensions, and levels). |
Create specific intersections of data in the model, along with levels, time, and accounts. | Associate with the data that intersects at the tagged metadata. |
Behavior in Tagged Hierarchies
Custom Dimensions | Attributes |
|---|---|
You can only tag levels with custom dimension values, and the dimension must not have the List dimension option on. You don't need to tag child and parent levels with the same level dimension value. Each sibling level can have different custom dimension values. | Child metadata inherits the attribute of the parent metadata. Example: Tag the G&A parent level with West Coast . We automatically tag all the levels that roll up to G&A with West Coast .
To tag each level with a different attribute value, you must leave the parent level uncategorized or create a hierarchical attribute value list. Example: East Coast attribute value has 2 child attribute values: Northeast and Southeast . Tag the G&A with East Coast . For the child level, you can select East Coast , Northeast , or Southeast . |
Behavior with Levels
You can use either attributes or custom dimensions to tag levels.
Custom Dimensions | Attributes |
|---|---|
When you tag levels with custom dimensions, you must associate the level dimension to the data. Otherwise, we tag the data with the Uncategorized value of the level dimension. Assigning the level dimension value to the data partitions the data further by the level dimension values. | When you tag a level with an attribute, the level always has that attribute. All the data associated with the level is also associated with the attribute. |
When you add the level dimension value to a report, the report returns all possible combinations of the levels and level dimension values. | When you add the level attribute value to a report, the report returns only the levels tagged with the attribute values. |
On sheets, you must have the level dimension on the sheet to associate it with the data of the related level. From the sheet, you can override the custom dimension value associated with the level. Example: Tag the Finance level with East Coast . In sheets, select the Finance level. Select the West Coast dimension value. The data now intersects at Finance and West Coast . | When you enter data at the level, the attribute tagging the level automatically tags the data, even when the attribute isn't on the sheet. The attribute is read-only when it's on the sheet. |
Behavior on Sheets
Sheet Type | Custom Dimensions | Attributes |
|---|---|---|
Standard | To tag the data with the custom dimension values, the custom dimension must be on the sheet. Otherwise, the data automatically gets tagged with the Uncategorized value of the custom dimensions. | You don't need to add the attribute to any sheet. Example: We automatically tag all data at the Finance level with the level attribute value, East Coast . |
Modeled |
|
|
Cube |
|
|