Manage Unknown Members in Analysis Services 2005, Part I - Page 5
November 15, 2007
Process
the Product Dimension, and Examine the Mechanics behind the Removal of Members
without Corresponding Key Values within the Underlying Data
Let's
process the Product dimension, and take a look under the hood to gain
an understanding of the mechanics behind the elimination of Products
that do not have values within the respective ProductSubcategoryKey
column within the underlying data.
1.
From our
current position within the Dimension Designer for the Product dimension,
select Dimension -> Process
from the main menu, as depicted in Illustration 31.
Illustration 31: Processing
the Product Dimension ...
2.
Click Yes
on the dialog box that appears next, asking if we wish to save all changes
before building, deploying and processing the dimension, as shown in Illustration
32.
Illustration 32: Click
Yes to Save All Changes
3.
Click Run on
the Process Dimension - Product dialog that appears next, as depicted in
Illustration 33, to process the Product dimension.
Illustration 33: Click
Run to Process the Product Dimension
4.
When
processing has successfully completed, expand Processing Dimension 'Product'
completed successfully in the Process Progress event viewer.
5.
Expand Processing
Dimension Attribute 'Product Name' completed successfully, appearing
underneath the entry we expanded in the last step.
6.
Click the SELECT
DISTINCT query.
7.
Click the View
Details button on the Process Progress event viewer.
Within the View Details viewer, at the end of the
SQL query, we see a WHERE clause, as shown in Illustration 34.
Illustration 34: The
WHERE Clause Removes Keyless Members
The
clause reads as follows:
WHERE
(
(
[dbo_DimProduct].[ProductSubcategoryKey] =
[dbo_DimProductSubcategory].[ProductSubcategoryKey]
)
)
As is somewhat obvious, the WHERE clause has been
added to the SELECT DISTINCT clause to remove those Product
members that have no matching value in the ProductSubcategoryKey column.
8.
Click Close
to dismiss the View Details viewer.
9.
Click Close
to dismiss the Process Progress viewer.
10.
Click Close
to dismiss the Process Dimension-Product dialog.
And so we see how Product members that are
referenced within the fact table, but which have no corresponding key matches
in the respective dimension table, are removed as a part of processing.
Elimination of these unmatched members from inclusion within the cube allows
processing to continue uninterrupted for the members that are otherwise
acceptable.
11. Click the Browser tab in Dimension
Designer for the Product dimension.
12. Click the Reconnect button,
as depicted in Illustration 35.
Illustration 35: Click
the Reconnect Button
13. Select Product Model Lines
in the Hierarchy selector atop the Browser tab.
14. Expand All Products within
the hierarchy tree by clicking the + sign to its immediate
left.
15. Expand Components within
the Product Line level, as we did in our earlier browse, to arrive at
the results shown in Illustration 36.
Illustration 36: Product
Model Lines Hierarchy, Reflecting the Absence of Keyless Members
We note the absence of the unlabelled level that we saw
earlier (recall that it contained assembly components for the clients Products).
The WHERE clause we have examined within the SELECT DISTINCT
statement above explains why the blank level has disappeared: the members of
the blank level no longer exist within the cube, as they have been passed
over by the modified SQL statement.
16. Select Product Categories in
the Hierarchy selector atop the Browser tab.
17. Expand All Products within
the hierarchy tree, as we did earlier.
18. Expand Components within
the Category level, as we did in our earlier browse, to arrive at the
results depicted in Illustration 37.
Illustration 37: Product
Categories Hierarchy, Reflecting the Absence of Keyless Members
We note the absence of the unlabelled level, once again,
confirming our understanding of the effect of the WHERE clause within
the modified SQL statement.
In Part II of this article, we will examine the
steps involved in modifying the behavior we have noted thus far, with regard to
the Analysis Servers default management of Unknown Members.
Conclusion
In this, the first of a two-part article, we embarked upon an
examination of the management of Unknown Members within Analysis
Services. We noted that the Unknown Member property settings offer
us capabilities, similar to those found in once dominant enterprise BI
applications such as Cognos PowerPlay / Transformer, for handling
unmatched dimension keys. The capabilities afforded by the Unknown Member options
allow us to override the processing failure that would occur in these cases of
mismatch, to assign a name other than Unknown to the Unknown Member
within each dimension, to control visibility of the Unknown Member, and
more.
In the
first half of our article, we gained some exposure to the default management of
Unknown Members by Analysis Services. Our examination included a discussion surrounding the general concepts and
properties underpinning Unknown Members, including what they define and
support, as well as the mechanics behind their management. We then prepared a
sample Analysis Services database with related objects, and began a hands-on
practice session. We first reviewed Unknown Member properties settings
at the dimension level. Next we created new attributes within the Product
dimension, upon which we based a user-defined hierarchy, and upon which to establish,
in Part II of this article, Unknown Member management within the
supporting properties. Finally, we processed the enhanced Product dimension
and examined the mechanics behind the exclusion of members without
corresponding key values within the underlying data.
»
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
|