Microsoft Reporting Services in Action (Paperback)

Teo Lachev

  • 出版商: Manning
  • 出版日期: 2004-08-01
  • 售價: $1,960
  • 貴賓價: 9.5$1,862
  • 語言: 英文
  • 頁數: 656
  • 裝訂: Paperback
  • ISBN: 1932394222
  • ISBN-13: 9781932394221
  • 已過版

買這商品的人也買了...

相關主題

商品描述

Description:

Business reporting is a lifeline of business, so a better reporting environment is a big deal. With a sophisticated, modern tool like Microsoft SQL Server 2000 Reporting Services, you can report-enable any type of application, regardless of its targeted platform or development language.

Written for information workers, system administrators, and developers, this book is a detailed and practical guide to the functionality provided by Reporting Services. It systematically shows off many powerful RS features by leading you through a dizzying variety of possible uses. Following a typical report lifecycle, the book shows you how to create, manage, and deliver RS reports.

In the first half, you will master the skills you need to create reports. System administrators will learn the ropes of managing and securing the report environment. The second half of the book teaches developers the techniques they need to integrate RS with their WinForm or web-based applications. It does this with the help of a wide variety of real-world scenarios which will give you ideas on how to use RS in addition to teaching you the ropes.

An experienced software designer and developer, Teo Lachev works as a technology consultant with the Enterprise Application Services practice of Hewlett-Packard. He is a Microsoft Certified Solution Developer and a Microsoft Certified Trainer. Teo lives in Atlanta, GA.

 

Table of Contents:

foreword  xix
preface  xxi
acknowledgments  xxiii
roadmap  xxv
source code  xxviii
author online  xxxiii
about the title and cover  xxxiv

 

1  Introducing Microsoft Reporting Services   1
1.1 What is RS? 2
Why do we need RS? 2
How is RS implemented? 4
RS and the Microsoft BI platform 5
1.2 RS at a glance 6
Authoring features 7
Management features 8
Delivery features 9
Extensibility features 9
Scalability features 10
Security features 10
Deployment features 11
1.3 RS architecture 11
The Report Server 13
The Report Server database 14
The Report Manager 15
1.4 Understanding Report Processing 17
Execution stage 18
Rendering stage 18
1.5 Delivering reports 20
On-demand delivery 20
Subscribed delivery 21
1.6 What is the report lifecycle? 22
1.7 RS in action 23
About the Adventure Works Reporter 23
Your first report 24
1.8 Evaluating RS 33
1.9 Summary 35
1.10 Resources 35

 

Part 1  Authoring reports   37


2  Report authoring basics   39
2.1 The report-authoring process: step by step 40
Analysis 41
Construction 42
Testing 42
Deployment 42
2.2 Authoring reports in VS.NET 43
Authoring reports with the Report Wizard 43
Authoring reports with the Report Designer 44
Importing reports from Microsoft Access 53
2.3 Creating reports programmatically 55
The AW Ad Hoc Reporter sample 56
Implementation details 58
2.4 Creating reports with third-party tools 60
Cizer’s Quick Query 60
Hitachi’s RDL Generator 62
2.5 Summary 62
2.6 Resources 62


3  Working with data   63
3.1 Working with data sources 63
Connecting to the database 64
Choosing an authentication mechanism 69
Deploying data sources 77
3.2 Working with report datasets 77
Understanding the dataset definition 78
Creating a report dataset 79
Using multiple datasets 83
3.3 Authoring dataset queries 84
Using the Graphical Query Designer 84
Using the Generic Query Designer 86
3.4 Parameter-driven reports 89
The role of parameters 89
Building parameter-driven queries 90
Setting up the report-level parameters 92
Working with stored procedures 95
3.5 Data limitations 100
Data source limitations 100
Parameter limitations 101
3.6 Summary 101
3.7 Resources 101


4  Designing reports   102
4.1 Anatomy of a report 103
Getting started with a new report 104
Understanding report sections 104
Understanding report items 105
Understanding data regions 107
4.2 Designing tabular reports 109
Parameterized tabular reports 113
Tabular reports with interactive features 117
Table region limitations 119
4.3 Designing freeform reports 119
Freeform reports with nested regions 119
Grouping freeform data 121
Freeform reports with side-by-side data regions 123
4.4 Designing Chart Reports 124
The chart data region 124
Working with charts 126
Nesting chart regions 127
4.5 Designing crosstab reports 129
Matrix region advantages 129
Working with the matrix region 130
Adjusting the report layout 134
4.6 Designing Subreports 135
Laying out the report 136
Synchronizing the subreport with the master report 137
4.7 Designing multicolumn reports 138
Setting up multiple columns 139
Testing multicolumn reports 139
4.8 Summary 140
4.9 Resources 141

 

5  Using expressions and functions   142
5.1 Understanding expressions 143
Using the Expression Editor 143
Expression syntax 145
Determining expression execution order 145
Understanding expression scope 146
Dealing with expression errors 147
5.2 Exploring the Report Object Model 148
Using the ReportItems collection 151
Using the Fields collection 155
Using the Parameters collection 157
Using the Globals collection 159
Using the User collection 159
5.3 Working with functions 160
Referencing external functions 160
Using aggregate functions 161
Using other internal functions 165
5.4 Designing reports with navigational features 167
Reports with hyperlinks 168
Reports with document maps 170
5.5 Report rendering considerations 173
Exporting reports to HTML 173
Exporting reports to MHTML 174
Exporting reports to HTML with Office Web Components 174
Exporting reports to other formats 176
5.6 Designing localized reports 177
Report localization basics 177
Localization techniques 179
5.7 Summary 181
5.8 Resources 182


6  Using custom code   183
6.1 Understanding custom code 184
Using embedded code 184
Using external assemblies 187
6.2 Custom code in action: implementing report forecasting 191
Forecasting with OpenForecast 192
Implementing report forecasting features 192
6.3 Using XML-based reports 204
Understanding XML exporting 205
Exposing the report content as an RSS feed 205
6.4 Summary 210
6.5 Resources 211


Part 2  Managing reports   213


7  Managing the Reporting Services environment   215
7.1 Managing RS with the Report Manager 216
How the Report Manager works 216
Managing Report Server settings 219
Managing content 223
Managing report execution 230
Managing linked reports 240
7.2 Managing RS with the Web service 242
Understanding the Web service management API 242
Tracing calls to the SOAP API 242
Deploying reports programmatically 245
Batching methods together 249
7.3 Managing RS with the WMI provider 249
Understanding the WMI provider 250
Implementing an RS management console 251
7.4 Other ways to manage Reporting Services 253
Managing RS with the script host 253
Using other management utilities 254
7.5 Analyzing report execution 255
Analyzing the Report Server execution log 255
Analyzing trace log files 257
7.6 Summary 259
7.7 Resources 259


8  Securing Reporting Services   260
8.1 Exploring Reporting Services role-based security 261
How Windows authentication works 262
Using role-based authorization 266
Managing role-based security with the Report Manager 272
Managing role-based security with the Web service 277
8.2 Understanding code access security 281
Defining code access terminology 281
Exploring the RS default security policy 285
Managing RS code access security 286
8.3 Best practices for securing reports 290
Filtering data 291
Using dynamic dataset queries 292
Implementing custom security models 294
Enforcing a secured connection to the Report Server 294
8.4 Summary 295
8.5 Resources 295


Part 3  Delivering reports   297


9  On-demand report delivery   299
9.1 How RS provides on-demand report delivery 300
9.2 URL-based report access 301
Understanding URL syntax 302
Requesting resources by URL 303
Requesting reports by URL 305
Working with report commands 306
Working with the HTML Viewer 309
URL access in action 312
9.3 Web service-based report access 317
Requesting reports with SOAP 318
Rendering images 321
Handing report sessions 324
Automating the report generation process 327
9.4 Evaluating URL and Web service access options 331
Evaluating URL access 332
Evaluating Web service access 334
Choosing an integration approach 334
9.5 Summary 335
9.6 Resources 336


10  Reporting for Windows Forms applications   337
10.1 Rich client wanted 338
Report-enabling rich clients 338
Using the Client-to-Report Server model 339
Using the Client-to-Fa硤e-to-Report Server model 341
10.2 Introducing the Adventure Works Report Wizard 342
Designing the Report Wizard 343
The Report Wizard step-by-step 344
10.3 Behind the scenes of the Adventure Works Report Wizard 348
Implementing the application framework 349
Selecting reports 354
Dealing with snapshot reports 359
Handling report parameters 359
Specifying the export format 368
Confirming the report request 368
10.4 Enhancing application performance 370
Using in-memory caching 371
Using multithreading 372
10.5 Summary 375
10.6 Resources 376


