Incorta offers two types of business schema views- regular and analyzer (Runtime or Incorta) views and both are useful to support various use cases.
What you should know before reading this article
We recommend that you be familiar with these concepts in Incorta Docs.
These concepts apply to Incorta release 4.6 onwards.
Business Schemas can contain any number of business views. These views can be defined as Regular views or an Analyzer views. We will discuss some of the best practices for these.
This is our standard and most heavily used view for organizing attributes and hiding the complexity of the physical schemas for dashboard creation. Best practices for this type of view have been covered in another article. Regular views are also well suited to issue queries against external tools like Tableau and PowerBI.
An Analyzer View creates a standalone in-memory data cache when it is invoked for the first time from a dashboard and can be used to present a pre-computed, flat dataset for which no schema loading is required. The view can be defined as either an Aggregated Table or a List Table. It can include complex formulas, filters or any other object used to define a regular table insight .
These views are ideal for power users who can create a flat table by joining any number of tables linking transactions and dimensions. Business users should not worry about joins, or cardinality of the final data set. They can just use it as a simple table to group by any dimension, or aggregate any metric in the set. They can also be defined with a filter to expose subsets of the data, unlike Regular Views.
Good Uses of Analyzer Views
- Creating logical, flattened datasets
- Use as a filter in a dashboard insight via a InQuery operator
- Creating prefiltered datasets
- For performance improvement of aggregate queries
- Securing detailed transactional data, when you want to filter the data set via a session variable (for user data security) as that is not available in a regular business view. For example, you are reporting on employee salary. A manager should only see the salary of the employees in his organization but we do not want to secure the base table as we need to do aggregate reporting on the base table as there is a need for all managers to have access to aggregated data on employee salary by department. To be able to support this ask, the physical table should not have security predicates.
- Cohort analysis- A cohort analysis is a process of analyzing the behavior of groups of users. You can compare groups to one another and look for differences and trends.
- To further filter on Level based measures in charts or pivot tables
Be Aware of Potential Challenges
- Try to aggregate or filter the Analyzer View as we do not recommend loading hundreds of millions of rows in memory which will consume lots of Analytic Services memory.
- Analyzer views are also exposed in SQLi and will show up as a table in Power BI or Tableau but be careful when using with PowerBI or Tableau as Spark fallback queries will fail.