Administrivia HW #1 management option due now – please submit HW #1 ETL option due next Tuesday (4/8) HW #2 reporting option now available on wiki OLAP option will be posted this weekend
BI Tools and Techniques Robert Monroe April 3, 2008 Reporting Tools BI Tools and Techniques Robert Monroe April 3, 2008
Goals Understand what reporting tools can do and how they can help businesses get the right information to the right people at the right time Understand some of the different ways that reporting tools are used, and how different tools address different challenges and different parts of the reporting market Practice building some simple reports with Reporting Services
Questions What is a report? What are reporting tools? In the context of general business? In the context of Information Systems? A presentation of data or analysis results from an information system (Bob Monroe) What are reporting tools? Software tools and toolsets designed that assist people in extracting data from information systems, operational databases, and data warehouses, turning it into useful information, and presenting it effectively to the end-user. (Bob Monroe) How do reporting tools differ from any other application that accesses a database?
Reports Are Primarily Used For Three Purposes Making decisions … but what kinds of decisions? Tracking status of business processes Examples? Identifying exceptions/problems
Report Example – Sales By Category Page from a sales report listing product sales for a specific category (dairy) Same information displayed in tabular form and as a chart How might this report be used for: Making decisions? Tracking status? Identifying exceptions?
Report Example AdventureWorks Top 5 salespeople and Top 5 stores Multiple formats for presenting data How might this report be used for: Making decisions? Tracking status? Identifying exceptions?
Report Example – Sales Order Detail AdventureWorks sales order detail report Presentation of a single record with minimal aggregation or processing How might this report be used for: Making decisions? Tracking status? Identifying exceptions?
Report Example – Sales Cube AdventureWorks sales summary matrix Supports drill-down and aggregation in ‘live’ report Driven by OLAP cube database How might this report be used for: Making decisions? Tracking status? Identifying exceptions?
Report Example – CIO Dashboard Dashboard summary of Key Performance Indicators (KPI’s) for a CIO Presents a wide variety of data in summary format How might this report be used for: Making decisions? Tracking status? Identifying exceptions? Source, http://www.xcelsius.com/Examples/Overview.html
Report Example – Financial Analysis Dashboard summary of financial situation Presents a wide variety of financial data in summary format How might this report be used for: Making decisions? Tracking status? Identifying exceptions? Source, http://www.xcelsius.com/Examples/Overview.html
Why Use Reporting Tools? How hard can it be to write some SQL queries? Programmers are scarce, expensive, bottlenecks Converting raw data (e.g. SQL query) into presentation of useful, actionable information is nontrivial Wide variety of end-users Security and access control Support global organizations
Common Reporting Tool Capabilities Support for information retrieval by non-programmers Query-by-example WYSYWIG-type query generation Paramaterized retrieval of data from databases Support for attractive rendering and presentation of retrieved data Generally user-configurable presentation Often a set of pre-canned presentation formats Tables, matrices, charts, graphs, pivot tables, etc.
Common Reporting Tool Capabilities (Cont.) Presentation/export of reports in many different formats Report push and pull to a variety of endpoints Security and access control Support for integration with other applications Custom-developed applications 3rd party applications (e.g. SAP, POS systems, etc.)
Major Reporting Tool Vendors Business Objects (SAP) Cognos (IBM) Microsoft Oracle SAP MicroStrategy Many, many smaller players
Reporting Tool Evaluation Criteria Non-IT Professionals Analysts IT Professionals Target users: Ad-hoc Parameterizable Predefined Exploration: General Purpose Domain-Specific Single Purpose Specificity: Embedded Web/client-based Mobile Delivery: Text Programming XML/4GL WYSYWIG Specification:
Implementing Reporting Systems
Some Implementation Guidelines Rule #1: Understand needs and requirements before undertaking a reporting systems project Start by figuring out where you want to end, work backwards Some initial questions to ask: Who will use the reporting system? How IT-savvy are they? What information will the end-users need? Do they need pre-canned, configurable, and/or ad hoc reports? How/when should end-users receive the reports? Is the required data available? Does it need to be massaged? Which of our applications need to integrate with new reporting system? Now? In the future?
Factors In Creating Effective Reports Presentation Delivery Timeliness Correctness
Selecting Data Sources Reporting tools frequently pull from many data sources Data warehouses Data marts Transactional data stores OLAP cubes Etc. Data Mining Tools Q u e r i e s Queries ETL Queries Queries Reporting And Vis Tools E T L Data E T L Warehouse Queries ETL E OLAP T L Cube Q OLAP GUI u e r i Operational e s Databases Data Marts
Security And Access Control Rule #1 of information security – it’s a management issue first and foremost A reporting system can make much more information available to many more people Is this always a good thing? Careful analysis needed: Who should be able to see what, when, and under what conditions Establishing roles, permissions, and policies helps keep it managable A good reporting system should help manage access to information Access policies, granularity of access control
Microsoft SQL Server 2005 Reporting Services
SQL Server 2005 Overview SQL Server 2005 consists of a collection of integrated modules that address different database and BI needs Today’s focus: Reporting Services Source: Microsoft’s SQL Server Books Online
Reporting Services Features Report specification Report presentation Report storage, updating, archiving Report distribution Export to multiple formats Integration/embedding with external applications Report Models
Two Primary Client Tools Management Studio Database administration Ad hoc queries/sql BI Development Studio Report development and testing Report model development OLAP development and testing …
Reporting Services Architecture Diagram Source: Microsoft’s SQL Server Books Online
Key Reporting Services Concepts Report Definition Language (RDL) file Report Designer component Data Sources and Connections (for reports) DataSet pointer to a data source + query used to retrieve data Publishing a report Report Manager End-user tool for viewing/managing reports over the web
In-Class Exercise #1 Form groups of 2-3 students You are the Chief _______ Officer of AdventureWorks Identify three important reports that you would like to use to do your job more effectively. For each report: Briefly name and describe the report What decisions will you use this report to make? What information should the report contain (be specific)? How frequently should the report be run or updated? How would you like it delivered to you? Will you want to be able to explore report details? What does this imply? Should access to the report be limited? To whom?
In-Class Exercise #2 Select one of the reports identified in exercise #1 For this report: Determine whether the information you need is readily available in the AdventureWorks database If so, where is it and how would you retrieve it? If not, what might you do to get the information you need? Sketch a proposed presentation for the report
In-Class Exercise #3 - AdventureWorks Report Samples Open BI Development Studio (BIDS) Open sample AdventureWorks reports Installed by default at: File > Open > Open Project Solution C:\Program Files\Microsoft SQL Server\90\Samples\Reporting Services\Report Samples\AdventureWorks Sample Reports If not installed, can be downloaded from course wiki: https://cmu-bitt.wikispaces.com/Reporting+and+OLAP+Tools Find Report Samples\AdventureWorks Sample Reports.sln Open solution Explore how the reports are implemented