SlideShare a Scribd company logo
Erada Systems, Inc.                                                          http://www.erada.com
Maximize Your Efficiency                                                           info@erada.com


                     InfoCube Modeling – Dimension Design
Introduction:
This article illustrates InfoCube design aspects pertaining to the design of dimensions.

InfoCube Quality:
The quality of an InfoCube is generally measured with respect to
   o Query Efficiency
   o Load Efficiency
   o Manageability

Following are the major modeling aspects that influence the load and query performance of an
InfoCube:
    o Design of Dimensions
    o Partitioning (logical & physical)
    o Data Compression (InfoCube level and Database level)
    o Aggregates

“Design of Dimensions” is the focus of this article and we will examine the impact of the InfoCube
design on load & query efficiency. The database specific information presented in this article is
relevant to Oracle.

Extended Star Schema:
Behind every standard InfoCube there is a star schema which comprises of several database
tables & indexes. When you create an InfoCube the BW system creates two fact tables (named
E and F fact tables) and one DIM table for every dimension. A Line Item dimension is an
exception because the system does not create a dimension table for Line Item Dimensions. The
system also creates one unique index on the fact table with all dimensions, one non-unique index
on the fact table with all dimensions and one separate index for every dimension. The Dimension
tables connect the fact table with the master data tables.

Load Process:
When a record is loaded into the InfoCube the system has to make sure that the characteristic
values for every characteristic exist in the system, otherwise a new SID has to be created. (It is
possible to configure the system in such a way that it does not to create SIDs when the
characteristic values do not exist in the master data.) System also has to check if the
characteristic SID combinations already exist in the respective dimension tables, otherwise a new
DIMID has to be created for the SID combination. A Line Item dimension is an exception to this
process because it does not have a dimension table.

Read Process:
When a query is executed on an InfoCube, depending on the characteristics and the attributes
being used in the query, the database joins the respective dimension tables, fact tables and the
master data SID tables (attribute, text and hierarchy tables) to process the query. Conceptually,
during a query read the reverse of load process happens.

Hash Memory:
The database uses Hash Memory area to join tables. Since most BW queries generate several
joins between tables it is important to make sure that enough hash memory is allocated.
Typically, a BW system requires more Hash memory than the R/3 system.

Based on the load process described earlier, it is clear that every additional characteristic or a
dimension incorporated into the InfoCube is a burden on the system because of the DIMIDs and
the SIDs that are to be created or located for reuse. Hence, it is highly recommended to include
This article is the property of Erada Systems, Inc. Unauthorized reproduction of this article, or a
part of it, is not permitted.
Erada Systems, Inc.                                                             http://www.erada.com
Maximize Your Efficiency                                                              info@erada.com


in the InfoCube only the characteristics that will really be used in the queries. However, if you
would like to incorporate additional characteristics that will potentially be used for future reporting,
it would be beneficial to house this data in an ODS.

Characteristics vs. Navigational Attributes:
If reporting has to be done on an attribute of a characteristic it can be modeled in two ways:
     1. To load the attribute of the characteristic directly into the InfoCube
     2. To use the navigational attribute of the characteristic in the report

Note: A navigational attribute is an attribute on which slicing and dicing can be done in the report.

Each option has its pros and cons. In the first case, you are spending more time while loading
data to lookup the master data to identify the attribute value. In the second case, you are
spending more time while running the query to do a join between Dimension Tables and Master
data tables.

Line Item Dimensions:
Suppose that you have to build a Sales report on an InfoCube which has to display the Document
number. In this case the size of the dimension which contains the Sales Document number is
comparable to the size of the Fact table. Since the system joins the Fact Table with the
Dimension table at query run time, if both the fact and dimension tables are large the query
runtime will be very high. In such scenario, it is better to create a Line Item dimension for
Document number. A Line Item dimension can have only one characteristic. The rule of thumb is
to create a line item dimension if the cardinality of the characteristic is greater than 10% of the
fact table size. However, this is not a necessary condition, meaning that you can create line item
dimensions with lower cardinality characteristics as well. If the total number of characteristics in
the InfoCube is always going to be less than or equal to 13 then creating 13 line item dimensions
might be optimal.

In conclusion, creating optimal dimensions is specific to each scenario though there exist some
rules of thumb.

High Cardinality Dimensions:
Bitmap indexes are efficient for low cardinality fields like Gender, where as B-Tree indexes are
efficient for high cardinality fields like document number. By default, the type of the index on the
dimension tables and fact tables is Bitmap. However, if the cardinality of the dimension is high
you can check the High Cardinality Dimension checkbox for the dimension so that the system will
use B-Tree index. Note that High Cardinality can only be checked if the dimension is a line item
dimension.

Based on the Read Process described above it is important to minimize the size of the dimension
tables. However, it is wrong to increase the number of dimensions just for the sake of decreasing
the size of the dimensions. If the total number of characteristics is greater than 13, then you need
to achieve a good balance between the size of the dimensions and the number of dimensions by
grouping related characteristics in the same dimension. For example, customer & customer group
are related characteristics.

In summary,
    o Do not include a characteristic in an InfoCube that will never be used in any query on that
       InfoCube.
    o Between using a navigational attribute vs. a characteristic, the first option is better for
       load performance whereas the second option is better for query performance.
    o Minimize the size of the dimension tables
    o Minimize the number of dimensions, but it is more important to minimize dimension sizes

This article is the property of Erada Systems, Inc. Unauthorized reproduction of this article, or a
part of it, is not permitted.
Erada Systems, Inc.                                                           http://www.erada.com
Maximize Your Efficiency                                                            info@erada.com


    o   If more than 13 characteristics are included in the InfoCube, group related characteristics
        into a dimension to achieve a good balance between the sizes of the dimensions vs. the
        number of dimensions
    o   For high cardinality characteristics use Line Item dimensions
    o   For high cardinality dimensions use B-Tree index type
    o   If the number of characteristics will always be less than or equal to 13, create one
        dimension for each characteristic and mark each dimension as a Line Item Dimension.


Disclaimer

Erada makes no representations about the suitability of the Information contained in the
documents for any purpose. All such documents and related graphics are provided to you “AS
IS” without warranty of any kind. All sample code is provided by Erada for illustrative purposes
only. These examples have not been thoroughly tested under all conditions. Erada, therefore,
cannot guarantee or imply reliability, serviceability, or function of these programs.

SAP and mySAP.com are trademarks or registered trademarks of SAP AG. Other SAP Product
or Service names mentioned herein are registered or unregistered trademarks of SAP AG.

©2001 Erada Systems, Inc. All rights reserved.




This article is the property of Erada Systems, Inc. Unauthorized reproduction of this article, or a
part of it, is not permitted.

More Related Content

PPTX
SAP BW - Info cube
PDF
Understanding dso (data store object) part 1%3a standard dso.doc
PPTX
SAP BW - Info object catalog
PPTX
SAP BW - Data store objects
PPTX
SAP BW - Info object (characteristics)
PPTX
SAP BW - Info objects ppt
PPTX
SAP BW - Master data load via flat file
PPTX
SAP BW - Creation of master data texts
SAP BW - Info cube
Understanding dso (data store object) part 1%3a standard dso.doc
SAP BW - Info object catalog
SAP BW - Data store objects
SAP BW - Info object (characteristics)
SAP BW - Info objects ppt
SAP BW - Master data load via flat file
SAP BW - Creation of master data texts

What's hot (19)

PPTX
multi dimensional data model
PPTX
SAP HANA - Attribute views
PPTX
PPT
Star schema PPT
PDF
SALES BASED DATA EXTRACTION FOR BUSINESS INTELLIGENCE
PPTX
SAP-HANA - Loading ff into_table_sap hana
PDF
Ms access 2007 pptx
PPTX
Data modeling star schema
PPTX
MS SQL SERVER: Using the data mining tools
DOCX
Dimensional data model
PPTX
SAP BO Web Intelligence Basics
PPTX
Ms access
DOCX
PPT
B.sc i agri u 4 introduction to ms access
PDF
PPTX
CREATING A DATASET FROM EXCEL IN POWER BI REPORT BUILDER
PPTX
MS SQL SERVER: Data mining concepts and dmx
PPT
Msaccess
multi dimensional data model
SAP HANA - Attribute views
Star schema PPT
SALES BASED DATA EXTRACTION FOR BUSINESS INTELLIGENCE
SAP-HANA - Loading ff into_table_sap hana
Ms access 2007 pptx
Data modeling star schema
MS SQL SERVER: Using the data mining tools
Dimensional data model
SAP BO Web Intelligence Basics
Ms access
B.sc i agri u 4 introduction to ms access
CREATING A DATASET FROM EXCEL IN POWER BI REPORT BUILDER
MS SQL SERVER: Data mining concepts and dmx
Msaccess
Ad

Similar to Info cube modeling_dimension_design_erada_bw_infoalert (20)

PDF
DOC Power-Bi-Guidance.pdf
PPTX
What Are the Key Steps in Scraping Product Data from Amazon India.pptx
PDF
What Are the Key Steps in Scraping Product Data from Amazon India.pdf
PDF
World2016_T1_S8_How to upgrade your cubes from 9.x to 10 and turn on optimize...
PPT
Sap Interview Questions - Part 1
PPT
mdmodel multidimensional (MD) modeling approach to represent more complex da...
DOC
Ibm redbook
PDF
Sybase Unwired Platform Modelling Best Practices
PDF
Pentaho BootCamp : Using the Pentaho Reporting Tools
PPTX
MongoDb Schema Pattern - Kalpit Pandit.pptx
PPTX
Sap Business Objects solutioning Framework architecture
PDF
knowledgeforumpowerbitrainingnew-230816140827-5eb14be7.pdf
PDF
PowerBI Training
PPTX
PATTERNS07 - Data Representation in C#
PDF
Database Sharding: Complete understanding
PPT
Mr bi
DOC
Page a partition aware engine for parallel graph computation
PDF
Line item dimension and high cardinality dimension
PPTX
Dbms schemas for decision support
DOC Power-Bi-Guidance.pdf
What Are the Key Steps in Scraping Product Data from Amazon India.pptx
What Are the Key Steps in Scraping Product Data from Amazon India.pdf
World2016_T1_S8_How to upgrade your cubes from 9.x to 10 and turn on optimize...
Sap Interview Questions - Part 1
mdmodel multidimensional (MD) modeling approach to represent more complex da...
Ibm redbook
Sybase Unwired Platform Modelling Best Practices
Pentaho BootCamp : Using the Pentaho Reporting Tools
MongoDb Schema Pattern - Kalpit Pandit.pptx
Sap Business Objects solutioning Framework architecture
knowledgeforumpowerbitrainingnew-230816140827-5eb14be7.pdf
PowerBI Training
PATTERNS07 - Data Representation in C#
Database Sharding: Complete understanding
Mr bi
Page a partition aware engine for parallel graph computation
Line item dimension and high cardinality dimension
Dbms schemas for decision support
Ad

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
KodekX | Application Modernization Development
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Approach and Philosophy of On baking technology
PPT
Teaching material agriculture food technology
PDF
Machine learning based COVID-19 study performance prediction
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
The AUB Centre for AI in Media Proposal.docx
KodekX | Application Modernization Development
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Per capita expenditure prediction using model stacking based on satellite ima...
Approach and Philosophy of On baking technology
Teaching material agriculture food technology
Machine learning based COVID-19 study performance prediction
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Building Integrated photovoltaic BIPV_UPV.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
20250228 LYD VKU AI Blended-Learning.pptx
MYSQL Presentation for SQL database connectivity
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Diabetes mellitus diagnosis method based random forest with bat algorithm
“AI and Expert System Decision Support & Business Intelligence Systems”
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication

Info cube modeling_dimension_design_erada_bw_infoalert

  • 1. Erada Systems, Inc. http://www.erada.com Maximize Your Efficiency info@erada.com InfoCube Modeling – Dimension Design Introduction: This article illustrates InfoCube design aspects pertaining to the design of dimensions. InfoCube Quality: The quality of an InfoCube is generally measured with respect to o Query Efficiency o Load Efficiency o Manageability Following are the major modeling aspects that influence the load and query performance of an InfoCube: o Design of Dimensions o Partitioning (logical & physical) o Data Compression (InfoCube level and Database level) o Aggregates “Design of Dimensions” is the focus of this article and we will examine the impact of the InfoCube design on load & query efficiency. The database specific information presented in this article is relevant to Oracle. Extended Star Schema: Behind every standard InfoCube there is a star schema which comprises of several database tables & indexes. When you create an InfoCube the BW system creates two fact tables (named E and F fact tables) and one DIM table for every dimension. A Line Item dimension is an exception because the system does not create a dimension table for Line Item Dimensions. The system also creates one unique index on the fact table with all dimensions, one non-unique index on the fact table with all dimensions and one separate index for every dimension. The Dimension tables connect the fact table with the master data tables. Load Process: When a record is loaded into the InfoCube the system has to make sure that the characteristic values for every characteristic exist in the system, otherwise a new SID has to be created. (It is possible to configure the system in such a way that it does not to create SIDs when the characteristic values do not exist in the master data.) System also has to check if the characteristic SID combinations already exist in the respective dimension tables, otherwise a new DIMID has to be created for the SID combination. A Line Item dimension is an exception to this process because it does not have a dimension table. Read Process: When a query is executed on an InfoCube, depending on the characteristics and the attributes being used in the query, the database joins the respective dimension tables, fact tables and the master data SID tables (attribute, text and hierarchy tables) to process the query. Conceptually, during a query read the reverse of load process happens. Hash Memory: The database uses Hash Memory area to join tables. Since most BW queries generate several joins between tables it is important to make sure that enough hash memory is allocated. Typically, a BW system requires more Hash memory than the R/3 system. Based on the load process described earlier, it is clear that every additional characteristic or a dimension incorporated into the InfoCube is a burden on the system because of the DIMIDs and the SIDs that are to be created or located for reuse. Hence, it is highly recommended to include This article is the property of Erada Systems, Inc. Unauthorized reproduction of this article, or a part of it, is not permitted.
  • 2. Erada Systems, Inc. http://www.erada.com Maximize Your Efficiency info@erada.com in the InfoCube only the characteristics that will really be used in the queries. However, if you would like to incorporate additional characteristics that will potentially be used for future reporting, it would be beneficial to house this data in an ODS. Characteristics vs. Navigational Attributes: If reporting has to be done on an attribute of a characteristic it can be modeled in two ways: 1. To load the attribute of the characteristic directly into the InfoCube 2. To use the navigational attribute of the characteristic in the report Note: A navigational attribute is an attribute on which slicing and dicing can be done in the report. Each option has its pros and cons. In the first case, you are spending more time while loading data to lookup the master data to identify the attribute value. In the second case, you are spending more time while running the query to do a join between Dimension Tables and Master data tables. Line Item Dimensions: Suppose that you have to build a Sales report on an InfoCube which has to display the Document number. In this case the size of the dimension which contains the Sales Document number is comparable to the size of the Fact table. Since the system joins the Fact Table with the Dimension table at query run time, if both the fact and dimension tables are large the query runtime will be very high. In such scenario, it is better to create a Line Item dimension for Document number. A Line Item dimension can have only one characteristic. The rule of thumb is to create a line item dimension if the cardinality of the characteristic is greater than 10% of the fact table size. However, this is not a necessary condition, meaning that you can create line item dimensions with lower cardinality characteristics as well. If the total number of characteristics in the InfoCube is always going to be less than or equal to 13 then creating 13 line item dimensions might be optimal. In conclusion, creating optimal dimensions is specific to each scenario though there exist some rules of thumb. High Cardinality Dimensions: Bitmap indexes are efficient for low cardinality fields like Gender, where as B-Tree indexes are efficient for high cardinality fields like document number. By default, the type of the index on the dimension tables and fact tables is Bitmap. However, if the cardinality of the dimension is high you can check the High Cardinality Dimension checkbox for the dimension so that the system will use B-Tree index. Note that High Cardinality can only be checked if the dimension is a line item dimension. Based on the Read Process described above it is important to minimize the size of the dimension tables. However, it is wrong to increase the number of dimensions just for the sake of decreasing the size of the dimensions. If the total number of characteristics is greater than 13, then you need to achieve a good balance between the size of the dimensions and the number of dimensions by grouping related characteristics in the same dimension. For example, customer & customer group are related characteristics. In summary, o Do not include a characteristic in an InfoCube that will never be used in any query on that InfoCube. o Between using a navigational attribute vs. a characteristic, the first option is better for load performance whereas the second option is better for query performance. o Minimize the size of the dimension tables o Minimize the number of dimensions, but it is more important to minimize dimension sizes This article is the property of Erada Systems, Inc. Unauthorized reproduction of this article, or a part of it, is not permitted.
  • 3. Erada Systems, Inc. http://www.erada.com Maximize Your Efficiency info@erada.com o If more than 13 characteristics are included in the InfoCube, group related characteristics into a dimension to achieve a good balance between the sizes of the dimensions vs. the number of dimensions o For high cardinality characteristics use Line Item dimensions o For high cardinality dimensions use B-Tree index type o If the number of characteristics will always be less than or equal to 13, create one dimension for each characteristic and mark each dimension as a Line Item Dimension. Disclaimer Erada makes no representations about the suitability of the Information contained in the documents for any purpose. All such documents and related graphics are provided to you “AS IS” without warranty of any kind. All sample code is provided by Erada for illustrative purposes only. These examples have not been thoroughly tested under all conditions. Erada, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. SAP and mySAP.com are trademarks or registered trademarks of SAP AG. Other SAP Product or Service names mentioned herein are registered or unregistered trademarks of SAP AG. ©2001 Erada Systems, Inc. All rights reserved. This article is the property of Erada Systems, Inc. Unauthorized reproduction of this article, or a part of it, is not permitted.