Integrating Microsoft SQL Server 2000 OLAP and Microsoft Office: Creating a Local Cube with Office 2000
Creating a Local Cube
We will explore and practice the two primary means of creating a local cube within Office 2000. Both approaches rely upon the PivotTable Service to create the cubes, but we will follow two significantly different paths to reach the same destination. We will undertake cube creation following each path, and discuss the differences and nuances as we go.
Creating a Local Cube from an Existing Server Cube
The first approach to creating a local cube is to connect to the Analysis Server through the Excel PivotTable report. We will then create a cube that represents a subset of the data in a larger server-based cube. In effect, we will create a PivotTable report that is based upon source data from an OLAP cube on a server; then we will copy the source data to a separate file, called an offline cube (.cub) file, that will be stored on our local disks.
The local cube will allow us to perform analysis and write reports on the data in the new cube without being connected to a network, or (as a variation) to continue working when the OLAP server is unavailable. We also can use our local cube to make data from the OLAP database available on a network share so that other users can create reports from it, if such an action becomes useful. We start by creating a connection from Excel to the data source.
Connecting Excel to the OLAP Cube
The PivotTable Wizard provides a guided process for connecting Excel to the OLAP cube. We begin by taking the following steps:
Open a new Excel 2000 workbook.
Click Data (top menu); then click PivotTable and PivotChart Report to initialize the PivotTable and PivotChart Wizard, as shown in Figure 1.
Figure 1 Menu item for initializing the PivotTable/PivotChart Wizard.
The Step 1 of 3 PivotTable and PivotChart Wizard dialog box appears.
Select the External data source radio button, as shown in Figure 2.
Figure 2 Step 1 of 3 PivotTable and PivotChart Wizard dialog box.
The Step 2 of 3 Wizard dialog box appears, as shown in Figure 3.
Figure 3 Step 2 of 3 Wizard dialog box.
Here, we specify the source of external data. For this tutorial, we use the sample OLAP cube called Warehouse and Sales (primarily because it deals with dimensions and measures that might be of interest to remote sales teams and so forth, such as customer and lead time data).
The Warehouse and Sales cube is one of several great training cubes that are installed with a typical installation of MSSQL 2000 Analysis Services. While virtually all the documentation and training material available these days seem to focus on the Sales cube, I have found the "undiscovered" cubes to hold value in many specialized instances.
Click the Get Data button.
Microsoft Query starts and presents the Choose Data Source dialog box.
Click the OLAP Cubes tab.
The dialog box appears as shown in Figure 4.
Figure 4 Choose Data Source dialog box.
Click and highlight <New Data Source>.
Type Remote Reps Cube in box 1.
Select Microsoft OLE DB Provider for OLAP Services 8.0 in box 2.
The Create New Data Source dialog box appears, as shown in Figure 5.
Figure 5 Create New Data Source dialog box.
Click the Connect button.
The Multidimensional Connection dialog box appears.
Ensure that the Analysis server radio button is selected as the location of the multidimensional data source.
In the Server text box, type the name of the server, as shown in Figure 6.
Figure 6 Multidimensional Connection dialog box.
In Figure 6, I supplied ISLAND1 (the name of my server PC) in the Server box. The name localhost can be supplied if Excel and the cube share the same server machine.
Supply authentication information if required (again, I have input my own).
The second Multidimensional Connection dialog box appears, asking for the target database/OLAP data source.
Here, we select the FoodMart 2000 database that accompanied the Analysis Server installation, as shown in Figure 7.
Figure 7 Select the FoodMart 2000 database.
The Create New Data Source dialog box reappears with the new target data source indicated to the right of the Connect button.
Select the Warehouse and Sales cube in box 4.
The options available for selection depend on which cubes are present in the database. The FoodMart 2000 sample database supplies several other cubes, any of which could be selected here as a data source.
After selecting the Warehouse and Sales cube, the Create New Data Source dialog box should resemble Figure 8.
Figure 8 Completed Create New Data Source dialog box.
The Choose Data Source dialog box returns.
Ensuring that the Remote Reps Cube data source is selected, click OK to return to the Step 2 of 3 dialog box, where we left off with the PivotTable and PivotChart Wizard.
After we return to the Step 2 of 3 dialog box, notice that Data fields have been retrieved now appears to the right of the Get Data button (see Figure 9).
Figure 9 Data fields have been retrieved.
An empty PivotTable report appears (see Figure 10), immediately allowing us to begin designing the PivotTable report we need as a basis for creating our local cube.
Figure 10 An empty PivotTable report appears.
In addition to the PivotTable report template, the PivotTable toolbar appears, proving our connection to the data source (as it displays the dimensions and measures of same) and providing all we need for report design.
Designing and Creating the Local Cube with the PivotTable Report
We now have a PivotTable report, with its connection to the Warehouse and Sales server cube, in place from which to create our local cube. The rest of the process is easy, although planning is critical to ascertain the needs of the information consumers for whose remote use we are designing and creating the local cube.
Drag the Supply Time measure onto the area of the PivotTable map marked Drop Data Items Here.
Drag the Customer Dimension onto the row axis.
Drag the Time Dimension to the page axis.
The resulting, admittedly minimal, PivotTable report should resemble Figure 11.
Figure 11 Shell PivotTable report.
We will use the above as a basis for creating our local cube. The following steps show that this is enough to get the process underway.
Click the downward pointing arrow on the right side of the PivotTable menu button.
Select Client-Server Settings from the dropdown menu, as shown in Figure 12.
Figure 12 Select Client-Server Settings from the PivotTable menu.
The Client-Server Settings dialog box appears (see Figure 13).
Figure 13 Client-Server Settings dialog box.
Click the Create local data file button on the Client-Server Settings dialog box (circled in red in Figure 13).
The Create Cube File - Step 1 of 4 dialog box appears, as shown in Figure 14.
Figure 14 Create Cube File - Step 1 of 4 dialog box.
The Create Cube File - Step 2 of 4 dialog box appears, as shown in Figure 15.
Figure 15 Create Cube File - Step 2 of 4 dialog box.
A comparison with the items on the PivotTable Toolbar will reveal that the Create Cube File Step 2 of 4 dialog box contains all the dimensions that are available for selection in the cube residing on the server. The checked boxes indicate the dimensions that appear in the PivotTable report itself.
This avenue of selection within the Create Cube File - Step 2 of 4 dialog box means we can do all selection here, thus avoiding the need to create an elaborate PivotTable report that includes all the dimensions and measures we want to incorporate into our local cube. This is an opportunity to save time, and it is the reason that we put a minimal amount of design into the PivotTable report earlier. (There is a minimal requirement for data to enable the Client-Server Settings option on the dropdown menu, however.)
Review the levels of the Customer dimensional hierarchy by expanding the Customer dimension (clicking on the plus sign on the immediate left of the Customer dimension in the Create Cube File - Step 2 of 4 dialog box).
Expand the Product dimension as well.
Hierarchical members and their checkbox setpoints appear, as partially illustrated in Figure 16.
Figure 16 Partial view of the Create Cube File - Step 2 of 4 dialog box, expanded dimension selection.
Select the following dimensions, making sure to click the top-level checkbox (whether already checked or not) to ensure that the hierarchical members below the dimension are also checked:
Check the following, expanding as a part of the process, to see the underlying members:
- Store Cost
- Store Sales
- Supply Time
- Unit Sales
- Units Ordered
- Units Shipped
- Warehouse Cost
- Warehouse Sales
- Product Family
- Store Country
The Create Cube File - Step 3 of 4 dialog box resembles that partially shown in Figure 17.
Figure 17 Partial view of the Create Cube File - Step 3 of 4 dialog box.
This dialog box presents the top-level name for each dimension that we have heretofore selected, and by allowing us to check more boxes, it provides another chance to select from more levels and their expanded member sets. In addition, this is our first shot at selecting members of the Measures dimension (other than those we preselected in our initial design of the PivotTable reportin this case, the Supply Time measure only).
The Create Cube File - Step 4 of 4 dialog box appears.
Type RemoteWHSE&SALES into the File name box to name the new local cube file.
The Create Cube File - Step 4 of 4 dialog box reflects our input, as shown in Figure 18.
Figure 18 Create Cube File - Step 4 of 4 dialog box.
Notice that the cube is given a .cub extension.
Click Finish to create the cube.
Cube processing begins, and general status messages appear, showing the various stages of processing that are taking place. Figure 19 provides a sample of the Create Cube - Progress message box.
Figure 19 Create Cube Progress message box.
When the cube finishes processing, the Progress dialog box disappears, and we are left with an altered version of the Client-Server Settings dialog box, shown in Figure 20.
Figure 20 Modified Client-Server Settings dialog box.
We can alternate at this stage, or at any time, between the original server cube and the local cube file as a data source for the PivotTable report by making our selection via the appropriate radio button on the Client-Server Settings dialog box. This dialog box is always accessible from the PivotTable menu, as we saw in the beginning of the creation of our local cube.
A prominent difference between the dialog box at this stage and at the beginning of the cube-creation process occurs in the button at its center. What was earlier captioned Create Local Data File is now titled Edit Local Data File; this change in the caption reflects the readiness at this point of the dialog box to allow us to redefine.
We are now in a position to begin reporting from the local cube. We will leave the local cube for now, and explore an alternative means of creating a local cube that resembles the one we have already created, allowing us to contrast the two methods of cube creation as we undertake the new one.
Close the Excel worksheet, saving it as appropriate.