💠
Data Models
Overview & Detailed Walkthrough of Model Features.
Models, a powerful feature in Sprinkle that helps in presenting a multi-dimensional view of the table. It can be created without writing a single line of SQL query. It is configured with a simple point and click user interface.
🖱
Models : Explanation & Feature Walkthrough
Primarily Models comprise date dimensions, dimensions, and measures.
Measures are Quantitative data like Amounts, Averages, counts, Prices, quantity, etc. Measures can be aggregated and used to derive other measures.
💡
Dimensions are Qualitative data like names, dates, geographical locations, etc. which are used to categorize or Segment your data. They are the attributes on which the measures are calculated or grouped, and date dimensions are used to construct the data within a timeframe.
💡
The Model page consists of 5 tabs, namely, Table, Column, Expression, Joins, Hierarchies
The table tab contains an overview of the model, the name of the schema and the table on which the user wants to create a model. For creating a model, a table has to be selected and its columns need to be mapped to the Measures and Dimensions fields.
In the column tab, the list of columns of a given table is catalogued. Here, the user selects dimensions, and measures at different aggregates like sum, average, count, distinct count, etc whereas, in date dimensions, the time frame can be set for yearly, quarterly, monthly, weekly, daily and hourly basis.
Sprinkle allows users to create calculated columns at the model level. These calculated columns might be a dimension expression or measure expression on a given table. The tool also supports dynamic bucketing where users can give just the ranges and variable names and the buckets are created easily.
Joins is a feature that allows the user to join the fact table (from which the model is created) with other models. All the dimensions present in the joined Model can be used in this model. For example, an Order Model having customerId as one of the columns can be joined to the Customer table. Similarly, it can also be joined to the Product table.
To define the relationship between the fields, Hierarchies are added to the model. In a nested fashion, one value is controlled by another. For example: Country -> State -> District -> City -> Taluk can be one hierarchy where taluk value depends on their predecessors. This way, the values are filtered naturally, showing just the relevant values.
To create a model click on New. Give a name & description to the model and select the SQL Transform table or the DB ingested table and click on Next.
🖱
🖱

Create Model
After creating the model all the attributes present in the SQL Transform table are listed. Sprinkle by default chooses the dimensions, measures and date dimensions. The user can choose dimensions by just clicking on the checkbox.

Columns Listing
The measure can be chosen by selecting the required aggregate function like distinct, Average, Sum and Count.
In the below case, the count is selected for the Client column
⬇

Measures
Date dimensions are the time span on which a report is built. Sprinkle supports hourly, daily, weekly, monthly, quarterly and yearly reports. The below screenshot shows the date dimensions for the order date column. Click on the Create button to create the model.

Date Dimensions
Click on Create Report, to create a Report from the model page.

Create a report
The user can also add customized dimensions and measures on the Expression tab in models. Calculated columns are created using expressions to obtain the desired answer, in this case, the total sum of the line amount is created.
Click on Validate to test the expression, before saving it. Click on Done to save it as a customised dimension or measure.
🖱

Expressions: Validate & Done
Joins is a feature that allows the user to join the fact table (from which the model is created) with other models. All the dimensions present in the joined Model can be used in this model.
For example, a Google Ads Model having City as one of the columns can be joined to the Sales fact table as shown in the example below.
In Model joins, the Joins type can be selected from a list, say, Left Outer, Right Outer, Inner, or Full Outer Join. In addition to that, multiple conditions can also be created at one instance to join two models.

Joins
Browse to the Hierarchies Tab to Add details about the Hierarchies.
Here the Hierarchy levels need to be defined in the right sequence and saved in the model, and model build jobs need to be run successfully at least once so that they can be used in the dashboard.
Row-level security lets you manage the row-level access of the models. It lets you restrict users' access only to the relevant part of the table. For example, you can restrict users in "Karnataka" to access the sales data only relevant to "Karnataka" from the sales table.
It can be described as a method of modifying confidential data so that the actual values cannot be accessed. The data masking technique used in this feature is Dynamic Data Masking. It means temporarily hiding the data from users when they access it.
To Mask sensitive information like PII, PHI, and other confidential data from specific groups of users who do not require it on the platform.
In a Model, a set of fields can be dynamically masked for a group of users using the "Column Masks" feature. Data in these fields are not visible when the restricted user accesses Reports or Dashboards.
- 1.On a Model, browse to the Column Mask Section.
- 2.Click on the “+ Add Mask” Button, to create a new mask.🖱
- 3.The Masks you create are mapped to a group of users, who must be restricted from accessing the columns. So from the group name dropdown, select the group for which the mask is to be created.
- 4.Then from a list of columns in the model, select those that have to be masked.
- 5.By clicking the tick button, you can create the mask for the columns in the selected group.
The masks are honoured when Reports are generated from the model with masked columns. If users from the masked group access the report, they will see asterisks rather than actual data in those masked columns, while other columns normally show data.
Good to Know
- When a restricted group of users downloads the report, the column masks are respected in the downloaded file.
- Even when models are joined, the column masks remain intact.
Last modified 13d ago