Extraer datos de Analysis Services a SQL Relacional   

Etiquetas: Analysis Services, SQLServer Engine, Integration Services
Technorati Tags: , ,

En alguna ocasión necesitamos leer datos que están en cubos de Analysis Services y llevarlos a relacional o realizar un reporting que solo admite consultas SQL y no de Analysis Services. Veamos cómo leer las Ventas por Categoría de Producto de la base de datos multidimensional Adventure Works 2008, y llevar datos a una tabla relacional en SQL Server usando Integration Services.

 

En primer lugar habilitaremos el uso de las consultas distribuidas en SQL Server a través del comando OPENROWSET :

 

sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure
'Ad Hoc Distributed Queries', 1
RECONFIGURE
GO

Despues crearemos la consulta MDX que incluiremos en una consulta relacional del SQL Server:
 

SELECT a.* FROM OpenRowset('MSOLAP','DATA SOURCE=.\SQL2K8;
Initial Catalog=Adventure Works DW 2008;
',
'SELECT NON EMPTY {[Date].[Calendar].[All Periods]}
ON COLUMNS,
NON EMPTY Product.[Category].MEMBERS
ON ROWS
FROM [Adventure Works]
') as a

Incluiremos la consulta en un paquete de Integration Services usando un OLEDB Source Component igual que lo haríamos en una consulta SQL Server relacional.
 
Por último incluiremos las transformaciones necesarias y el destino final. En este ejemplo bastará crear una tabla con los campos ProductCategory y TotalSales en la base de datos de SQL Server.
 
Gracias a Alan Koo.
 
Posteado por  Jesús López Martín  en  01/03/2010
71  Comentarios  |  Trackback Url  | 0  Enlaces a este post | Bookmark este post con:        
 

Vinculos a este post

Comentarios

Name:
URL:
Email:
Comments: