Introduction to MSSQL Server Analysis Services: Point-and-Click Cube Schema Simplification - Page 6

March 14, 2005

Procedure

The process of selecting the Optimize Schema option is about as straightforward as it gets. The ease with which the option can be applied is a major enticement to its use, for anyone wishing to enhance cube processing performance quickly, and with minimal effort. Let's take the plunge, and then study the results by returning to the settings we have just examined.

1.  Click Tools in the main menu of the Cube Editor.

2.  Click Optimize Schema from the menu that appears, as shown in Illustration 12.

Click for larger image

Illustration 12: Select Tools -> Optimize Schema

The Cube Schema Optimization message box appears, as depicted in Illustration 13.

Click for larger image

Illustration 13: The Cube Schema Optimization Dialog - Details of the Optimization

We can ascertain, through the information provided on the Cube Schema Optimization message box, that the Member Key Column properties for the Store, Warehouse and Product dimensions have been optimized. The initial settings, which the original developer pointed to the keys in the respective dimension tables, have now been redirected to their (identical) counterparts in the fact table, inventory_fact_1997.

We also note the statement that the Time dimension cannot be optimized through the mechanism of the option. This is because of the disparity between the Time key column identifiers shared in the join between the Time dimension table and the fact table, and the Member Key Column property for the lowest-level Time dimension member, Month, which we mentioned earlier.

We are also informed that private and virtual dimensions cannot be subjected to the optimization process. This behavior is consistent with the set of requirements that MSAS imposes on dimensions that are candidates for the Optimize Schema option, as we learned in the Overview and Discussion section above.

3.  Click OK to close the Cube Schema Optimization message box.

Confirm Results

We will take a look at the Member Key Column property settings once again, and see the physical changes are as expected in our copy of the Warehouse cube. To do this from our current position within the Cube Editor, we will take the following steps:

1.  Expand the Dimensions folder, as required, in the Tree pane, by clicking the "+" sign to its left, if necessary.

2.  Expand the Store dimension in the Tree pane, if required.

3.  Click the lowest level in the hierarchy, the Store Name level, as we did in our earlier examination of the associated Member Key Column property.

4.  With the Basic tab selected in the Properties pane, below the Tree pane, examine the Member Key Column property setting, as shown in Illustration 14.


Illustration 14: Member Key Column Property - Basic Tab of Store Dimension Property Pane

We note that the Member Key Column is tied to the store_id column of the inventory_fact_1997 table, just as we might have expected. We can also examine the Member Key Column property for the lowest levels of the Warehouse and Product dimensions, Warehouse Name and Product Name, respectively, to see that an identical modification has occurred: each is pointed to the column in the inventory_fact_1997 table that corresponds to the column (from the respective dimension table) that occupied it before we selected Optimize Schema (warehouse_id and product_id, respectively). An examination of the same property in the Time dimension, of course, makes it clear that no modification in the Member Key Column property has occurred, as we have discussed above.

To summarize the process we have witnessed within our practice cube, when we selected the Optimize Schema option, each dimension was evaluated to determine its compliance with the conditions for optimization. For each of the dimensions that met the required conditions, the Member Key Column property of the lowest level of the dimension was changed to reference the foreign key in the fact table, instead of the key in the dimension table to which it had previously referred. Going forward, the new reference directs MSAS to use the key from the fact table during processing, instead of issuing queries that join the dimension to the fact table in the relational database. The removal of joins results in reduced processing time. In many cases, the Optimize Schema option alone can enhance the cube processing cycle significantly.

Conclusion

In this article, we examined the use of the Optimize Schema option within the Cube Editor, as a means of making our cubes process faster. As in the other articles of this series, after introducing our topic, we described a scenario whereby we were called upon to meet the business needs of a hypothetical client. We then prepared for our practice exercise by creating and processing a copy of the Warehouse sample cube.

We next discussed the Member Key Column property of our cube, and examined the existing, pre-optimized settings within our practice cube. Moreover, we relayed important considerations to ponder in determining the appropriateness of our use of the Optimize Schema option in our respective business environments. We instituted the Optimize Schema option within the Cube Editor, and noted the information that MSAS provided via the resulting message box, informing us of the modifications that it had made in the Member Key Column property of the applicable dimensions. Finally, we examined and discussed the immediate effects of the Optimize Schema option within the structure of our cube.

» 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