Document toolboxDocument toolbox

Configuring ragged and unbalanced hierarchies

Applies to: Kyvos Enterprise  Kyvos Cloud (SaaS on AWS) Kyvos AWS Marketplace

Kyvos Azure Marketplace   Kyvos GCP Marketplace Kyvos Single Node Installation (Kyvos SNI)


BI applications vary in how well they handle a ragged hierarchy. If ragged hierarchies exist in your model, be prepared to do a little extra work to get the behavior you expect.

When you are working with unbalanced hierarchies, you can specify when a level should be hidden. 

Note

Kyvos supports naming semantic model entities in the ENTITY_ format, such as DIMENSION_, DIM_, and MEASURE_, and so on.

From Kyvos 2023.5 onwards, you can update all levels below when modifying the 'Hide Member' property. Previously, changes to the 'Hide Member' property were applied to all lower levels only when it was set to the default. For example, if you change level 2 from the default 'Never' to other values, all below-level properties also change for the first modification. Subsequent changes in any level of the hierarchy do not affect the properties of any other level. From now on, when changing the property of level 2 from 'Never' to 'OnlyChildWithNoName' and clicking 'Yes' in the following message box, all below-level Member properties will also change to 'OnlyChildWithNoName'."

Ragged hierarchies

A ragged hierarchy consists of entities where the parents skip a level. In such hierarchies, some of the branches may not have certain levels. In this case, a parent may not be available at the level just above its child.

Let us look at an example where we have two branches. The North American branch descends consistently through each level (Continent, Country, State, and City). However, you will notice that the Asia branch does not have the State level. It moves directly to the City level.

Like unbalanced hierarchies, the branches of a ragged hierarchy can also descend to varying levels. 

Unbalanced hierarchies

An unbalanced hierarchy consists of at least one branch that does not go down to the lowest level. This means some branches of the hierarchy will have more levels than others.

A simple organization chart is a perfect example of this type of hierarchy. While each member maintains a logical parent-child relationship, some branches in the hierarchy have more (or less) levels than others.

In the following example, the CEO is at the top level, followed by the Director of Sales and the Chief Operation Officer (COO). As the branches under the COO extend further than those under the Director of Sales, the hierarchy is unbalanced.

Example of an unbalanced hierarchy

Kyvos allows you to handle both ragged and unbalanced hierarchies without the need for complex data modeling processes. Users with no understanding of the underlying data sources can easily drag and drop data from their hierarchy.

They can see the correct aggregated values at each level and drill down and up across the hierarchy to further see the breakdown under each branch.

Now, let us understand this through a use case.

Consider a hierarchy: Sales Territory > Sales Territory Country > Sales Territory Group.

Certain members, such as France, are repeated throughout the hierarchy. Here is how it is displayed in MS Excel visualization.

As the member France is being repeated, the corresponding Sales Amount is also displayed redundantly. While designing the semantic model, you can hide these redundant levels using the Hide Member property in Kyvos.

To hide members of an unbalanced hierarchy, perform the following steps: 

  1. From the Toolbox, click Semantic Models.

  2. Select a semantic model from the list.

  3. Click a level to view the Level Properties on the right. 

  4. Choose one of the Hide Member settings. 

  5. Click Save to save your changes.

Points to note: 

  • Hide Member settings are only available from the second level of the hierarchy.

  • You can hide multiple levels using the Hide Member properties in a hierarchy.

  • If you set a property for a level, then the property also applies to all the levels lower than that level.

Note

The Kyvos administrator needs to set kyvos.build.blankvalue.badrow = false to enable support for unbalanced and ragged hierarchies.



Copyright Kyvos, Inc. All rights reserved.