display pdf winform c# : How to rotate all pages in pdf at once SDK software API wpf winforms asp.net sharepoint 7053154973-Excel%202007%20VBA%20Programmers%20Reference%20-%20Wrox%20200754-part682

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
How to rotate all pages in pdf at once - rotate PDF page permanently in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Users to Change the Rotation Angle of PDF File Page Using C#
how to rotate one pdf page; rotate all pages in pdf
How to rotate all pages in pdf at once - VB.NET PDF Page Rotate Library: rotate PDF page permanently in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
PDF Document Page Rotation in Visual Basic .NET Class Application
rotate all pages in pdf preview; pdf rotate one page
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# HTML5 PDF Viewer SDK deployment on Visual Studio .NET
pages extract, copy, paste, C#.NET rotate PDF pages, C#.NET Compatible with all Windows operating system in both 32 HTML5 Viewer Demo or XDoc.PDF.HTML5 Editor
how to rotate pdf pages and save; how to save a pdf after rotating pages
VB.NET PDF - Deploy VB.NET HTML5 PDF Viewer on Visual Studio.NET
edit, C#.NET PDF pages extract, copy, paste, C#.NET rotate PDF pages, C#.NET Introduction to How to Build Online VB.NET PDF Viewer in Visual All Rights Reserved
rotate pdf page permanently; how to rotate one page in a pdf file
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 PDF insert image library: insert images into PDF in vb.net
Once the photo is inserted, its attributes, for instance Dim outputFilePath As String = Program.RootPath + "\\" output.pdf" doc.Save All Rights Reserved.
rotate pages in pdf; pdf rotate page
C# PDF Page Move Library: re-order PDF pages in C#.net, ASP.NET
String inputFilePath = Program.RootPath + "\\" 1.pdf"; PDFDocument doc the new order for all pages // 1. the be in the array and only once // otherwise, the
how to rotate pdf pages and save permanently; rotate pdf page by page
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 PDF Page Move Library: re-order PDF pages in vb.net, ASP.
inputFilePath As String = Program.RootPath + "\\" 1.pdf" Dim doc define the new order for all pages ' 1. the be in the array and only once ' otherwise, the
rotate single page in pdf reader; how to rotate page in pdf and save
VB.NET PDF Text Search Library: search text inside PDF file in vb.
If the source PDF document is with multiple pages, it may be Dim document As BaseDocument If filePath.EndsWith(".pdf") Then document = New All Rights Reserved.
pdf page order reverse; rotate pdf pages individually
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.
VB Imaging - VB Code 128 Generation Guide
PointF(100F, 100F)) docx.Save("C:\\Sample_Barcode.pdf"). All the properties above are included in the 96 'set rotation barcode.Rotate = Rotate.Rotate0 barcode
reverse page order pdf; pdf expert rotate page
C# Word - Sort Word Pages Order in C#.NET
new order for all pages // 1. the length of the array MUST BE equal to pageCount // 2. each page index SHOULD be in the array and only once // otherwise, the
rotate individual pages in pdf; how to rotate a single page in a pdf document
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.NET Image: Create Code 11 Barcode on Picture & Document Using
set resolution barcode.Rotate = Rotate.Rotate0 'set rotate barcode.AddCheckSum to decode, encode and process PDF file independently All Barcodes Types in VB.NET.
save pdf rotated pages; pdf rotate single page
VB.NET Image: Using VB.NET Web Image Viewer to Process Web Images
including JPEG, PNG, GIF, BMP, TIFF, PDF, Word the trial package demo project that provides all rotation buttons It makes you easy to rotate image and document
how to reverse page order in pdf; rotate pdf pages by degrees
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