240 likes | 351 Views
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.
E N D
Analysis Services 2005 para Desarrolladores Gustavo Larriera Microsoft MVPWindows 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
Atlanta Chicago Dimensión: REGION Denver Uvas Cerezas Dimensión: PRODUCTO Detroit Melones Manzanas Q4 Q1 Q2 Q3 Dimensión: FECHA Estructura multidimensional
Consulta Multidimensional Venta,Unidades Atlanta Chicago Dimensión: REGION Denver Uvas Cerezas Dallas Melones Manzanas Dimensión: PRODUCTO Q4 Q1 Q2 Q3 Dimensión: FECHA
Dimensiones, Niveles, Miembros, Jerarquías Dim FECHA CalendarioNormal CalendarioFiscal Nivel Año Nivel Mes Nivel Día Nivel Año NivelSemestre NivelTrimestre Nivel Mes
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 ROWS FROM [Sales] WHERE (Measures.[Sales Average])
Ejemplo - tuplas (Time.[2nd half])
Ejemplo - tuplas (Time.[2nd half], Source.nonground.air)
Demo Datos 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 ‘ VB Dim 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 ‘ VB Dim 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()
Cómo obtener un XmlReader ‘ VB Dim objXr as XmlReader = objCmd.ExecuteXmlReader() // C# XmlReader objXr = objCmd.ExecuteXmlReader();
Demo Programació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 Intelligence http://www.microsoft.com/sql/bi/default.mspx SQL Server Developer Center http://msdn.microsoft.com/sql/ MDX y ADOMD http://msdn.microsoft.com/SQL/sqlmultidata/default.aspx Webcasts en idioma español http://www.microsoft.com/spanish/msdn/latam/video/