About the Series ...
This is the fifth 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 will be 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
discussed unbalanced hierarchies, and scenarios where we need a
parent-child dimension. We then 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
this lesson, Working with the
Cube Editor, we will review, summarize and
integrate many of the components that we have constructed, and the concepts
that we have explored individually, in the last four lessons. Our objective will be to undertake a complete cube
build, pulling together all that we have learned, to demonstrate the assembly
of a cube more sophisticated than the cube we generated in our first lesson
with the Cube Wizard. As a part of this objective, we will also introduce
further capabilities as we construct our new cube "from scratch."
In this article, we will:
- Discuss the use of the Cube Editor, as opposed
to the Cube Wizard, as a means of cube construction;
- Create a basic "starter" cube, using the fact table
alone, to serve as a foundation for a more elaborate cube;
- Process the cube to review the steps involved;
- Expand dimensions of the cube to include the
associated dimension tables;
- Define the Member Name Column dimension
property to meet illustrative business requirements of information
consumers;
- Review sample uses and purposes of Member
Properties;
- Add a derived dimension to meet
illustrative information consumer needs;
- Use the Dimension Browser as a
design and review tool;
- Revisit calculated members and add a calculated
measure to our cube;
- Work with various properties of measures and
dimensions to control the behavior and characteristics of our cube.
Page 2: Working with the Cube Editor
See All Articles by Columnist William E. Pearson, III
Working with the Cube Editor
Experience with MSSQL
Server 2000 Analysis Services brings with it a comfort level that makes it easy
to see that the Cube Editor is quite often the best route to rapid cube
design and creation. The Cube Wizard, while user-friendly and helpful
with its "guided procedure" for cube construction, nevertheless provides only
the basics with regard to the many properties and other attributes that often
need to be addressed in developing a cube that we can effectively deploy and
use in the real world. The Wizard might, as we have mentioned in past
articles, provide an excellent means of generating a quick basic cube, but beyond that we're likely to call upon the Cube Editor as the tool of choice to refine and build further. After building cubes over time, we might actually find it more
efficient to begin with the Cube Editor and bypass the Wizard entirely, much as
we do with other applications' wizards, once we "learn the ropes" through
constant practice.
In this lesson, we will
use the Cube Editor from the very start, initially to build a basic cube that
we will use as the foundation for several new concepts within this lesson.
Our objective, as we have stated, will be to consolidate principles and
procedures from earlier lessons into a single, integrated cube build. Along
the way, we will take advantage of opportunities that arise to introduce new
concepts, which we will be able to appreciate more fully with the preceding
four lessons behind us.
Building the Basic Cube with The Cube Editor
We will launch the Cube
Editor at this stage and begin a new cube. As mentioned earlier, we will
initially focus upon the creation of the core cube, basing it upon the fact
table of the FoodMart2000 sample database. As we have stated before, the FoodMart
2000.mdb is installed as a sample when we perform the Typical
installation of MSSQL Server 2000/Analysis Services. We will begin again
from square one, assuming no setup whatsoever and only the presence of the
installed applications we cited in our initial article, Creating Our
First Cube.
Preparation for Creating the New Cube
To begin the steps of
the lesson, we will create a new database/data source in Analysis
Manager for the FoodMart 2000 database. While many
of us may already have the database set up from the previous lesson(s) in our
series, we will perform setup again quickly, in keeping with our objective of
making each lesson stand on its own, independent of the other lessons of the
series. We will name the database the same as in previous lessons; if we
already have a database with that name, and we perhaps want to recreate it for
review purposes, we'll need to either delete the existing database or
simply call the new database something else.
As we
learned in Lesson One,
we first create an OLAP database to organize cubes, roles, data sources, shared
dimensions, and other objects. We will call our OLAP database MyCube2
(be careful here -- as we have stated before, you cannot rename a
database in the Analysis Services console once it is created), setting it
up initially by right clicking on the Server we see at the left of the
console. In addition to setting up our database, we will link a data source
to our database before we start to construct our cube.
- Start Analysis Manager.
- Expand the Analysis Servers folder by clicking
the "+" sign to its immediate left.
- Right-click on the Analysis Server name, to
see the context menu shown below:
Illustration 1: Right-Click on the Analysis Server
- Click New Database.
The Database dialog box appears.
- Fill in the Database Name, MyCube2,
and a description that might be of value to a user or developer down the
road.
Let's simply add "Tutorials Database," here -- the
description is optional, of course.
The dialog appears as below.
Illustration 2: The Database Dialog Box
- Click OK.
MyCube2 appears just below the existing FoodMart 2000 Database.
- Expand MyCube2's database/cube icon
by clicking in the plus (+) sign to the left of the icon.
Note that MyCube2 appears in the left-side tree,
complete with predefined, empty folders for object storage later, as shown in Illustration
3 below.
Illustration 3: The New Database with Directory Structure
Page 3: Working with the Cube Editor (Continued)
See All Articles by Columnist William E. Pearson, III
We will need to connect to the data source from which we
wish to draw values.
- Right click the folder within
MyCube2 called Data Sources, and on the context menu, select
New Data Source.
The Data Link Properties dialog box
appears, with its Provider, Connection, Advanced and All
tabs, as shown in Illustration 4 below. Beginning with the Provider
tab (where the dialog opens by default):
- Select the Microsoft Jet
4.0 OLE DB Provider (the native MS Access OLE DB provider).
Note: For more on
this, review the on-line documentation for OLE DB Providers, and data sources in general.
Illustration 4: The Data Link Properties Dialog -- Provider Tab
- Click Next.
The focus moves to the Connection tab.
- Select the FoodMart 2000 database in Box 1.
FoodMart 2000.mdb is located, as we have noted, by
default, in the [Install Directory]:\Program Files\Microsoft Analysis
Services\Samples director; Click on the ellipses (...) button, to
navigate to the .mdb as shown in Illustration 5 below.
Illustration 5: Selecting the FoodMart 2000 Database
- Click Open, returning to the Connection
tab, as we see below:
Illustration 6: The Data Link Properties Dialog -- Connection Tab
- Insert User Name and Password
information, as appropriate (the illustration displays default settings).
- Click the Test Connection button in the bottom
right hand corner of the Connection tab.
We should get a verification dialog confirming that the
source has been established in our definition (as shown in Illustration 7).
Illustration 7: Verification of the Connection to the FoodMart 2000 Database
- Click OK, and the Microsoft Data Link
verification dialog box closes.
We will leave all the other Data Link Properties at their
default setpoints for now.
- Click OK on the Data Link Properties
dialog.
The Data Link Properties dialog closes,
and we can see that the new source appears under the Data Sources folder
in the tree area, on the left side of the Management Console, displaying
the actual file name, as shown below.
Illustration 8: Initial View of Our Newly Created Data Source
Page 4: Working with the Cube Editor (Continued)
See All Articles by Columnist William E. Pearson, III