dcsimg

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

December 13, 2004




Finally, we will expand the Time dimension to make the workings of our Stock Level measure readily apparent, with regard to how it accumulates value over time.



20.  Right-click the Year heading over the Row Axis.



21.  Select Drill Down from the context menu that appears, as depicted in Illustration 17.




Illustration 17: Select Drill Down to Expand the Year Level - Time Dimension



The Year level expands, revealing the underlying Quarter level.



22.  Drill down on the Quarter level, just as we did for the Year level above.



The Data Grid now resembles that shown in Illustration 18.




Illustration 18: Data Grid - Drilled to Month Level

Let's take a look at a zoom of a single year to get a feel for what is happening in our Data Grid. As we can see from the two annotated examples below, the Year 1997 Total (the "sum of the 2's," in Illustration 19) is a simple total of the four Quarters that make it up, and the Q1 Total (the "sum of the 1's," in Illustration 19), represents a simple total of its member Months 1, 2, and 3. This behavior is consistent throughout the dataset, although we use Year 1997 only in our examples in Illustration 19.


Illustration 19: Fully Additive Behavior of Stock Level in Our DataSet (Year 1997 Only)

While this simple summing would be quite appropriate for many measures (such as sales, expense, and other common income statement accounts, among others), semi-additive measures such as Stock Level do not, as we have discussed, appropriately add up in this way. For this reason, we need to make an adjustment in our calculated member that takes into consideration the fact that we wish to present the balance at the end of each time period as that of the last member of the respective period (say Month 3 of Q1, or Q4 of Year 1997, in our two illustrated examples above),

Let's make our adjustment now, and ascertain the correct results with the modified Stock Level calculated member.

23.  Right-click the Stock Level calculated member.

24.  Select Edit from the context menu that appears.

25.  Modify the Value expression to the following:


(ClosingPeriod([Month]),[Measures].[Units Ordered]) - 

    (ClosingPeriod([Month]),[Measures].[Units Shipped])

26.  Click the Check button, to the upper right of the Value expression box, to perform a simple syntax check, once again.

Analysis Manager generates a message box, indicating that "Syntax is OK", once more. (If this is not the result, check your syntax input).

27.  Click OK, to close the message box.

The Calculated Member Builder appears, with our modifications, as depicted in Illustration 20.


Illustration 20: Calculated Member Builder with Our Modifications (Compact View)

28.  Click OK, to accept our input and close the Calculated Member Builder.

The Calculated Member Builder closes, and we are returned to the Data view of the Cube Editor. The Data Grid should reappear, with new values to reflect our changes, as shown in Illustration 21.


Illustration 21: New Values in the Data Grid ...

A quick review of the values reveals that we have, indeed, accomplished our objective, modifying the behavior of Stock Level measure to reflect its intended, semi-additive nature. As we see in the subset of the data, wherein we highlight parallel examples to those we noted above, the balance found in the "last" member (for both Quarter and Year) is the value retained as the "final" balance of the respective parent.


Illustration 22: Semi-Additive Behavior of Stock Level in Our DataSet (Year 1997 Only, Again)

NOTE: For more information on the ClosingPeriod() function, see my Database Journal article MDX Time Series Functions, Part II: The OpeningPeriod () and ClosingPeriod() Functions.

29.  Select File --> Exit to leave the Cube Editor, when ready (saving the cube, when prompted).

We are returned to the Analysis Manager console.

30.  Select File --> Exit to leave Analysis Services, when desired.

Conclusion

In this article, we explored the nature and management of semi-additive measures, creating a calculated measure that is not fully additive, to meet the business requirements of a hypothetical group of information consumers. After discussing the nature of semi-additive measures, and describing uses for which they are appropriately employed, we created and processed a copy of the Warehouse sample cube in preparation for our practice example. We next established an illustrative set of business requirements as a specification for creating a semi-additive measure (a calculated member) in our practice cube.

We explored an initial approach to creating a simple inventory balance calculated measure, and explained why it was ineffective for our needs, due to its fully additive nature. We then modified the calculated measure to exhibit the desired semi-additive behavior of an inventory balance measure. Throughout the practice example, we discussed the results datasets obtained, within each of the steps we undertook to meet the expressed business requirements, verifying the effectiveness of our final solution.

» See All Articles by Columnist William E. Pearson, III

Discuss this article in the MSSQL Server 2000 Analysis Services and MDX Topics Forum.

Introduction to MSSQL Server Analysis Services Series
Introduction to Security in Analysis Services
Cube Storage: Planning Partitions from a SQL Server Management Studio Perspective
Cube Storage: Planning Partitions (Business Intelligence Development Studio Perspective)
Cube Storage: Introduction to Partitions
Introduction to Cube Storage
Attribute Discretization: Customize Grouping Names
Attribute Discretization: Using the "Clusters" Method
Attribute Discretization: Using the "Equal Areas" Method
Attribute Discretization: Using the Automatic Method
Introduction to Attribute Discretization
More Exposure to Settings and Properties in Analysis Services Attribute Relationships
Attribute Relationships: Settings and Properties
Introduction to Attribute Relationships in MSSQL Server Analysis Services
Attribute Member Values in Analysis Services
MSSQL Analysis Services - Attribute Member Names
Attribute Member Keys - Pt II: Composite Keys
Attribute Member Keys - Pt 1: Introduction and Simple Keys
Dimension Attributes: Introduction and Overview, Part V
Dimension Attributes: Introduction and Overview, Part IV
Dimension Attributes: Introduction and Overview, Part III
Dimension Attributes: Introduction and Overview, Part II
Dimension Attributes: Introduction and Overview, Part I
Dimensional Model Components: Dimensions Part II
Dimensional Model Components: Dimensions Part I
Manage Unknown Members in Analysis Services 2005, Part II
Manage Unknown Members in Analysis Services 2005, Part I
Alternatively Sorting Attribute Members in Analysis Services 2005
Introduction to Linked Objects in Analysis Services 2005
Distinct Counts in Analysis Services 2005
Positing the Intelligence: Conditional Formatting in the Analysis Services Layer
Administration and Optimization: SQL Server Profiler for Analysis Services Queries
Mastering Enterprise BI: Time Intelligence Pt. II
Mastering Enterprise BI: Time Intelligence Pt. I
Design and Documentation: Introducing the Visio 2007 PivotDiagram
Actions in Analysis Services 2005: The URL Action
Actions in Analysis Services 2005: The Drillthrough Action
Mastering Enterprise BI: Introducing Actions in Analysis Services 2005
Mastering Enterprise BI: Introduction to Translations
Mastering Enterprise BI: Introduction to Perspectives
Introduction to the Analysis Services 2005 Query Log
Mastering Enterprise BI: Working with Measure Groups
Mastering Enterprise BI: Introduction to Key Performance Indicators
Mastering Enterprise BI: Extend the Data Source with Named Calculations, Pt. II
Mastering Enterprise BI: Extend the Data Source with Named Calculations, Pt. I
Process Analysis Services Objects with Integration Services
Usage-Based Optimization in Analysis Services 2005
Introduction to MSSQL Server Analysis Services: Named Sets Revisited
Introduction to MSSQL Server Analysis Services: Migrating an Analysis Services 2000 Database to Analysis Services 2005
Introduction to MSSQL Server Analysis Services: Introducing Data Source Views
Introduction to MSSQL Server Analysis Services: Reporting Options for Analysis Services Cubes: MS Excel 2003 and More ...
Introduction to MSSQL Server Analysis Services: Mastering Enterprise BI: Create Aging "Buckets" in a Cube
Introduction to MSSQL Server Analysis Services: Mastering Enterprise BI: Relative Time Periods in an Analysis Services Cube, Part II
Introduction to MSSQL Server Analysis Services: Mastering Enterprise BI: Relative Time Periods in an Analysis Services Cube
Introduction to MSSQL Server Analysis Services: Process Analysis Services Cubes with DTS
Introduction to MSSQL Server Analysis Services: Presentation Nuances: CrossTab View - Same Dimension
Introduction to MSSQL Server Analysis Services: Point-and-Click Cube Schema Simplification
Introduction to MSSQL Server 2000 Analysis Services: Manage Distinct Count with a Virtual Cube
Introduction to MSSQL Server 2000 Analysis Services: Distinct Count Basics: Two Perspectives
Introduction to MSSQL Server 2000 Analysis Services: Semi-Additive Measures and Periodic Balances
Introduction to MSSQL Server 2000 Analysis Services: Performing Incremental Cube Updates - An Introduction
Introduction to MSSQL Server 2000 Analysis Services: Partitioning a Cube in Analysis Services - An Introduction
Introduction to MSSQL Server 2000 Analysis Services: Basic Storage Design
Introduction to MSSQL Server 2000 Analysis Services: Derived Measures vs. Calculated Measures
Introduction to MSSQL Server 2000 Analysis Services: Creating a Dynamic Default Member
Introduction to MSSQL Server 2000 Analysis Services: Another Approach to Local Cube Design and Creation
Introduction to MSSQL Server 2000 Analysis Services: Introduction to Local Cubes
Introduction to MSSQL Server 2000 Analysis Services: Actions in Virtual Cubes
Introduction to MSSQL Server 2000 Analysis Services: Putting Actions to Work in Regular Cubes
Introduction to MSSQL Server 2000 Analysis Services: Reporting Options for Analysis Services Cubes: ProClarity Part II
Introduction to MSSQL Server 2000 Analysis Services: Reporting Options for Analysis Services Cubes: ProClarity Professional, Part I
Introduction to MSSQL Server 2000 Analysis Services: Using Calculated Cells in Analysis Services , Part II
Introduction to MSSQL Server 2000 Analysis Services: Using Calculated Cells in Analysis Services, Part I
Introduction to MSSQL Server 2000 Analysis Services: MSAS Administration and Optimization: Toward More Sophisticated Analysis
Introduction to MSSQL Server 2000 Analysis Services: MSAS Administration and Optimization: Simple Cube Usage Analysis
Introduction to MSSQL Server 2000 Analysis Services: Build a Web Site Traffic Analysis Cube: Part II
Build a Web Site Traffic Analysis Cube: Part I
Reporting Options for Analysis Services Cubes: Cognos PowerPlay
Reporting Options for Analysis Services Cubes: MS FrontPage 2002
Reporting Options for Analysis Services Cubes: MS Excel 2002
Introduction to MSSQL Server 2000 Analysis Services: Drilling Through to Details: From Two Perspectives
Introduction to MSSQL Server 2000 Analysis Services: Custom Cubes: Financial Reporting - Part II
Introduction to MSSQL Server 2000 Analysis Services Custom Cubes: Financial Reporting (Part I)
Introduction to SQL Server 2000 Analysis Services: Exploring Virtual Cubes
Introduction to SQL Server 2000 Analysis Services: Working with the Cube Editor
Introduction to SQL Server 2000 Analysis Services: Parent-Child Dimensions
Introduction to SQL Server 2000 Analysis Services: Handling Time Dimensions
Introduction to SQL Server 2000 Analysis Services: Working with Dimensions
Introduction to SQL Server 2000 Analysis Services: Creating Our First Cube








The Network for Technology Professionals

Search:

About Internet.com

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers