Essential Terms and Concepts
Review the information in this article to get the most out of the GoodData platform. Knowledge of the following terms and concepts is essential to use GoodData effectively.
A workspace is an analytical environment of the GoodData platform. Workspaces are where you load your data and arrange it into a logical data model.
You can create multiple workspaces addressing either different analytical use cases, or the same use case for different groups of your clients. For example, if you have four sets of data from four different customers that need analytics, you should create a workspace that corresponds to each customer.
Access to workspaces is granted to users and depending on their role, they can use, create or modify the objects.
For your first workspace, we recommend that you use the Demo workspace to familiarize yourself with the capabilities of the GoodData platform.
The Dashboard presents the insights you create in the Analytic Designer to end users. Dashboards can also contain descriptions and additional filters. You can view the Dashboards from within the GoodData Portal or from another application that the Dashboard is embedded into. You will find Dashboards under the Dashboards tab in the GoodData toolbar.
Analytical Designer is a GoodData component used for building insights. You or your clients can build insights from metrics and other logical data model elments in an intuitive drag and drop user interface. You can also embed Analytical Designer into another application. You will find the Analytical Designer under the Analyze tab in the GoodData toolbar.
Insights are visualizations (tables or charts of various types) which display the values of facts calculated in the context of selected attributes. Insights are local to individual workspaces. They can be placed onto Dashboards to be presented to the end users. You build insights in the Analytical Designer from the Analyze tab in the GoodData toolbar.
Facts are one of the objects in the Logical Data Model (LDM). Facts are a numerical piece of data that mathematical functions work on, for example, the price of an item or the quantity of items. If you think of a dataset as a table, a fact is a column with a numerical value in it (measurements, amounts, sizes etc.)
When creating an insight, facts from the LDM can be used to build metrics.
Attributes are one of the objects in the Logical Data Model (LDM). If you think of a dataset as a table, an attribute is a column with a string value in it. It typically is a text value that gives context to the facts, but an attribute can also be a numerical value.
Attribute values are used for slicing and filtering.
Using a GoodData-specific language called MAQL, metrics define how to calculate (slice) your data. Metrics can be the simple aggregation of facts
(SUM(revenue)), the count of distinct values for attributes
(COUNT(product)), or more complex expressions that include filtering or other business logic.
Metrics can be reused to calculate different contexts for your data. For example, a metric for revenue can be viewed (sliced) by region or by month. You can also nest metrics and define done metric using another metric.
When creating an insight, facts from the Logical Data Model (LDM) can be used to build metrics.
Aggregation is the process of grouping the values of multiple instances of a particular numerical fact into a single value by using aggregation functions such as sum, average, minimum, maximum, and count. For example, the price of order #1 and the price of order #2 can be aggregated into a single value that reflects the sum for orders. This summary value can then be reported or further manipulated for analytics.
MAQL stands for Multi-Dimension Analytical Query Language and it is an analytical language developed by GoodData. It works with the dimensional Logical Data Model and allows you to define various operations from simple aggregations of facts to advanced things like locking facts by various attributes, selective filtering or filter exclusions, or comparing data points with previous time periods.
Slicing is when you calculate a fact by a particular attribute or a set of attributes. If you are looking at a revenue fact grouped by region, you can say the revenue is sliced by region. Using MAQL, you can create metrics that slice facts. These expressions can then be further sliced with additional attributes.
Filtering typically means limiting the set of data that is going to be analyzed or visualized.
In GoodData you can apply filters in several places, and the filters can be combined. For example a metric can have a filter as a part of its MAQL definition and an insight can be filtered by an attribute or a metric. Dashboards can also contain filters that can further narrow the analysis.
Logical Data Model (LDM)
Each workspace has a logical data model (LDM) which defines what data is available for analysis and what the relationship is between different data entities (datasets). In GoodData, the LDM is often represented by a diagram with arrows connecting datasets in hierarchies. This diagram can be referred to when building metrics and insights.
The LDM defines what metrics you can create using MAQL, as well as how you can slice and filter your data. Because the insights that are available to you are based on the LDM you create, the LDM should be created with your reporting requirements taken into consideration.
Whether you load your data to a GoodData workspace from a data warehouse or from a CSV file, you will always create a logical data model.
Datasets are the basic organizational unit of the Logical Data Model. They are a collection of related facts, attributes, and references. You can imagine a dataset as a table or a collection of tables.
Datasets hold the data loaded into them as records. Each dataset should have a defined granularity.
Granularity is a term that refers to the level of detail (also known as grain) stored in a table. For example, if you have a table that contains the attributes Date, Store, and Product, the level of detail is products sold in store by day. Within a dataset, granularity refers to what each particular record in the dataset represents. This is often determined by the primary key. All records in a dataset should have the same granularity. Ideally, the level of detail should be at the lowest level.
The primary key is a value that uniquely identifies every single record in a table/dataset. In the case of the GoodData Logical Data Model, the primary key can either be an attribute or a set of attributes.
A multi-tenant setup as it applies to GoodData means you can build an analytical application and then scale it to hundreds or thousands of your customers (tenants). You can provide each customer their own workspace with a Logical Data Model and predefined common Dashboards and calculated measures, and they can customize their workspace with custom insights or metrics. You can use the Life Cycle Management to create and maintain the workspaces and release new versions of your dashboards while retaining the modifications.
Embedding as it applies GoodData means putting a piece of the GoodData application into another application. Examples of components which can be embedded into iframes are Dashboards and Analytical Designer. Insights can also be embedded on the front-end source code level using GoodData.UI React components. Embedding is often used while building multi-tenant analytical applications.