ontents
preface xi
acknowledgements xii
about the book xiii
source code xiv
about the author xvi
PART 1 INTRODUCTION 1
1 Introducing Reporting Services 3
1.1 Understanding Reporting Services 3
Understanding Reporting Services Reports 4 Why Use Reporting Services? 4
A Short History of Reporting Services 8 What's New in Reporting Services 2008 9
Reporting Services and the Microsoft Business Intelligence Platform 13
1.2 Overview of Reporting Services 17
Understanding the Reporting Services Components 17 Report Authoring 19
Report Management 21 Report Delivery 23
1.3 The Reporting Services Architecture 25
Understanding the Report Server Hosting Model 25 Understanding the Reporting
Services Applications 27 Understanding Report Processing 29
1.4 Applied Reporting Services 30
Introducing Adventure Works Sales Reporting System 31 Your First Report 32
1.5 Summary 39
1.6 Resources 39
2 Installing Reporting Services 40
2.1 Planning for a Reporting Services Installation 40
Planning Hardware and Software 40 Planning a Deployment Topology 42
Planning Service Accounts 45
2.2 Performing a New Installation 47
Performing Initial Setup Steps 47 Installing a New SQL Server Installation 49
2.3 Upgrading Reporting Services 53
Planning the Upgrade Process 53 Working with the SQL Server 2008 Upgrade
Advisor 55 Upgrading a Reporting Services Installation 57
2.4 Performing Initial Configuration 58
Testing the Reporting Services Installation 58 Configuring Reporting
Services URLs 61 Additional Configuration Steps 67
2.5 Summary 72
2.6 Resources 73
PART 2 THE REPORT DESIGNER 75
3 Report Design Fundamentals 77
3.1 Designing for Report Design 77
Understanding the Report Authoring Cycle 77 Understanding Report Designers 80
3.2 Working with Report Server Projects 83
Business Intelligence Development Studio vs. Visual Studio 83
Performing Project Tasks 83
3.3 Authoring a Basic Report 88
Getting Started in Report Designer 88 Working with Data 92 Working with
Report Parameters 96 Understanding Report Items 97 Understanding
Expressions 99 Understanding Collections 101 Understanding Functions 105
The Anatomy of a Textbox 106 Designing the Report Layout109
3.4 Auto-generating Report Definitions 117
Using the Report Wizard 117 Importing Reports from Microsoft Access 120
3.5 Summary 121
3.6 Resources 121
4 Designing Data Access 122
4.1 Understanding Data Access 122
Understanding Data Architecture 122 Understanding Data Providers 124
4.2 Connecting to Data 126
Working with Shared Data Sources 126 Working with Report-Specific Data
Sources 131 Using Transactions 134
4.3 Working with Datasets 136
Understanding the Dataset Definition 137 Using the Generic Query Designer 137
Using the Graphical Query Designer 140 Filtering Datasets 142
Working with Stored Procedures 143
4.4 Working with Report Parameters 147
Understanding Report Parameters 147 Designing a Parameterized Report 149
Securing Reports with Parameters 156
4.5 Working with Other Data Sources 157
Using Microsoft Access 157 Working with XML Data 159 Retrieving Data from
Integration Services 161 Using a .NET Framework Data Provider 163
4.6 Summary 165
4.7 Resources 166
5 Designing Tablix Reports 167
5.1 Designing Tabular Reports 167
The Anatomy of a Table Region 167 Designing a Stepped Report169 Working
with Advanced Grouping Options 177 Implementing a Balance Sheet Report 180
5.2 Designing Crosstab Reports 182
The Anatomy of the Matrix Region 183 Working with Dynamic Column
Groups185 Working with Static Groups and Totals186
Implementing Adjacent Groups189
5.3 Designing Freeform Reports 191
The Anatomy of the List Region 192 Designing Freeform Layout193
Working with Subreports 195 Implementing Multicolumn Reports 197
5.4 Implementing Interactive Reports 199
Understanding Report Interactivity 199 Implementing Toggled Visibility 200
Implementing Hyperlink Actions 202 Implementing Interactive Sorting 207
Implementing a Document Map 211
5.5 Summary 212
5.6 Resources 212
6 Designing for Data Visualization 213
6.1 Designing Chart Reports 213
Understanding the Chart Region 213 The Anatomy of a Chart Region 215
Designing a Column Chart218 Designing a Line Chart223
6.2 Working with Chart Types 225
Histogram Charts 226 Pareto Charts 227 Three-Dimensional Column Charts 228
Bar Charts 230 Shape Charts 232 Area Charts 234 Range Charts 236
Scatter Charts 237 Polar Charts 239
6.3 Designing Gauge Reports 240
Understanding the Gauge Region 241 Implementing a Radial Gauge242
Implementing a Linear Gauge 246 Combining Charts and Gauges 248
Implementing Sparklines 249
6.4 Summary 252
6.5 Resources 252
7 Advanced Report Design 253
7.1 Designing For Rich Formatting 253
Understanding Rich Formatting 253 Implementing Mail Merge Reports 255
7.2 Designing For Report Output 257
Understanding Report Renderers 257 Working with Report Renderers 260
7.3 Extending Reports with Custom Code 265
Understanding Custom Code 266 Working with Embedded Code 267 Working
with External Code 271 Securing Custom Code 275 Debugging Custom Code 280
7.4 Report Design Challenges and Solutions 282
Working with Variables 282 Working with External Images 285 Passing
Multivalued Parameters to Stored Procedures 288 Localizing Reports 289
Generating RDL Programmatically 293
7.5 Summary 294
7.6 Resources 295
PART 3 THE REPORT BUILDER 297
8 Building Report Models 299
8.1 Understanding Report Builder 1.0 299
The Report Builder Architecture 299 Understanding Report Models 301
Comparing Report Models and UDM 303
8.2 Implementing Report Models 305
Working with Data 306 Generating the Raw Model 313
8.3 Refining Report Models 318
Working with Entities and Fields 318 Advanced Report Modeling 326
Dealing with Changes 332 Deploying Report Models 335
8.4 Working with Analysis Services Models 335
Generating Report Models from Analysis Services 336 Understanding Analysis
Services Limitations 337
8.5 Summary 338
8.6 Resources 338
9 Authoring Ad Hoc Reports 339
9.1 Understanding Report Builder 1.0 Client 339
Understanding Features 339 Deploying Report Builder 1.0 Client 341
9.2 Designing Ad Hoc Reports 343
Authoring Table Reports 343 Authoring Matrix Reports 352 Designing Chart
Reports 356 Authoring OLAP Reports 358
9.3 Advanced Ad Hoc Reporting 360
Working with Filters and Formulas 360 Working with Report Model Data Sources 365
Implementing Custom Drillthrough Reports 368 Capturing Native Queries 370
9.4 Securing Report Builder Models 372
Granting Report Builder Access 372 Implementing Model Item Security 374
Implementing Data Security 375
9.5 Summary 377
9.6 Resources 377
10 Previewing Report Builder 2.0 378
10.1 Understanding Report Builder 2.0 378
Introducing Report Builder 2.0 Environment 379 Understanding Report Builder 2.0
Features 381
10.2 Authoring an OLAP Report 383
Getting Started with Report Builder 2.0 384 Configuring the Report Data 385
Designing the Report 387
10.3 Authoring a Relational Report 392
Configuring the Report Data 393 Designing the Report Layout 395
10.4 Summary 398
10.5 Resources 398
PART 4 MANAGEMENT 399
11 Management Fundamentals 401
11.1 Understanding Report Management 401
Understanding Report Management Tools 401 Understanding the Report Server
Service 405 Managing the Report Server 406
11.3 Managing Report Server Content 411
Understanding Report Server Content 411 Managing Folders 412
Managing Data Sources 415 Managing Reports 418
11.4 Managing Security 422
Understanding Report Server Security 422 Granting Administrator Access 424
Granting User Access 427 Viewing Security Policies 428
11.5 Summary 430
11.6 Resources 430
12 Managing Report Execution and Subscriptions 431
12.1 Managing Report Execution 431
Understanding Report Execution Options 431 Managing Execution Sessions 432
Managing Cache Snapshots 434 Managing Execution Snapshots 438
Managing Report Execution Timeouts 442
12.2 Managing Subscriptions 443
Understanding Subscriptions 443 Managing Standard Subscriptions 445
Managing Data-Driven Subscriptions 452
12.3 Summary 457
12.4 Resources 457
13 Advanced Report Management 458
13.1 Programming Report Management 458
Understanding the Management API 458 Tracing Web Methods 460 Programming
Management Tasks 462 Scripting Management Tasks 467
Using the WMI Provider 469
13.2 Monitoring Reporting Services 472
Understanding the Reporting Services Log Files 472 Working with the
Execution Log 472 Working with the Trace Log 474 Working with the
HTTP Log 477 Monitoring Server Performance 478
13.3 Configuring Memory Utilization 480
Understanding Memory Zones 480 Understanding Memory Configuration Settings 481
13.4 Managing the Report Server Database 482
Installing the Source Database 482 Changing the Report Server Catalog 483
13.5 Summary 485
13.6 Resources 486
PART 5 INTEGRATION 487
14 Integration Fundamentals 489
14.1 Understanding Reporting Services Integration 489
Understanding Integration Options 490 Choosing an Integration Approach 492
14.2 Working with URL Access 493
Understanding URL Syntax 493 Requesting Catalog Items 494
Requesting Reports 496 Working with Device Information Settings 497
14.3 Working with the Report Server Web Service 501
Getting Started in Report Server Web Service 501 Rendering Reports 503
14.4 Putting It All Together 507
Programming Report Server Web Service 507 Programming URL Access 510
14.5 Summary 512
14.6 Resources 512
15 Reporting For .NET Clients 513
15.1 Understanding Embedded Reporting 513
Understanding the ReportViewer Controls 513 Understanding Report
Processing Modes 516
15.2 Reporting for Windows Forms Clients 518
Getting Started with the ReportViewer Windows Forms Control 518 Working with
Remote Processing Mode 520 Working with Local Processing Mode 525
15.3 Reporting for Web Clients 533
Understanding the ReportViewer Web Server Control 533 Embedding Reports
in Web Applications 535
15.4 Reporting for Rich Internet Applications 540
Understanding Microsoft Silverlight 541 Implementing the User Interface 543
Report-enabling Silverlight Applications 547
15.5 Summary 551
15.6 Resources 551
16 Integrating with Analysis Services 552
16.1 Understanding Analysis Services 552
Understanding OLAP 552 Understanding Data Mining 556 Historical and Trend
Reporting 557 Introducing Analysis Services and Reporting Services Integration 560
16.2 Authoring OLAP Reports 564
Authoring a Basic Report 564 Working with Filters and Parameters 569 Working
with Calculated Members 575 Working with Server Aggregates 577 Implementing
Detailed Reports 579 Working with the OLE DB Provider for Analysis Services 581
Working with Parent-Child Hierarchies 584
16.3 Extending Reports with End-User Features 586
Working with Extended Properties 586 Working with Reporting Actions 589
Localizing Reports with Translations 591
16.4 Authoring Data Mining Reports 595
Understanding the Targeted Mailing Data Mining Model 595 Implementing
"Smart" Reports 597
16.5 Summary 600
16.6 Resources 600
17 Integrating with SharePoint 601
17.1 Understanding SharePoint Integration 601
Understanding SharePoint Products and Technologies 601 Understanding Partial
Integration 603 Understanding Full Integration 607
17.2 Configuring SharePoint Integration 612
Performing Initial Installation 612 Configuring Reporting Services
Integration Settings 615
17.3 Managing Report Content 618
Uploading Reports 619 Viewing Reports 623
Working with SharePoint Document Management Features 624
17.4 Implementing Web Part Pages 626
Implementing Dashboard Pages 626 Implementing Report Navigation 630
Working with Filter Web Parts 631
17.5 Summary 634
17.6 Resources 634
PART 6 EXTENSIBILITY 635
18 Extending Data Access 637
18.1 Understanding Custom Data Processing Extensions 637
Choosing a Data Integration Approach 638 Introducing the Dataset Custom Data
Processing Extension 639
18.2 Using Custom Dataset Extensions with Reports 640
Using the Extension at Design Time 640 Understanding Runtime Interaction 644
18.3 Implementing Custom Data Processing Extensions 645
Understanding the Classes and Interfaces 645 Implementing the Dataset
Query Designer 649
18.4 Deploying and Debugging 651
Design-time Deployment 652 Report Server Deployment 653 Debugging Custom
Data Processing Extensions 653
18.5 Summary 655
18.6 Resources 655
19 Customizing Security 656
19.1 Introducing Custom Security 656
When to Use Custom Security 656 Understanding Custom Security Extensions 658
Understanding Runtime Interaction 659
19.2 Implementing Custom Security Extensions 660
Introducing the Adventure Works Web Reporter 661 Implementing the
Authentication Extension 662 Implementing Authorization Extension 664
Implementing Logon Pages 666 Deploying Custom Security Extensions 667
Working with the Custom Security Extension 670
19.3 Implementing Role Membership 672
Understanding Role Membership 672 Implementing Database Schema 673
Implementing Role Authentication 673 Implementing Role Authorization 674
19.4 Integrating Custom Security 677
Custom Security vs. Trusted Subsystem 677 Integrating Custom Security 678
19.5 Troubleshooting Custom Security 679
Debugging the Custom Security Extension 680 Troubleshooting Tips 680
19.6 Summary 683
19.7 Resources 683
20 Extending Report Delivery 684
20.1 Understanding Custom Subscription Delivery 684
Understanding Custom Delivery Extensions 685 Introducing the Web Service
Delivery Extension 687
20.2 Implementing Custom Report Delivery 691
Implementing the Custom Delivery Extension 691 Implementing the
Web Control 695
20.3 Deploying Custom Delivery Extensions 696
Deploying to the Report Server 696 Deploying to Report Manager 697
Debugging Custom Delivery Extensions 697
20.4 Summary 699
20.5 Resources 699
21 Implementing Custom Report Items 700
21.1 Understanding Custom Report Items 700
What is a Custom Report Item? 700Understanding the Design-Time Component 701
Understanding the Run-Time Component 703 Introducing the Progress Tracker
Custom Report Item 704
21.2 Implementing Custom Report Items 706
Implementing the Windows Control 706 Implementing the
Design-Time Component 709 Implementing the Run-Time Component 715
21.3 Working with Progress Tracker 718
Deploying Progress Tracker 718 Debugging Progress Tracker 721
21.4 Understanding Custom Data Regions 722
Understanding the CustomData Object 722 Using CustomData at Design Time 722
21.5 Summary 724
21.6 Resources 724
22 Customizing Report Definitions 725
22.1 Understanding Report Definition Customization Extensions 725
What is a Report Definition Customization Extension? 725
Understanding Programming Interfaces 727
22.2 Working with the Extension Sample 728
Implementing a Report Definition Customization Solution 729
Deploying and Testing 732
22.3 Summary 735
master resource list 736
index 738
- Log in to post comments