Using a semantic layer enables a new way of working that requires some change in thinking if you are used to traditional BI. Most importantly, it allows data teams to focus on building a metrics catalog, and enables all end-users to explore metrics themselves and do much more of the BI work together.
Workspace and members
Your workspace is your mission control inside Steep, where all your metrics and interactions live. Most organizations will stick to one workspace for their whole company. Invite members to your workspace to give them access to metrics and reports.
Connect your database (or data warehouse) to your workspace to enable access to your data. Steep generates SQL using the semantic layer and supports most modern SQL databases. Smart caching allows the platform to provide a snappy user experience to a large user base without overloading your database.
The metrics catalog is the main view of your semantic layer and holds all your metric definitions and corresponding metadata. It is used to define a set of metrics that powers all the calculations and visualizations in your workspace. This system provides built-in consistency and allows you to not repeat yourself. Somewhere between 40-60 metrics is usually enough for a typical tech company with multiple functional areas.
Each metric is a defined calculation on top of your data, along with a time dimension and 0-n categorical dimensions. From the definition, the semantic layer generates native SQL to calculate your metric by the chosen dimensions. You can choose to define metrics either using the UI or in code using the dbt integration (or a combination of the two). There are templates for standard calculations available, and the option to write custom SQL expressions where needed.
In the catalog, you can also document and organize your metric to make it easier for all users to explore. You can also assign ownership to distribute responsibility for maintaining definitions.
The semantic layer and Steep should sit downstream of your ELT, so you can define your data model using tools like dbt or Airflow, and publish metrics using the semantic layer.
Explore and analyze
From your metrics catalog, any user can start exploring and analyzing metrics by simple clicking on them. Steep gives you an intuitive UI - the Explore view - that allows anyone to do flexible multi-layered analysis. For each metric you can switch visualizations, control time period and time grain, and break down by different dimensions. On top of that you can then add layers to combine multiple metrics, overlay targets, apply window functions, and more.
The experience is designed to be easy for everyone and deep for experts. Since it is powered by the semantic layer, it lowers the barrier for all end-users to explore and answer questions on their own. And the ability to combine metrics and work with layers helps experts to explore more ideas faster.
When you have found an interesting view of your metric, you can save it to a report.
Reports are flexible documents where you can combine charts, text, tables, and other blocks of content to create any kind of output. For example, they can be used for key metric updates, deep dive analyses, live trackers (dashboards), ad-hoc analyses or personal explorations. You can control whether chart blocks are updating (on a rolling period) or if they are fixed to a specific time period.
Just as with exploring metrics, reports are intuitive enough to allow any user to start creating their own content. And they support having multiple users editing at the same time. Reports start out as private and you can share them with specific people, teams or the whole workspace.
Teams are a useful way to organize your Steep workspace. A team is a group of users that get access to their own team space. Team spaces are the team’s home in the workspace and can be customized to their needs. You can add widgets directly to the team space for quick access to their most important metrics and targets. You can also pin reports to team spaces to highlight important or timely content.
Teams in Steep usually correspond to your organizational units (such as sales, operations or management team) and is also useful for project teams (like a market launch or product launch). Users are free to join any public team, and as an admin you can also help out with assigning people.
Teams are also useful for controlling permissions.
Steep uses both user roles and resource-level sharing to control permissions.
There are two roles on a workspace level: users can either be members or admins. Members can explore all defined metrics, create reports and access all resources that are shared with them. Admins can do everything a member can, and also manage metrics, database connections and manage private teams.
Beyond roles, you can control permissions on all resources in the workspace:
- Teams can be public or private, with private teams requiring users to be invited to access them.
- Metrics can also be public or private, and private metrics can be shared with specific teams.
- Reports can be shared with specific users, teams or the whole workspace.