Analysis Services 2005 para Desarrolladores

24
Analysis Services Analysis Services 2005 para 2005 para Desarrolladores Desarrolladores Gustavo Larriera Microsoft MVP Windows Server Systems – SQL Server

description

Analysis Services 2005 para Desarrolladores. Gustavo Larriera Microsoft MVP Windows Server Systems – SQL Server. Agenda. Estructuras multidimensionales de datos Expresiones multidimensionales de consulta Programación ADOMD.NET. Inteligencia de Negocios: OLAP vs. OLTP. - PowerPoint PPT Presentation

Transcript of Analysis Services 2005 para Desarrolladores

Analysis Services 2005 Analysis Services 2005 para Desarrolladorespara Desarrolladores

Gustavo LarrieraMicrosoft MVP

Windows Server Systems – SQL Server

Gustavo LarrieraMicrosoft MVP

Windows Server Systems – SQL Server

Agenda

Estructuras multidimensionales de datos Expresiones multidimensionales de consulta Programación ADOMD.NET

Inteligencia de Negocios:OLAP vs. OLTP OLTP: On-Line Transaction Processing

Alto volumen de información Transacciones simples Tablas optimizadas para mantenimiento de datos

OLAP: On-Line Analytical Processing Consultas ad-hoc sobre datos resumidos Audiencia: Tomadores de decisiones Datos multidimensionales optimizados para consultas

Datos Multidimensionales

Organizan la información en varias dimensiones Una tabla relacional usa sólo 2 dimensiones: filas y

columnas que determinan un campo La estructura multidimensional (o CUBO)

contiene Varias dimensiones determinan celdas Varios datos en cada celda MEDIDAS Niveles en las dimensiones Punto de agregación

de medidas

Estructura multidimensional

Chicago

Uvas

Melones

Q4Q1 Q2 Q3Dimensión: FECHA

Dimen

sión:

PRODUCTODetroit

Denver

Dim

ensi

ón: R

EGIO

N

Manzanas

Cerezas

Atlanta

Uvas

Q4Q1 Q2 Q3Dimensión: FECHA Dim

ensió

n:

PRODUCTO

Dallas

Denver

Chicago

Dim

ensi

ón: R

EGIO

N

Manzanas

Cerezas

Atlanta Venta,Unidades

Melones

Consulta Multidimensional

Dimensiones, Niveles, Miembros, Jerarquías

Nivel Año

Nivel Mes

Nivel Día

Dim FECHA

Nivel Año

NivelSemestre

NivelTrimestre

Nivel Mes

CalendarioNormal

CalendarioFiscal

Ejemplo – dimensiones y medidas

Ejemplo - miembros

[Time].[2nd half].[3rd quarter]

[Time].[2nd half].&[Q3]

Expresiones Multidimensionales (MDX) Sintaxis para consultas multidimensionales Retorna un conjunto de celdas

Las celdas son la intersección de miembros de las dimensiones

TUPLA coordenada multidimensional

Sintaxis básica MDX

SELECT <especificación de eje> [ , … ]FROM <especificación de cubo> WHERE <especificación de slicer>

SELECT {[Store Type].[Store Type].MEMBERS} ON COLUMNS, {[Store].[Store State].MEMBERS} ON ROWSFROM [Sales]WHERE (Measures.[Sales Average])

SELECT {[Store Type].[Store Type].MEMBERS} ON COLUMNS, {[Store].[Store State].MEMBERS} ON ROWSFROM [Sales]WHERE (Measures.[Sales Average])

Ejemplo - tuplas

(Time.[2nd half])

Ejemplo - tuplas

(Time.[2nd half], Source.nonground.air)

Demo

Datos multidimensionalesDatos multidimensionales

ADOMD.NET

Proveedor para datos multidimensionales Utiliza XML For Analysis 1.1

Comunicación TCP/IP ó HTTP SOAP

Microsoft.AnalysisServices.AdomdClient

ADOMD.NET - Modelo de objetos

AdomdConnection AdomdCommand AdomdDataReader CellSet

Cómo hacer una conexión

‘ VBDim conn as New AdomdConnection(“Data

Source=LOCALHOST; Catalog=ADVENTUREWORKAS”)

// C#AdomdConnection conn = new

AdomdConnection(“Data Source=LOCALHOST; Catalog=ADVENTUREWORKAS”);

‘ VBDim conn as New AdomdConnection(“Data

Source=LOCALHOST; Catalog=ADVENTUREWORKAS”)

// C#AdomdConnection conn = new

AdomdConnection(“Data Source=LOCALHOST; Catalog=ADVENTUREWORKAS”);

Cómo ejecutar comandos MDX

AdomdCommand.CommandText AdomdCommand.Execute

ExecuteReader ExecuteCellSet ExecuteNonQuery ExecuteXmlReader

Cómo obtener un CellSet

‘ VBDim objCs as CellSet = objCmd.ExecuteCellSet()

// C#CellSet objCs = objCmd.ExecuteCellSet();

‘ VBDim objCs as CellSet = objCmd.ExecuteCellSet()

// C#CellSet objCs = objCmd.ExecuteCellSet();

Cómo obtener un AdomdDataReader‘ VB

Dim objDr as AdomdDataReader = objCmd.ExecuteReader()

If objDr.HasRows Then

Do While objDr.Read()

‘ objDr.GetString(0), objDr.GetInt32(1)

Loop

End If

objDr.Close()

‘ VB

Dim objDr as AdomdDataReader = objCmd.ExecuteReader()

If objDr.HasRows Then

Do While objDr.Read()

‘ objDr.GetString(0), objDr.GetInt32(1)

Loop

End If

objDr.Close()

Cómo obtener un XmlReader

‘ VBDim objXr as XmlReader =

objCmd.ExecuteXmlReader()

// C#XmlReader objXr = objCmd.ExecuteXmlReader();

‘ VBDim objXr as XmlReader =

objCmd.ExecuteXmlReader()

// C#XmlReader objXr = objCmd.ExecuteXmlReader();

Demo

Programación ADOMD.NETProgramación ADOMD.NET

Resumen

Las estructuras multidimensionales (cubos) de Analysis Services permiten almacenar información para inteligencia de negocios de sistemas OLAP

Las Expresiones Multidimensionales (MDX) permiten consultar los datos de los cubos

ADOMD.NET brinda acceso programático, lo que permite escribir aplicaciones .NET que deben acceder a los datos de Analysis Services

Más información

SQL Server 2005 Business Intelligencehttp://www.microsoft.com/sql/bi/default.mspx

SQL Server Developer Centerhttp://msdn.microsoft.com/sql/

MDX y ADOMDhttp://msdn.microsoft.com/SQL/sqlmultidata/default.aspx

Webcasts en idioma españolhttp://www.microsoft.com/spanish/msdn/latam/video/