Levels

This chapter describes levels and related concepts, outlines the primary configuration options, and summarizes the available tools.

This chapter covers the following topics:

Introduction

Levels control how data is aggregated and organized. They are used in worksheets, in filters, in import and export, and in forecasting. In a worksheet, for example, you can display data at the account level, as follows:

the picture is described in the document text

The worksheet might include a drop down list instead of this tree control. For example:

the picture is described in the document text

In either case, you can display data for any account.

You can use multiple levels together, for example:

the picture is described in the document text

In generic terminology, the word member refers to a unit within a level. For example, CVS is a member of the account level. When the user hovers the mouse over a member, Demantra displays a hint indicating the name of the level to which that member belongs.

Levels and Filtering

Within Demantra, you generally apply filters by specifying a level and the members of that level to include. For example, the following filter includes only the Rainbow brand.

the picture is described in the document text

You can apply multiple filters at the same time. For example, for the preceding worksheet, you could also filter by account.

You can apply use filters in worksheets, in user security, and in import and export.

Levels and Member Management

Within a worksheet, a user can right-click and operate on a member. For example, a user can edit a member, displaying a dialog box like the following:

the picture is described in the document text

Here the user can edit attributes of the member, including its parent members. Most level members are imported from external systems, and users generally create or change members only if they expect the same change to occur in the imported data.

You can disable or hide the right-click menu options that permit these activities.

Custom Methods

As the implementer, you can define custom methods to perform operations on a selected member, for users to access as an option on the right-click menu. You can apply security to your methods, just as you do with the core right-click actions.

You can define a user security threshold for visibility of that method. For example, you can state the method should only be visible to users who have 'Full Control' of the member from which you launch the method. To control this, you log into the Business Modeler, select 'Configure > Configure Methods'. For 'Method Type'= Custom, you can select from the Security Threshold of Full Control, Read & Write or Read Only.

For information on methods, see “Methods and Workflow”.

Level Terminology

Demantra uses standard terminology to describe level hierarchies. The following figure shows an example of item levels:

the picture is described in the document text

This hierarchy corresponds to the following data:

the picture is described in the document text

The Product Family level is the parent of the SKU level, and conversely, SKU is the child of Product Family.

Hierarchy Variations

Your application can include multiple, independent hierarchies. For example, you could include the following three independent hierarchies:

the picture is described in the document text

The Product Family hierarchy is described above. The Brand hierarchy is as follows:

the picture is described in the document text

Note that this hierarchy is independent of the Product Family hierarchy. That is, there is not necessarily any relationship between brands and product families. The ABC hierarchy is not shown here, but is also independent of the other hierarchies.

Each hierarchy can contain as many levels as needed. Some hierarchies are typically much more complex than others.

Types of Levels

Demantra supports the following types of levels, most of which are indicated with different icons:

Demantra also provides special-purpose levels for use with specific products; see “Special-Purpose Levels”.

Note: The desktop products (Demand Planner and Demand Replenisher) can display only item, location, and combination levels. The Web products can support all kinds of levels.

Item and Location Levels

Every application includes at least one item level and one location level. These are useful levels because generally our applications are interested in products and how those products perform at different locations.

Item and location levels are also used in the forecast tree; see “Levels and the Forecast Tree”.

Combination Levels

As noted earlier, combination (matrix) levels group data according to time-independent characteristics of the item-location combinations. For example, the following partial worksheet uses a combination level that groups data by a user-controlled flag that determines which combinations the Analytical Engine will forecast:

the picture is described in the document text

Time Aggregations

A time aggregation groups data by time and are often used for custom calendars. Your solution can use time aggregations, custom time units, or a combination of both. Use the following guidelines to determine which you need:

na Names Uses in worksheet
time aggregation Each member can have a user-friendly name that you create. You can use a time aggregation like a level. For example, you can place it on a worksheet axis.
time unit Each time bucket in the worksheet is automatically labeled with the start date of that bucket. You can use time units only on the x-axis (the time axis) of the worksheet.

See also “Time Units”.

General Levels

A general level groups data by the item, location, and time bucket. Promotion Effectiveness uses general levels to model marketing promotions, but they could be used in other ways.

In addition to ordinary attributes, a general level can have a population attribute, which specifies a set of item-location combinations and consecutive time buckets with which the general level is associated; see “Population Attributes”.

Special-Purpose Levels

Demantra also provides the following special-purpose levels:

Members

Each level includes a set of members, each with different characteristics. For example, the SKU level includes a set of members, each corresponding to a different value of SKU.

Member Attributes

A level can have attributes, which are descriptive properties associated with the level (and stored in the table associated with the level). Each member can have different values for each attribute. You use attributes in several different ways:

You can have different types of attributes (numeric, character, or date), and you can specify a default value for each.

Population Attributes

As noted earlier, a general level can also have a population attribute, which specifies a set of item-location combinations and consecutive time buckets with which the general level is associated.

Because it is more complex than an ordinary attribute, a population attribute is stored in several additional tables that Demantra automatically creates.

Member Defaults

Users can create new members by using the right-click menu in a worksheet. To simplify this work, it is useful to provide default values for the attributes and for the parent members.

For parent members, Demantra provides a predefined default member for each level, and that member is initially named Default level name. You can choose whether to display this member and you can rename it. This predefined default member is not normally associated with any data, however; it is provided for convenience.

If you have data loaded in the system, you can instead choose an existing member to use as the default member.

So, for example, you could use any of the following as the default member of the Brand level:

A given level can have multiple parent levels. This means that you can specify a default within each of those parent levels. For example, in the default setup for Promotion Effectiveness, the Promotion level has three parents: Promotion Status, Promotion Type, and Scenario. When a user creates a new promotion, you may want the user to have a default value for each of these.

Member Identifiers

Whenever Demantra retrieves data for a worksheet, it uses the levels in that worksheet to determine how to group the database rows. For example, consider the following set of rows in a table of items.

SKU SKU_DESC ... FAMILY ...
RLF0013OR Rainbow LF Oatmeal Raisin ... Low Fat ...
RLF0016CH Rainbow LF Chocolate ... Low Fat ...
RLF0018VW Rainbow LF Vanilla Wafer ... Low Fat ...
RLF0019CW Rainbow LF Chocolate Wafer ... Low Fat ...
PLRG0209C Private Label Reg Chocolate Wafer ... Regular ...
PLRG0210S Private Label Reg Strawberry Wafer ... Regular ...
RLF0011CC Rainbow LF Chocolate Chip ... Low Fat ...
RLF0012PB Rainbow LF Peanut Butter ... Low Fat ...
RRG0007CN Rainbow Reg Cinnamon ... Regular ...
RRG0008VW Rainbow Reg Vanilla Wafer ... Regular ...
RRG0010SW Rainbow Reg Strawberry Wafer ... Regular ...
RSP0021AC Rainbow Spc Animal Crackers ... Specialty ...

Here the FAMILY field indicates the product family to which each SKU belongs. When aggregating to the family level, Demantra groups together all the rows with the same value of FAMILY.

The field that can be used in this way is called the code field for the level. When you define a level, you identify the field that Demantra should use as the code field for that level. For each unique value of the code field, all records with that value are grouped together as one member. (The nature of the grouping is controlled by the series definitions, as described in “Series”.)

Code and Description Fields

For each level, the enterprise data must have at least one unique field that can be used to distinguish level members; this is used as the code. In some cases, the enterprise may have two fields: an internal identifier and the corresponding user-friendly, “pretty name,” to be used as the description field. The SKUs in the previous example have two such fields: SKU and SKU_DESC.

If the enterprise data includes only a single field that is unique to a given level, you use that field as the code and the description.

ID Field

Internally, Demantra generates and uses its own unique numeric ID, which is not meant to be exported to external systems.

Code Display Field

Within the Demantra user interface, users see and use two unique labels for each level member, the code display field and the description field:

the picture is described in the document text

As the implementor, you can configure the code display field in three different ways.

Introduction to the Data Model Wizard

Level definitions are generally coupled tightly with integration, because each level is defined by a code field, and most code fields are imported from corporate systems. Consider, for example, a level such as Brand. Any SKU belongs to a brand, and Demantra imports that information. Adding an item or location level usually requires a new field in the data, which also requires changes to the integration.

The Data Model Wizard (in the Business Modeler) therefore has two related, primary purposes:

The Data Model Wizard prompts you for the location and format of the raw data. It helps you describe the contents of the staging tables so that the data can be moved into the Demantra internal tables. You then specify how to use the fields in the staging tables, generally using each field in a level definition or in a series definition. Demantra ignores any field for which you do not specify a use.

The Data Model Wizard is discussed further in “Loading Basic Data”.

