About the Series ...
This is the ninth
article of the series, Introduction to MSSQL Server 2000 Analysis
Services. As I stated in the first article, Creating Our
First Cube, the primary focus of this series is an introduction to
the practical creation and manipulation of multidimensional OLAP cubes. The
series is designed to provide hands-on application of the fundamentals of MS
SQL Server 2000 Analysis Services ("Analysis Services"), with
each installment progressively adding features 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.
Introduction
In the first article of the series,
we used the Cube Wizard to build an initial cube with the assistance of the
Dimension Wizard. We progressed through subsequent articles, creating similar
dimensions to those we built with the Wizard, focusing largely in our second
article on using the Dimension Editor to illustrate options for building a more
customized cube. We continued this examination of dimensions in Article
Three, where we recreated the
calendar time dimension, this time focusing on the process through which the
Dimension Wizard converts existing time / date fields to a time dimension, along
with its hierarchy of levels and members. Article Three
also exposed ways to customize the predefined, time-related properties that the
wizard establishes in building the time dimension, suggesting options for
customization of these properties to enhance the cube, from the dual
perspectives of user-friendliness and the reporting needs of the organization.
We created an example of an alternate time dimension for fiscal time
reporting, and then we discussed some of the considerations surrounding the simultaneous
housing of both hierarchies in the same OLAP cube structure.
In Article
Four, we examined another
special type of dimension, the Parent-Child dimension, and explored the
attributes that make it different from a regular dimension. We discussed the
considerations that surround Parent-Child dimensions, such as the recursive
nature of their data sources, and various actions that must be handled
differently in their creation and maintenance. We created a parent-child
dimension using the Dimension Wizard, within which we worked with levels and
properties. Finally, we enabled values at the parent level of our newly
created parent-child dimension. In Article
Five, Working with the
Cube Editor, we reviewed, summarized and integrated many of the concepts
and components that we had previously constructed individually in earlier
lessons. We undertook a complete cube build "from scratch," pulling
together all that we had learned, to demonstrate the assembly of a cube more
sophisticated than the cube we generated in our first lesson with the Cube
Wizard.
In Article
Six, Exploring Virtual Cubes, we introduced the concept of
virtual cubes, and practiced their creation and use. We discussed the options
that virtual cubes provide, from the often-intermingling perspectives of
consolidation of multiple data sources, presentation enhancement and control,
and other functionality. Through the use of hands-on illustrations, we
demonstrated some of the options that virtual cubes offer to extend the functionality and capabilities
of individual OLAP cubes
In our last two-part
article, Custom
Cubes: Financial Reporting, we established as our primary objective the
construction of a
simple cube to meet some illustrative business requirements, revolving around
basic Income Statement Financial Reporting. We expanded upon many of the
concepts we have introduced at some level in earlier lessons, involving the
integration of cubes, as well as a host of information about cube components
and general cube design and creation. We discussed some of the challenges that
accompany cube design for financial reporting. We also explored the use of
Custom Members as an alternative approach to "merging" cubes, using
cubes that we created under the scenario of a realistic business constraint--the
absence of a single fact table that contained "all that we needed
in one place" to meet the objectives of the cube's design.
We navigated the
process of Parent-Child dimension creation to practice the steps, and
introduced various new concepts that we have not encountered in the series up
to this point, including the use of Custom Members and the handling of rollup
and aggregation considerations. Among other concepts we discussed and put into
action, we made use of a UNION ALL query to prepare a "virtual" fact
table for more effective cube creation, introduced methods of sign and data
type control within our presentation, and addressed formatting and other
presentation considerations as we created a Financial Reporting cube that
focused upon the Income Statement.
In this article we will not only work within Analysis Services
through the now-familiar interface and associated dialogs, but we will graft
in, as an alternative approach, the creation of basic MDX expressions and
queries for use with multidimensional data sources. Our focus will be
establishing the drillthrough capability within our cube models, from two
distinct perspectives, while examining the valuable uses of the drillthrough
functionality from an information consumer perspective.