11  Reporting for web-based applications   377
11.1 Understanding web reporting 378
Reporting for intranet applications 378
Reporting for Internet applications 379
Reporting for extranet applications 382
Introducing the Adventure Works Web Reporter 383
11.2 Client-side reporting techniques 384
Requesting reports from hyperlinks 384
Creating write-back reports 388
Using HTTP-POST 390
Calling the RS Web service on the client side 392
11.3 Server-side reporting techniques 395
Using the ReportViewer control 396
Using the Adventure Works ReportViewer control 399
Reporting off application datasets 407
Business-to-consumer reporting 409
Business-to-business reporting 412
11.4 Summary 414
11.5 Resources 415


12  Reporting for OLAP applications   416
12.1 Understanding OLAP 417
OLTP vs. OLAP 417
How Reporting Services and Analysis Services compare 418
Understanding the OLAP storage model 419
Designing OLAP solutions 422
12.2 Implementing an OLAP solution: AW Data Miner 424
Implementing the data warehouse 426
Implementing the OLAP cube 427
Authoring OLAP-based reports with RS 440
Implementing AW Data Miner 443
12.3 Summary 453
12.4 Resources 454


13  Enterprise reporting   456
13.1 Understanding enterprise reporting 457
Evaluating enterprise reporting 457
Introducing the Adventure Works Enterprise Reporter 458
13.2 Behind the scenes of the Adventure Works Enterprise Reporter 461
Implementing the Report Configuration Store 462
Implementing the presentation layer 463
Implementing the Enterprise Reporting Fa硤e 466
Designing for scalability 470
13.3 Implementing custom application authorization 472
Understanding the Windows Authorization Manager 472
Securing the AW Enterprise Reporter 478
13.4 Summary 481
13.5 Resources 481


14  Subscribed report delivery   483
14.1 Understanding subscribed report delivery 484
Subscription-based reporting scenarios 484
The subscriber-publisher design pattern 484
How the Reporting Services subscription-based model works 485
14.2 Configuring subscribed report delivery 488
Creating a new subscription 489
Choosing the subscription type 490
Configuring delivery extensions 493
Managing subscriptions 495
14.3 Subscribed report delivery in action 497
“Pushing” reports via standard e-mail subscriptions 497
Archiving reports to a file share 499
Sending reports to a data-driven list of recipients 503
Triggering subscriptions programmatically 509
14.4 Summary 513
14.5 Resources 513


Part 4  Advanced reporting   515


15  Extending Reporting Services   517
15.1 Understanding Reporting Services extensibility 518
Understanding interface-based programming 518
Working with interface inheritance 519
15.2 Reporting off ADO.NET datasets with a custom dataset data extension 523
Design goals and tradeoffs 525
Authoring dataset-bound reports 526
Implementing the custom dataset extension 533
Debugging dataset extensions 537
15.3 Distributing reports to Web services using custom delivery extensions 537
Design goals and tradeoffs 538
Using the custom delivery extension 539
Implementing the custom delivery extension 540
Debugging custom delivery extensions 544
15.4 Implementing custom security 546
Design goals and tradeoffs 549
Intranet reporting with custom security 550
Implementing the custom security extension 553
Debugging the custom security extension 560
15.5 Using custom HTTP modules 560
The HTTP module design goals and tradeoffs 561
Implementing the custom HTTP module 561
15.6 Considerations for custom rendering extensions 563
15.7 Summary 563
15.8 Resources 564


16  Performance and scalability   566
16.1 Understanding capacity planning 567
Capacity planning fundamentals 567
The capacity planning process 572
16.2 Capacity planning with Reporting Services in action 577
Determining requirements 577
Setting up the testing environment 580
Performance testing 584
Analyzing performance results 585
Identifying resource constraints 587
Eliminating resource constraints 589
16.3 Summary 592
16.4 Resources 593


A  Installing Reporting Services   594
A.1 Choosing components to install 595
A.2 Selecting the service account 596
A.3 Specifying RS virtual folders 597
A.4 Configuring the Report Server database 599
A.5 Configuring Reporting Services for e-mail delivery 600
A.6 Setting up the RS samples 601
A.7 Configuring RS licensing mode 601
A.8 Post-installation steps 603
Installing RS sample reports 603
Backing up the encryption key 604
A.9 Resources 604

 

index 605