📄️ Getting Started with Data Modeling
Essential concepts and best practices for modeling your data in Zenlytic
📄️ Metricflow (dbt Semantic Layer) integration
To integrate Zenlytic's data model with your dbt models, define the dimensions and measures (metrics) in semantic models section of dbt. Follow this page to get started with Metricflow (dbt Semantic Layer).
📄️ Models
Models are references to a database connection. They serve as the data model's reference to the warehouses itself. That connection to the database is referenced by the model's connection property, which references the name property of the credentials specified in the Zenlytic interface.
📄️ Dashboards
Dashboards are collections of dashboard elements. Dashboard elements are plots or tables created with a combination of measures and dimensions that can be joined together.
📄️ Topics
Topics are collections of tables (views) that can be joined together using foreign keys. They are specified in their own yaml files. Each topic uses its model's connection that it is defined in to get data.
📄️ Views
Views reference exactly one table in the database. They can be joined together using identifiers but always reference the same table in the database.
📄️ Joins
Joins are how views are connected to each other. The are defined by identifiers on the views. identifiers can be defined as primary keys, foreign keys, or explicit point to point joins.
📄️ Sets
Sets are collections of fields that can be referenced throughout your data model. They're a convenient way to reference several fields over and over again instead of having to re-type the names.
📄️ Access Control
Access control is managed in Zenlytic through two concepts. The first, access grants, cover column-based access control, and the second, access filters, cover row-based access control.
📄️ Fields
Fields reference either columns in the database (dimensions and dimension groups) or aggregates computed in a group by statement (measures or metrics). There are three types of fields dimension, dimensiongroup, and measure (we also refer to measures as metrics and use the terms interchangeably). For all fields, their fieldtype (one of the three just listed) is a required property.
📄️ Dimensions
Dimensions are references to a column in the database or combinations of those references to columns. They let you define columns along with labels and descriptions so business users can make sense of the data. You can also use dimensions as building blocks for measures, so if something changes in your database table, you only have to update it in one spot.
📄️ Dimension Groups
Dimension Groups are a particular type of dimension used for timeframes (referencing the same date column but having slices for it daily, weekly, monthly, etc), and for intervals (referencing the difference between two date columns and slicing it days between, weeks between, months between, etc).
📄️ Measures (or metrics)
Measures (or metrics) are aggregations performed inside of a SQL group by statement. A simple one is sum(sales), which you could specify in your data model with type $.sales. They can get highly complex and are as flexible as your data warehouse's SQL syntax.
📄️ Filters
Field filters can be attached to objects in several contexts. They can be used on fields (measures, dimensions, dimension groups), and dashboards (at the whole-dashboard level or the element level).
📄️ Field formatting
Passing the valueformatname parameter to your field lets you easily format values in a way that's easy to read for business users.
📄️ Symmetric Aggregates
Symmetric aggregates allow Zenlytic to calculate your metrics accurately even when there's a situation where the joins make that very difficult by duplicating the values to aggregate.
📄️ Table Calculations
This is a reference for the functions available to the table calculations, including examples of usage in practice.
📄️ Referenceable Attributes
Referenceable attributes are attributes that can be used in queries either on views or dimensions, dimension groups or measures.