c# pdf image preview : Best pdf form creator SDK Library API .net wpf asp.net sharepoint 7053154973-Excel%202007%20VBA%20Programmers%20Reference%20-%20Wrox%20200754-part710

Structured Data: In an OLAP database, all of the relationships between the various data points
have been predefined and stored in what are known as cubes. These cubes contain the hierarchi-
cal structures that allow for the easy navigation of available data dimensions and measures.
With this configuration, you no longer have to create joins yourself or try to guess how one data
table relates to another. All of that complexity is taken care of behind the scenes, leaving you
free to develop the reports you need.
Predefined Aggregations: The data in an OLAP database is not only organized, but it is aggre-
gated. This means that grouping, sorting, and aggregations are all predefined in OLAP
databases. In addition, OLAP databases make heavy use of indexes, a technique that allows a
database to search for records more efficiently. All of this amounts to reporting solutions that are
optimized to provided the reports you need as fast as possible.
Consistent Results: OLAP databases only contain snapshots of data. That is to say, the data in
an OLAP database is typically historical data that is read-only, stored solely for reporting pur-
poses. New data is typically appended to the OLAP database on a regular basis, but the existing
data is rarely edited or deleted. This allows you to retrieve consistent results when building
your reporting solutions.
Excel has some effective built-in tools that allow for the exploration and reporting of data from OLAP
databases. In this chapter, you will discover some of the ways you can browse the OLAP data sources in
your organization via Excel and VBA.
Analyzing OLAP Data via Pivot Tables
Every so often, you will run into some functionality where the user interface provided in Excel is the
most effective way to perform a task. The process of browsing an OLAP data source is just such a task.
In Excel, the most effective way to browse an OLAP data source is indeed through a pivot table. This
section walks through the process of connecting to and browsing an OLAP data source via a pivot table.
Connecting to an OLAP Data Source
The process of connecting to an OLAP data source is similar to that of any other external data source. In
the Data tab, select the From Other Data Sources option and choose From Analysis Services, as demon-
strated in Figure 23-1.
You cannot create an OLAP database using Excel. OLAP databases are typically cre-
ated with SQL Server Analysis Services. If your organization does not utilize OLAP
datbases, you may want to speak with your SQL Server DBA to discuss the possib-
lity of some OLAP reporting solutions.
508
Chapter 23: Browsing OLAP Data Sources with Excel
Best pdf form creator - C# PDF Field Edit Library: insert, delete, update pdf form field in C#.net, ASP.NET, MVC, Ajax, WPF
Online C# Tutorial to Insert, Delete and Update Fields in PDF Document
add attachment to pdf form; cannot save pdf form in reader
Best pdf form creator - VB.NET PDF Field Edit library: insert, delete, update pdf form field in vb.net, ASP.NET, MVC, Ajax, WPF
How to Insert, Delete and Update Fields in PDF Document with VB.NET Demo Code
create a pdf form that can be filled out; change font pdf fillable form
Figure 23-1
From here, you will be taken through the Data Connection Wizard, where you will provide all the infor-
mation necessary to connect to the appropriate cube. Once you have gone through the entire dialog for
the Data Connection Wizard, you will be presented with the options illustrated in Figure 23-2. Select the
option of viewing the data in a PivotTable Report.
Figure 23-2
Clicking the OK button will create a pivot table whose pivot cache is connected to the OLAP data source
to which you just connected. You are now ready to browse your OLAP data source. 
The examples in this chapter use the Analysis Services Tutorial cube that comes
with SQL Server Analysis Services 2005. To follow along using this sample data
source, simply load the Analysis Services Tutorial OLAP cube found in the support-
ing files for SQL Server Analysis Services 2005. 
509
Chapter 23: Browsing OLAP Data Sources with Excel
C# Create PDF Library SDK to convert PDF from other file formats
Free PDF creator SDK for Visual Studio .NET. Batch create adobe PDF from multiple forms. Best C#.NET component to create searchable PDF document from Microsoft
convert word to editable pdf form; adding text field to pdf
VB.NET Create PDF Library SDK to convert PDF from other file
Best VB.NET component to convert Microsoft Office Word, Excel and PowerPoint to searchable PDF HTML webpage to interactive PDF file creator freeware.
add picture to pdf form; pdf save form data
Browsing the OLAP Data Source
The PivotTable Field List for a pivot table connected to an OLAP data source will look somewhat differ-
ent from that of a standard pivot table. The PivotTable Field List for an OLAP pivot table will represent
the structure of the OLAP cube you are connected to.
To effectively browse an OLAP cube, you need to understand the components that make up the struc-
ture of a cube. Figure 23-3 illustrates the basic structure of a typical OLAP cube.
Figure 23-3
Dimension:A dimension is a high-level classification of data that contains items that are used
as criteria by which measures can be sliced. An example of a dimension would be a Product
dimension. A single OLAP cube can have multiple dimensions.
Hierarchy: Ahierarchy is the predefined aggregation of levels within a particular dimension.
Hierarchies allow a user to work with multiple levels without a previous knowledge of the par-
ent-child relationships between the levels.
Level: A level is a category of aggregation within a hierarchy. For dimensions with multiple lay-
ers of information, each layer is a level.
Member: Amember is an individual data item within a dimension. Members are typically refer-
enced in a structured fashion through the hierarchy and level. In the example shown in Figure
23-3, the members you see belong to the Product Name level. The other levels have their own
members that are not shown here.
Measures Dimension: The measures dimension contains the aggregated data that can be sliced
by any of the dimensions, hierarchies, levels, and members in the cube.
Once you understand how the data in an OLAP cube is structured, the structure represented in the
PivotTable Field List starts to make sense. You will see Measures (represented by the sigma icon),
Dimensions (represented by a table icon), Hierarchies, and Levels. You will find that you can navigate
through the OLAP cube with ease using your pivot table’s field list. 
In Figure 23-4, you will see that the Internet Sales-Sales Amount measure has been added, and that mea-
sure is sliced by the Product Categories hierarchy found in the Product dimension.
510
Chapter 23: Browsing OLAP Data Sources with Excel
VB.NET Word: Create Linear and 2D Barcodes to Word Page Within VB.
NET code to create QR code, Data Matrix and PDF 417 on easy work if you apply our Word Barcode Creator in VB. VB Word Barcode Generating SDK is your best choice
add text field to pdf; adding form fields to pdf files
VB Imaging - Postnet Barcode Creation Tutorial
creator control add-on will be your best choice. including PNG, BMP, GIF, JPEG, TIFF, PDF, Excel, PowerPoint RasterEdge VB.NET Barcode Creator Add-on can be
chrome pdf save form data; add jpg to pdf form
Figure 23-4
With just a few steps, you’ve built a pivot table report that allows you to drill into the levels of the pre-
defined Product Categories hierarchy, as demonstrated in Figure 23-5.
Figure 23-5
You can imagine a reporting solution that consists entirely of pivot table reports on top of an OLAP
cube. This would allow your users to have a robust data source at their fingertips without leaving the
familiar Excel environment. And because the data contained in the OLAP pivot tables does not reside in
a pivot cache on the local machine, your reporting solutions are inherently streamlined and efficient.
Furthermore, because the reporting solution is designed in Excel with Excel pivot tables, you would be
able to enhance your reporting solution using the PivotTable VBAtechniques covered in Chapter 7.
Note that the layout of your resulting pivot table may look slightly different based
on the default report layout. Your layout options are tabular, compact, or outline.
511
Chapter 23: Browsing OLAP Data Sources with Excel
VB.NET Image: Generate GS1-128/EAN-128 Barcode on Image & Document
This GS1-128/EAN-128 barcode creator control is 128 barcode on multi-page TIFF/PDF/Word documents orientation, resizing document page to the best status, and
adding images to pdf forms; create a fillable pdf form from a word document
VB.NET PDF - Create PDF Online with VB.NET HTML5 PDF Viewer
Bookmark: Edit Bookmark. Metadata: Edit, Delete Metadata. Form Process. Best online HTML5 PDF Viewer PDF Viewer control as well as a powerful PDF creator.
create a pdf form to fill out; adding text fields to a pdf
Understanding the MDX behind OLAP-based
Pivot Tables
You may not know it, but when you are using a pivot table with an OLAP cube, you are sending the
OLAP server MDX (Multidimensional Expression) queries. MDX is an expression language that is used
to return data from multidimensional data sources (such as OLAP cubes).
To see the MDX query behind your OLAP-based pivot table, simply run the following procedure, which
uses the MDX property of the PivotTable object:
Sub GetMDX()
MsgBox ActiveSheet.PivotTables(“PivotTable1”).MDX
End Sub
512
Chapter 23: Browsing OLAP Data Sources with Excel
Limitations of OLAP-based PivotTables
For the most part, pivot tables that are based on OLAP data sources look, feel, and act
like a standard pivot table. However, you must remember that an OLAP data source is
ultimately controlled by the Database Administrator responsible for maintaining the
Analysis Services server. That control encompasses every aspect of the OLAP cube’s
behavior, from the dimensions and measures included in the cube to the ability to drill
into the details of a dimension. You, as the consumer of the OLAP data source, have
limited control over how the OLAP cube ultimately looks and feels.
This limited control translates into some limitations to the actions you can take with
your OLAP-based pivot tables. You should take these limitations into account before
moving forward with an OLAP-based reporting solution.
When your PivotTable report is based on an OLAP data source:
You cannot create a calculated field.
You cannot create a calculated item.
The page field settings are not available.
You cannot change the function used to summarize a data field.
The Show Pages command is disabled.
The Show items with no data option is disabled.
Any changes made to field names will be lost when you remove the field
from the pivot table.
The Subtotal hidden page items setting is disabled.
The Background query option is not available.
The Optimize memory checkbox in the PivotTable Options dialog box is
disabled.
C# HTML5 PDF Viewer SDK to create PDF document from other file
Form Process. Data: Read, Extract Field Data. Data: Auto Fill-in Field Best online C#.NET HTML5 PDF Viewer control as well as a powerful PDF creator for ASP
pdf save form data; cannot save pdf form in reader
VB Imaging - EAN-8 Generating Tutorial
VB.NET Barcode Creator Add-on from RasterEdge DocImage SDK to create EAN-8 barcode image with best quality. creating are JPEG, PNG, BMP, GIF, TIFF, PDF and MS
create a fillable pdf form; create a fillable pdf form online
You will get a message box that looks similar to the one shown in Figure 23-6.
Figure 23-6
What you see in the resulting message box is the actual MDX query that was used to fill the pivot table
with which you are working. Because the pivot table is refreshed or changed, subsequent MDX queries
are passed to the OLAP database. The results of the query are sent back to Excel and displayed through
the pivot table. This is how you are able to work with OLAP data without a local copy of a pivot cache.
Don’t be fooled by the seeming complexity of this MDX statement. Excel tends to play it safe by throw-
ing in superfluous syntax. Later you will learn how to decipher Excel’s MDX. In the meantime, take a
moment to cover the fundamentals of MDX. A basic understanding of MDX is not only beneficial when
working with OLAP data sources, but necessary to use the techniques outlined later in this chapter.
The Basics of MDX
Those of you who are familiar with SQL will have relatively little trouble picking up the basic concepts
of MDX. As you look at the general syntax for an MDX statement, you will see the familiar SELECT and
FROMclauses:
SELECT {member selection} ON COLUMNS, 
{member selection} ON ROWS
FROM   [cube name] 
Amemberselection can be any combination of dimensions or members. These selections are given an
axis designation. In MDX, a member selection can actually be placed in any one of up to 64 axes. To keep
things simple, look at the most common axes: columns and rows. When a member selection is placed On
Columns, that member selection will be column-oriented. Place a member selection On Rows, and that
selection will be row-oriented. Finally, the cube name identifies the name of the cube with which you are
working.
MDX is a robust topic that is rich in scope and complexity. In that light, this chapter
only touches on the fundamentals of MDX. If, after reading this chapter, you have a
desire to learn more about MDX, consider picking up MDX Solutions, an excellent
guide to MDX that is both easy to understand and comprehensive.
513
Chapter 23: Browsing OLAP Data Sources with Excel
VB Imaging - VB Code 93 Generator Tutorial
a test now to write and draw the best Code 93 write Code 93 linear barcode pictures on PDF documents, multi a Windows application or ASP.NET web form and copy
pdf form change font size; create a fillable pdf form from a pdf
Take a look at the following MDX query. Here you are requesting Internet sales and tax amounts as
columns, and the product category as rows. As you can see in the FROM clause, this data is coming from
the Analysis Services Tutorial cube.
SELECT {[Measures].[Internet Sales-Sales Amount], 
[Measures].[Internet Sales-Tax Amount]} ON COLUMNS, 
{[Product].[Product Categories].[Category].Members} ON ROWS
FROM    [Analysis Services Tutorial]
You will note that you are identifying the member selections by explicitly walking through the cube
structure that gets you to that member. For instance, the query selects the Category members using
[Product].[Product Categories].[Category].Members. This expression explicitly walks through
the Product dimension, the Product Categories hierarchy, and the Category level, and finally ends with
the members of the Category level. Refer back to Figure 23-3 to get a graphical view of how the cube
structure works.
Notice that the resulting dataset, shown in Figure 23-7, is in a cross tab structure. This is the power of
MDX and OLAP cubes. With MDX, you can create any number of datasets that are structured in any
number of ways. Although this type of result could be achieved via a SQL statement, it would not be as
straightforward and as easy as an MDX query.
Figure 23-7
You can also limit the results of your MDX query by slicing your selections using a WHEREclause. This
works similarly to a WHERE clause in a SQL statement. The following MDX query limits the results to
sales for the United States only. The resulting dataset is shown in Figure 23-8.
SELECT {[Date].[Calendar Quarter].Members} ON COLUMNS,
{[Product].[Product Categories].[Category].Members} ON ROWS
FROM    [Analysis Services Tutorial]
WHERE  ([Customer].[Country-Region].[United States],
[Measures].[Internet Sales-Sales Amount])
Figure 23-8
514
Chapter 23: Browsing OLAP Data Sources with Excel
Deciphering Excel’s MDX Queries
In the next section of this chapter, you discover how you can pass your own MDX queries to an OLAP
server using ADO and a little VBAin order to retrieve a flat dataset. One of the benefits of being able to see
the MDX query behind an OLAP-based pivot table is that you can see how the MDX for a particular view
should be set up. This gives you a kind of built-in MDX tutor that you can leverage when you need it.
Create an MDX Log
You can set up an MDX log that documents every MDX query that is passed to the OLAP server. 
The procedure shown here does just that. As you can see, this procedure is entered into the
PivotTableUpdate event of the worksheet. This ensures that each time there is a change in the pivot
table, the MDX query is captured. You then simply trap the MDX query in a string variable and append
it to a text file:
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Dim StrMDX As String
‘Trap the MDX statement
StrMDX = ActiveSheet.PivotTables(“PivotTable1”).MDX
‘Append the MDX to a specified text file
Open “C:\MDX_Log.txt” For Append As #1
Print #1, StrMDX & Chr(13) & Chr(10)
Close #1
End Sub
After looking at a few of the MDX queries that Excel outputs, you will soon realize that the way Excel
uses MDX is different from the way you would. There are two reasons for this. First, Excel adds some
syntax that it feels is necessary to make the MDX query run properly. This is analogous to the way that
Excel records macros; it errs on the side of creating more syntax than is actually necessary in order to
play it safe. Second, Excel imposes automatic rules when building its MDX queries.
You may be wondering why the Internet Sales Amount measure is included in the
WHEREclause of the previous MDX query. In every OLAP cube, one measure is des-
ignated as the default measure. If an MDX query is passed without explicitly asking
for a particular measure, the default measure is returned. The default measure is
typically designated by the adminstrator of your Analysis Services database.
To get the exact measure you are looking for, you must explicitly call for it in your
MDX query. The most common way a measure is passed in an MDX query is
through the WHERE clause. For instance:
SELECT {[Customer].[Country-Region].Members} ON COLUMNS
{[Product].[Product Categories].[Category].Members} ON ROWS
FROM [Analysis Services Tutorial]
WHERE ([Measures].[Internet Sales-Sales Amount])
515
Chapter 23: Browsing OLAP Data Sources with Excel
In the following example, the text in bold is the syntax that is actually needed to run this MDX query.
The rest is syntax Excel uses as safeguards and rules to ensure that the query runs the way Excel expects
it to run.
SELECT NON EMPTY Hierarchize({DrilldownLevel({[Product].[Product
Categories].Members [All Products]})}) DIMENSION PROPERTIES 
PARENT_UNIQUE_NAME ON COLUMNS FROM [Analysis Services Tutorial] WHERE
({[Measures].[Internet Sales-Sales Amount]}) CELL PROPERTIES VALUE,
FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS
The following sections outline some of the most common syntactical expressions you will find in Excel-
generated MDX queries that can be safely eliminated.
NON EMPTY
By default, Excel will inhibit the display of any members that are empty. It does this by using the NON
EMPTYkeyword. You don’t need this keyword unless you are looking for only nonempty members.
Hierarchize
The Hierarchize function sorts all members in hierarchical order. Most OLAP cubes are sorted prop-
erly by default, so you do not need to include this in your MDX statements. Excel plays it safe by
employing this function.
DrilldownLevel
By default, Excel will always pull the ALL level of any hierarchy and then drill down to the needed level
by employing the DrilldownLevel function. This function drills downs one level below the specified
level. 
Various Server-Side Settings
Excel will automatically call for all of the server-side settings. These settings allow the OLAP administra-
tors to push down formatting, language, and other properties to the consumers of their OLAP data.
When using MDX queries via VBA, you will rarely need these settings. You can, for the most part, ignore
any of the formatting-related keywords such as CELLPROPERTIESVALUEFORMAT_STRINGLANGUAGE,
BACK_COLORFORE_COLORFONT_FLAGS, and DIMENSION PROPERTIES PARENT_UNIQUE_NAME
You can force Excel to include empty members by adjusting the Display properties
of the pivot table. To do so, right-click the pivot table and select Table Options ➪
Display. Then place a check in Show Items with No Data on Rows and Show Items
with No Data on Columns. Any subsequent MDX queries will not include the NON
EMPTYkeyword. You can also change these settings by using the DisplayEmptyRow
and DisplayEmptyColumn properties of the PivotTable object:
ActiveSheet.PivotTables(“PivotTable1”).DisplayEmptyRow = True
ActiveSheet.PivotTables(“PivotTable1”).DisplayEmptyColumn = True
516
Chapter 23: Browsing OLAP Data Sources with Excel
With some practice, you will be able to spot the necessary MDX that you can leverage in building your
own queries. From the sample MDX created earlier in this section, you can whittle the MDX down to the
following query that can be used in VBA to retrieve OLAP data:
SELECT {[Product].[Product Categories].Members} ON COLUMNS  
FROM [Analysis Services Tutorial] 
WHERE ({[Measures].[Internet Sales-Sales Amount]}) 
Browsing OLAP Data Sources 
without P ivot Tables
At the start of this chapter, you saw that pivot tables were the most effective way to browse and analyze
cube data. So why would you want to browse an OLAP data source without a pivot table? The reason is
that you can do some interesting things with your OLAP data sources by using procedures outside of
the pivot table environment. In this section, you discover a few techniques that allow you to extend your
OLAP experience past pivot tables.
Using ADO to Return Flattened Recordsets
You may find that you don’t necessarily need to create pivot table processes for your reporting. You may
only need to get a few tabular datasets from your OLAP data sources. You can automate the creation of
flattened datasets by using a combination of MDX and ADO. Once you understand the basics of MDX
queries, you can use them just as you would SQL statements.
The following example first sets and opens a connection to the OLAP server by using the MSOLAP
provider. The Data Source is the name of the Analysis Services server, and the Initial Catalog is the name
of the database you are querying.
Next, you define the MDX query and execute the query into a recordset. You then enumerate through
the recordset to output the column headings. The column headings from an OLAP data source do not
come out very clean, so take some time to clean up most of the special characters and other strange nam-
ing conventions. Finally, use the CopyFromRecordset method to display the data:
Sub Return_Flat_Recordset()
Dim ObjConnection As New ADODB.Connection
Dim ObjRecordset As New ADODB.Recordset
Dim ObjWorkSheet As Object
Dim StrCellValue As String
Dim StrMDX As String
Dim c As Integer
You would logically think that if an OLAP-based pivot table uses MDX queries to
retrieve data, then you would be able to feed a pivot table with custom MDX
queries. Unfortunately, that is not the case. There is currently no way to make a
pivot table accept custom MDX queries as arguments for its data.
517
Chapter 23: Browsing OLAP Data Sources with Excel
Documents you may be interested
Documents you may be interested