As a final result, the Data Model Wizard creates a batch script and database procedures. The script executes the procedures, which load the data into the Demantra internal tables and synchronize the tables as needed.

Note: You can define additional levels later, outside of the Data Model Wizard, but you should do so only if you do not need a corresponding change in the load scripts. The Data Model Wizard automatically removes any levels that you define outside of the wizard.

Levels and the Forecast Tree

If your application uses the Analytical Engine, you will also need to consider what sort of forecast tree you will need. The forecast tree organizes data for use by the Analytical Engine. In this hierarchy, each node aggregates by both item and location. General levels can also be included in the forecast tree.

Demantra supports multiple analytical engines, with associated forecast trees. Demantra supports multiple analytical engines, with associated forecast trees. Depending on which engine profile you choose, Demantra will apply different settings and can provide different forecasting results. For example, when using Booking Forecast profile, the forecast generated will be focused on bookings for an item. Similarly, the Forecast Spares Demand profile will generate a forecast for service parts.

In general, forecasting is most accurate when it can be performed at the lowest possible allowed aggregation level. However, sometimes there is not enough data at that level for all combinations. For those combinations, the Analytical Engine aggregates the data to a higher level and tries to generate a forecast there. Consider the following example, showing a small part of a forecast tree.

the picture is described in the document text

The bold boxes show the nodes at which the Analytical Engine is forecasting.

See Proport When Forecasting on General Levels for more information about how the proport handles supersessions.

Filtered Levels

By default, a level of a given type groups all the associated data; for example, an item-type level groups all the item data. You can, however, create filtered levels. A filtered level contains a filtered subset of the data. To create a filtered level, you join the underlying data to another table of your choice, and you then add an SQL WHERE clause to filter the data.

To do this, you use the EXTRA FROM and EXTRA WHERE options for the level.

Other Concepts Related to Levels

After you configure levels, you associate them with several other kinds of Demantra objects.

Levels and Units

In Demantra, you associate each unit with the levels where it makes sense to use that unit. For example, a relatively small unit might make sense only at lower levels.

Demantra uses this association within worksheets. If a worksheet contains three levels, for example, then only the units associated with those levels can be used in that worksheet.

For information on units, see “Units, Indexes, and Exchange Rates”.

Levels and Methods

It is useful to be able to right-click a level member within a worksheet and perform some operation on it. With Demantra, you can define methods, which the user sees as an ordinary right-click menu options. Demantra also provides a set of default methods that you can redefine or disable as needed; these allow the users to view, edit, delete, and so on.

Each method is associated with a specific level. Also, a method can be available in all worksheets or in a single specific worksheet. You can apply security to all methods.

For information on methods, see “Methods”.

Level and Worksheet Association

It is useful to be able to examine a level member more closely, to launch a worksheet from that member that is filtered to show only that member. But typically, a Demantra application includes a large number of worksheets, and most of those worksheets would not be useful in this way. So Demantra provides an option for associating each level with any number of worksheets. Demantra uses this association in two ways:

For information on worksheets, see “Worksheets”.

Configuration Notes

This section contains configuration notes related to levels.

Standard Levels

Some Demantra products, such as DSM, assume that your database contains specific levels, parameter settings, and other configuration options. Demantra provides setup scripts that perform all the required configuration. See Part IV, “Other Configuration”.

Dependencies

Before you can configure levels, you will need some sample data.

Because level definitions are generally coupled tightly with integration, you typically need to define levels at the same time as your basic loading scripts. For this, you use the Data Model Wizard.

You can define additional levels later, outside of the Data Model Wizard, but you should do so only if you do not need a corresponding change in the load scripts. The wizard automatically removes any levels that you define outside of the wizard.

Tools

Demantra provides the following tools for creating and configuring levels and related objects:

Tool Purpose/Notes
Data Model Wizard* Defines levels (and other model elements) and creates a script to import data, particularly sales, item, and location data, at the lowest level.
Configure > Levels option* Defines additional levels.
CREATE_PE_STRUCT procedure Creates basic promotion levels needed by Promotion Effectiveness.
You can customize these levels to some extent, after running the procedure.
UPGRADE_TO_DSM procedure Creates the settlement and check request levels required by DSM.
Configure > Units for Levels option* Associates units with levels.
Configure > Methods option* Defines methods.
Components > Open/Create Component option* Creates components, which define the associations between levels and worksheets.
*These options are in the Business Modeler.

For information on these tools, see Part II, “Basic Configuration”.