Advanced Filtering Support Using Structures

This page provides implementation information related to structures when the goal is to be able to use structures as advanced filters when create reports in IFS Business Analytics.

Contents

Overview

A structure defines a number of nodes to which leaves are attached. The leaves represent the information, e.g. basic data, that are defined in a hierarchy of nodes.

One example of a structure is the following where we have a geographical hierarchy with leaves that represent cities.

This is actually an accounting structure in one specific company where the code part B is defined to represent cost centers and the name of these cost centers are cities.

Many structures only consists of the following items and of course relations between them:

A structure also has levels but these are in many cases not used; they are only implicitly defined. In the example above the node ACME can be said to exist on the implicit level 1 and so on.

There are however also cases where the levels are explicitly defined, like in the case above for Accounting Structures in Financials. Each level in the structure is given an identity by the end-user. The main purpose is of course to simplify using accounting structures for analyzing purposes. So in this case a structure consists of the following items,

BI Services support both these cases and a client like IFS Business Analytics can take advantage of this functionality to create flexible, dynamic and advanced reports.

Advanced Filtering Support

Structures can be used as advanced filters, especially in a tool like IFS Business Analytics. Instead of having to manually specify a report criteria by listing a large number of single values, it i easier to group the data in a structure and then refer to the that structure. Assume that we want to filter only cost centers, cities, associated with SRI LANKA in the example structure. This can be done by using a filter where the following is specified:

Even if the the level part seems unnecessary it is recommended to specify a filter criteria based on structures as exact as possible.

The criteria can be interpreted as if the structure only has two levels and all leaves below the COUNTRY level are moved up in the structure to this very level. The node criteria then cuts out the node SRI LANKA and all the leaves attached to this node (after having moved the leaves).

We will now focus on how to implement structure support for advanced filter criteria in BI Services and especially to support IFS Business Analytics.

Consider the following:

The solution to the problem is the following:

Assume we have the following star schema:

In this case we have two dimensions that in Financials are based on code parts, meaning that accounting structures can be defined with code part values as leaves.

If we take a look at DIM_CODE_B it represents code part B values. In one company we have created the accounting structure exemplified above, where the code part values are cities that acts as leaves in the structure.

The dimension DIM_CODE_B has the following values:

Each line has a unique identity created as a concatenation of the company and the code part value.

Since the code part value is a leaf in an accounting structure, this means that the leaf value can appear many times in a company but actually only once per structure. The first thing that must be taken care of is to flatten out the structure information so that all leaves are moved up in the structure. The goal is to make sure that each level shows all leaves that affects it.

Here we see the example structure flattened out. We can see that all code parts, leaves, are present on all levels. It would of course look differently if there were leaves attached to the upper nodes as well. We also see that in the flattened out structure the code part value, leaf value, appears many times.

Next step will be to create an add-on dimension that will add code part B information to the base dimension (DIM_CODE_B). The flattened data is use as a base for this dimension and it is named DIM_ANALYTIC_STRUCT_CODE_B.

The dimension has the following values:

The dimension DIM_ANALYTIC_STRUCT_CODE_B has its own unique Metadata description. The important thing with the Metadata file is to provide the add-on information, i.e. adding Metadata to DIM_CODE_B.

The following items will be added:

In the Meta Data file the adding of items looks as follows for some of the mentioned items:

 

It is also important to provide nice List of values support for the added items. This is also done in the Metadata file for DIM_ANALYTIC_STRUCT_CODE_B.

List of values details are added to the items newly added to DIM_ADD_ON=DIM_CODE_B.

Sorting instructions are also defined for the List of values items added to DIM_ADD_ON=DIM_CODE_B

The Meta Data file is named MetaData_GenledBIDimAnalyticStructCodeB.ins

 

By adding the structure items to a base dimension in the way described, it is possible to handle advanced filtering based on structures. Note that it is important to: