Database Journal
MS SQL Oracle DB2 Access MySQL PostgreSQL Sybase PHP SQL Etc SQL Scripts & Samples Tips Database Forum Rss Feed

» Database Journal Home
» Database Articles
» Database Tutorials
MS Access
SQL Scripts & Samples
» Database Forum
» Slideshows
Free Newsletters:

News Via RSS Feed

Rss Feed

Database Journal |DBA Support |SQLCourse |SQLCourse2

Featured Database Articles


Posted Dec 13, 2004

Introduction to MSSQL Server 2000 Analysis Services: Semi-Additive Measures and Periodic Balances

By William Pearson

About the Series ...

This article is a member of the series Introduction to MSSQL Server 2000 Analysis Services. The series is designed to provide hands-on application of the fundamentals of MS SQL Server 2000 Analysis Services, with each installment progressively adding features and techniques designed to meet specific real - world needs. For more information on the series, as well as the hardware / software requirements to prepare for the exercises we will undertake, please see my initial article, Creating Our First Cube.

Note: Service Pack 3 updates are assumed for MSSQL Server 2000, MSSQL Server 2000 Analysis Services, and the related Books Online and Samples. Images are from a Windows 2003 Server environment, upon which I have also implemented MS Office 2003, but the steps performed in the articles, together with the views that result, will be quite similar within any environment that supports MSSQL Server 2000 and MSSQL Server 2000 Analysis Services ("Analysis Services" or "MSAS"). The same is generally true, except where differences are specifically noted, when MS Office 2000 and above are used in the environment, in cases where MS Office components are presented in the article.


Most of the measures with which we work in our daily Analysis Services environments are additive, and include various options for easy aggregation, comprised of the ever-familiar SUM, MAX, MIN and COUNT. Most base measures involving transactions, such as sales or direct expenses, are inherently additive. We typically find additive measures simple and useful in our work within analysis and reporting systems, because there are no inherent restrictions on how they are used in our cubes. Such measures can be sliced and diced in any "direction," for example. Using the four aggregation types to derive aggregates from previously aggregated results is only one example of how we can easily leverage the power of OLAP as implemented in MSAS. With additive measures, aggregation is applied consistently to all dimensions: the measures roll up equally well, within the same aggregation type, across all.

However, as most of us are aware, semi-additive measures exist in the business environment, as well. Periodic measurements, such as account balances (for example, the daily balance of a bank account), level measurements (such as on-hand inventory quantities or personnel headcounts), and the like, do not share the qualities of fully additive measures. Semi-additive measures are additive across some dimensions within the cubes they inhabit, but are not additive across one or more of the dimensions of the cube.

As an illustration, an inventory level might be additive along the Product, Store and Warehouse dimensions of a cube, but would be non-additive across the Time dimension of the cube. Alternatively, a daily bank account balance might certainly be aggregated usefully in an average over Time (a common case would be an average daily balance), and perhaps in minimum and maximum contexts, but summing the daily balance over time would present a meaningless result.

In this article, we will explore the management of semi-additive measures, creating a calculated measure (a calculated member that belongs to the Measures dimension) that is not fully additive, to meet the business requirements of a hypothetical group of information consumers. Within our exploration of the semi-additive measures, we will accomplish the following:

  • Create a copy of the Warehouse sample cube for use in our practice exercise;
  • Prepare the cube further by processing;
  • Perform a practice exercise, using an illustrative set of business requirements as a specification for creating a semi-additive measure (a calculated measure) in our practice cube;
  • Explore an initial approach to creating the simple inventory balance calculated measure, and explain its shortcomings as a fully additive measure;
  • Modify the calculated measure to cause it to exhibit the appropriate semi-additive behavior;
  • Discuss the results datasets obtained within the steps of our practice example.

MS SQL Archives

Latest Forum Threads
MS SQL Forum
Topic By Replies Updated
SQL 2005: SSIS: Error using SQL Server credentials poverty 3 August 17th, 07:43 AM
Need help changing table contents nkawtg 1 August 17th, 03:02 AM
SQL Server Memory confifuration bhosalenarayan 2 August 14th, 05:33 AM
SQL Server Primary Key and a Unique Key katty.jonh 2 July 25th, 10:36 AM