sql server bi: adding reporting and analysis to smart client applications jamie maclennan and brian...

26
SQL Server BI: Adding SQL Server BI: Adding Reporting And Analysis To Reporting And Analysis To Smart Client Applications Smart Client Applications Jamie MacLennan and Brian Jamie MacLennan and Brian Welcker Welcker DAT313 DAT313 SQL Server Business SQL Server Business Intelligence Intelligence Microsoft Corporation Microsoft Corporation

Upload: blake-wood

Post on 30-Dec-2015

225 views

Category:

Documents


0 download

TRANSCRIPT

SQL Server BI: Adding Reporting SQL Server BI: Adding Reporting And Analysis To Smart Client And Analysis To Smart Client ApplicationsApplications

Jamie MacLennan and Brian Jamie MacLennan and Brian WelckerWelckerDAT313DAT313SQL Server Business IntelligenceSQL Server Business IntelligenceMicrosoft CorporationMicrosoft Corporation

2

AgendaAgenda

Why integrate BI into your smart Why integrate BI into your smart client application?client application?

Integrating Data Mining into your Integrating Data Mining into your applicationapplication

Integrating Reporting into your Integrating Reporting into your applicationapplication

3

What Is Business What Is Business Intelligence?Intelligence?

““Business intelligence (BI) is a broad Business intelligence (BI) is a broad category of business processes, category of business processes, application software and other application software and other technologies for gathering, storing, technologies for gathering, storing, analyzing, and providing access to analyzing, and providing access to data to help users make better data to help users make better business decisions”business decisions”

Why integrate BI into your app?Why integrate BI into your app?BI makes applications smarter!BI makes applications smarter!

Your customers get more value from Your customers get more value from their datatheir data

Big payoff with small amounts of codingBig payoff with small amounts of coding

4

Intelligent CallIntelligent CallCenter ApplicationCenter Application

Jamie MacLennanJamie MacLennanDevelopment ManagerDevelopment ManagerBrian WelckerBrian WelckerGroup Program ManagerGroup Program ManagerSQL Server Business IntelligenceSQL Server Business Intelligence

5

What Is SQL Server Data What Is SQL Server Data Mining?Mining?

Data Mining platform for analysis and Data Mining platform for analysis and deployment of data mining solutionsdeployment of data mining solutions

Nine algorithms developed in Nine algorithms developed in conjunction with Microsoft Researchconjunction with Microsoft Research

Tools for the creation and Tools for the creation and comprehension of modelscomprehension of models

Familiar API’s and query language for Familiar API’s and query language for embedding data mining into embedding data mining into intelligent applicationsintelligent applications

6

Mining ModelMining Model

What Does Data Mining What Does Data Mining Do?Do?IllustratedIllustrated

DMDMEngiEnginene

Data Data To PredictTo Predict

DMDMEngiEnginene

Predicted DataPredicted Data

Training DataTraining Data

Mining ModelMining Model

Mining ModelMining Model

DB dataDB dataClient dataClient dataApplication dataApplication data

DB dataDB dataClient dataClient dataApplication dataApplication data““Just one row”Just one row”

7

Intelligent ApplicationsIntelligent Applications

Make decisions without codingMake decisions without codingData Mining algorithms learn business rules Data Mining algorithms learn business rules directly from the data, freeing you from trying directly from the data, freeing you from trying discover and code them yourselvesdiscover and code them yourselves

Customized for each clientCustomized for each clientData Mining learns the rules from the client’s Data Mining learns the rules from the client’s data – resulting in logic that is automatically data – resulting in logic that is automatically specialized for each individual clientspecialized for each individual client

Automatically update themselvesAutomatically update themselvesAs your client’s business changes, so do the As your client’s business changes, so do the factors that impact their business. Data Mining factors that impact their business. Data Mining allows your application logic to be automatically allows your application logic to be automatically updated through a simple processing step. updated through a simple processing step. Applications do not need to be rewritten, Applications do not need to be rewritten, recompiled or redeployed, and are always online recompiled or redeployed, and are always online – even during processing– even during processing

8

Application ExamplesApplication Examples

Clalit HealthcareClalit HealthcareBuilds models predicting health Builds models predicting health degradation in senior citizensdegradation in senior citizens

Sends reports to physicians of top Sends reports to physicians of top patients likely to get sickpatients likely to get sick

ABS-CBN InteractiveABS-CBN InteractiveSends ring tone recommendations to Sends ring tone recommendations to customers cell phones based on past customers cell phones based on past historyhistory

Inrix, IncInrix, IncReal-time predictive traffic info delivered Real-time predictive traffic info delivered to web and mobile devicesto web and mobile devices

9

Analysis ServicesAnalysis ServicesServerServer

Mining ModelMining Model

Data Mining AlgorithmData Mining Algorithm DataDataSourceSource

Server Mining ArchitectureServer Mining Architecture

Your ApplicationYour Application

OLE DB/ ADOMD/ XMLAOLE DB/ ADOMD/ XMLA

DeployDeploy

BI Dev BI Dev StudioStudio (Visual (Visual Studio)Studio)

AppAppDataData

10

Server Mining ModelsServer Mining Models

Jamie MacLennanJamie MacLennanDevelopment ManagerDevelopment ManagerSQL Server Analysis ServicesSQL Server Analysis Services

11

Programmatically Creating Programmatically Creating ModelsModels

Analysis Management ObjectsAnalysis Management ObjectsObject model for administrative tasksObject model for administrative tasks

Data Mining Extensions (DMX)Data Mining Extensions (DMX)

CREATE MINING MODELCREATE MINING MODEL TargetMailDTTargetMailDT(CustID(CustID LONG KEYLONG KEY,,Gender Gender TEXT DISCRETETEXT DISCRETE,,CommuteDist CommuteDist TEXT DISCRETETEXT DISCRETE,,Education Education LONGLONG CONTINUOUSCONTINUOUS,,……BikeBuyerBikeBuyer LONG DISCRETE PREDICTLONG DISCRETE PREDICT))USINGUSING Microsoft_Decision_Trees Microsoft_Decision_Trees

INSERT INTOINSERT INTO TargetMailDTTargetMailDT(CustID, Gender, CommuteDist,(CustID, Gender, CommuteDist, Education, …, BikeBuyer) Education, …, BikeBuyer)OPENQUERYOPENQUERY ([My Data Source],([My Data Source], ‘SELECT CustID, Gender, ‘SELECT CustID, Gender, ComDist, Education, … ComDist, Education, … BikeBuyer’ BikeBuyer’))

12

Programmatically Creating Programmatically Creating ModelsModels

Analysis Management ObjectsAnalysis Management ObjectsObject model for administrative tasksObject model for administrative tasks

Data Mining Extensions (DMX)Data Mining Extensions (DMX)

Dynamic mining using client dataDynamic mining using client data

CREATE SESSION MINING MODELCREATE SESSION MINING MODEL TargetMailDTTargetMailDT(CustID(CustID LONG KEYLONG KEY,,Gender Gender TEXT DISCRETETEXT DISCRETE,,CommuteDist CommuteDist TEXT DISCRETETEXT DISCRETE,,Education Education LONGLONG CONTINUOUSCONTINUOUS,,……BikeBuyerBikeBuyer LONG DISCRETE PREDICTLONG DISCRETE PREDICT))USINGUSING Microsoft_Decision_Trees Microsoft_Decision_Trees

INSERT INTOINSERT INTO TargetMailDTTargetMailDT(CustID, Gender, CommuteDist,(CustID, Gender, CommuteDist, Education, …, BikeBuyer) Education, …, BikeBuyer)@InputRowset@InputRowset

13

Your ApplicationYour Application

Local Mining ArchitectureLocal Mining Architecture

ADOMD.Net/OLE DBADOMD.Net/OLE DB

Local Analysis Services Local Analysis Services (msmdlocal)(msmdlocal)

Model FileModel FileMining ModelMining Model

Decision Tree/Clustering algorithmsDecision Tree/Clustering algorithms

RetrievRetrieve Datae Data

DataDataSourceSource

AppAppDataData

14

Local Mining ModelsLocal Mining Models

Jamie MacLennanJamie MacLennanDevelopment ManagerDevelopment ManagerSQL Server Analysis ServicesSQL Server Analysis Services

15

Why Integrate Reporting Why Integrate Reporting Services Into Your App?Services Into Your App?

Process data efficiently: filtering, sorting, grouping, Process data efficiently: filtering, sorting, grouping, aggregations, etc.aggregations, etc.Present data in a variety of ways: lists, tables,Present data in a variety of ways: lists, tables,charts, matricescharts, matricesAdd visual appeal to data: fonts, colors, border Add visual appeal to data: fonts, colors, border styles, background images, etc.styles, background images, etc.Enable interactive reports: collapsible sections, Enable interactive reports: collapsible sections, document map, bookmarks, interactive sorting, document map, bookmarks, interactive sorting, etc.etc.Support printing and print preview Support printing and print preview Export to multiple formats (Microsoft Office Excel, Export to multiple formats (Microsoft Office Excel, PDF, XML)PDF, XML)Integrate with managed report server Integrate with managed report server environment: security, caching, scheduling, environment: security, caching, scheduling, delivery, etc. delivery, etc. Bottom Line: More functionality, less codeBottom Line: More functionality, less code

16

Reporting Services In Reporting Services In Visual Studio 2005Visual Studio 2005

Microsoft Visual Studio 2005 includesMicrosoft Visual Studio 2005 includesReporting Services functionality in Reporting Services functionality in standard editions and abovestandard editions and aboveWindow Forms and ASP.NET report viewer Window Forms and ASP.NET report viewer controls make it easy to embed Reporting controls make it easy to embed Reporting Services functionality in applicationsServices functionality in applicationsIntegrated report designer for designing Integrated report designer for designing and embedding reports in language and embedding reports in language projectsprojectsFreely redistributable with no run-time Freely redistributable with no run-time restrictionsrestrictions

Report Server mode requires a SQL Server Report Server mode requires a SQL Server 2005 license2005 license

17

Report ServerReport Server

SQL Server Catalog (Metadata)SQL Server Catalog (Metadata)

Web Services APIWeb Services API

Report Processing and RenderingReport Processing and Rendering DataDataSourceSource

Report Server ModeReport Server Mode

Your ApplicationYour Application

Report ViewerReport Viewer(Remote Mode)(Remote Mode)

PublishPublishReportReport

ReportReportDesignerDesigner(Visual (Visual Studio)Studio)

18

Report Viewer Control In Report Viewer Control In Server ModeServer Mode

Brian WelckerBrian WelckerGroup Program ManagerGroup Program ManagerSQL Server Reporting ServicesSQL Server Reporting Services

19

Your ApplicationYour Application

Report ViewerReport Viewer(Local Mode)(Local Mode)

Report ProcessingReport Processing

Local ModeLocal Mode

Report Report DefinitionDefinition

ReportReportDesigneDesigne

rr(Visual (Visual Studio)Studio)

EmbedEmbedReportReport

Retrieve Retrieve DataData

Report Report DataData

DataDataSourceSource

20

Designing In Local ModeDesigning In Local Mode

Report creation is integrated with Report creation is integrated with Windows or Web language project Windows or Web language project (Add New Item…)(Add New Item…)Integrates with Visual Studio data Integrates with Visual Studio data toolstools

Build report from project data sources Build report from project data sources (XSD)(XSD)Supports Data Sources windowSupports Data Sources windowSupports Data Source Configuration Supports Data Source Configuration WizardWizardSupports TableAdapter Configuration Supports TableAdapter Configuration WizardWizard

Full InteractivityFull InteractivityExpand/Collapse sectionsExpand/Collapse sectionsDrillthrough reports, including Drillthrough reports, including drillthrough from chartsdrillthrough from chartsInteractive sortingInteractive sorting

21

Report Viewer Control In Report Viewer Control In Local ModeLocal Mode

Brian WelckerBrian WelckerGroup Program ManagerGroup Program ManagerSQL Server Reporting ServicesSQL Server Reporting Services

22

Object Data SourcesObject Data Sources

Build reports on top of middle-tier objectsBuild reports on top of middle-tier objects

Objects need not implement any particular Objects need not implement any particular interface or inherit from any particular interface or inherit from any particular classclass

Public properties of your class are the Public properties of your class are the “fields”“fields”for the report for the report

Properties of class appear in the Data Sources Properties of class appear in the Data Sources window where they can be dragged and window where they can be dragged and droppeddropped

Use Data Source Configuration Wizard to Use Data Source Configuration Wizard to select a class in your application to use as select a class in your application to use as the data source, or point to a class in an the data source, or point to a class in an external assemblyexternal assembly

Supply a collection (Array, List, Supply a collection (Array, List, IEnumerable, etc.) of instances of your IEnumerable, etc.) of instances of your class at runtimeclass at runtime

23

Using Object Data SourcesUsing Object Data Sources

Brian WelckerBrian WelckerGroup Program ManagerGroup Program ManagerSQL Server Reporting ServicesSQL Server Reporting Services

24

Call To ActionCall To Action

Integrate Business Intelligence into Integrate Business Intelligence into your smart client applicationsyour smart client applications

Leverage SQL Server 2005 BI for Leverage SQL Server 2005 BI for enterprise capabilitiesenterprise capabilities

Integration ServicesIntegration Services

Analysis ServicesAnalysis Services

Reporting ServicesReporting Services

Notification ServicesNotification Services

25

Community ResourcesCommunity Resources

At the PDCAt the PDCDAT021 – Building Portals for BI and ReportingDAT021 – Building Portals for BI and Reporting(Thursday at 10:00 AM)(Thursday at 10:00 AM)

DATL02 – BI “Power Hour” (Thursday at 1:00 PM)DATL02 – BI “Power Hour” (Thursday at 1:00 PM)

OFF323 – Excel “12” and SQL Server 2005 Analysis OFF323 – Excel “12” and SQL Server 2005 Analysis ServicesServices(Friday at 10:30 AM)(Friday at 10:30 AM)

SQL Cabana and Ask the ExpertsSQL Cabana and Ask the Experts

After the PDCAfter the PDCSQL Server Developer CenterSQL Server Developer Center

msdn.microsoft.com/sqlmsdn.microsoft.com/sql

SQL Server Data MiningSQL Server Data Miningwww.SQLServerDataMining.comwww.SQLServerDataMining.com

SQL Server ForumsSQL Server Forumshttp://forums.microsoft.com/msdnhttp://forums.microsoft.com/msdn

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.