Designing Data Models

Bonus Lessons

Attribute Labels

When we started building the logical data model, we stopped using columns like Opportunity ID and Opportunity Name and used a single attribute, Opportunity. 

In GoodData, attributes have one or multiple labels, which is how the attribute value is displayed in insights. In this example, the attribute Opportunity has two labels, Opportunity ID and Opportunity Name. The unique Opportunity ID is the primary label, and the Opportunity Name is the secondary label.

opportunity attribute

Opportunity Name does not need to be unique. There can be two or more opportunities with the same name. If Opportunity Name is an attribute, the insights with Opportunity Name will aggregate all opportunities with the same name into one. If Opportunity Name is a label and there is a unique Opportunity ID, GoodData knows these are different opportunities with the same name and works with them separately.

Attribute labels can be of different types. Besides the usual text, e.g., Opportunity Name and also “FirstName LastName” or “LastName, FirstName” for Opportunity Owner, there can be:

  • Hyperlink labels: The primary attribute label will be a hyperlink, e.g., the primary label is “GoodData,” and the hyperlink label is “”
  • Geo pushpin labels: This attribute can be displayed in geo charts. For example, the primary label is “San Francisco,” and the geo pushpin label is “37.7749;122.4194.”