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.