BISM, Business Intelligence, Data Warehouse, DAX, Excel, PowerPivot, SQL Server, SQL Server 2012, Tabular Model

Creación de consultas para modelos tabulares en SQL Server 2012 (1)

Los Servicios de Análisis de SQL Server 2012 (SQL Server Analysis Services, SSAS) han experimentado un importante cambio con la introducción del Modelo Semántico de Inteligencia de Negocio (Business Intelligence Semantic Model, BISM), un nuevo paradigma en la construcción de sistemas analíticos, que aúna el tradicional modelo multidimensional (Unified Dimensional Model, UDM), propio de los tradicionales cubos OLAP, con el novedoso modelo tabular, basado en un motor de datos relacional, el cual propugna una filosofía de trabajo más simple (aunque no menos potente en cuanto al volumen de datos a manejar) que nos permita resolver determinados problemas de una forma más sencilla y ágil que la requerida habitualmente para desarrollar un modelo multidimensional.

Y es en estos últimos, los modelos de datos tabulares, sobre los que vamos a concentrar nuestra atención a lo largo del presente artículo, más concretamente en la capacidad de elaborar consultas y métricas contra dichos modelos, las cuales nos permitan recabar la información necesaria acerca de su estado.

Para la confección de estas consultas emplearemos DAX (Data Analysis eXpressions), el lenguaje desarrollado con el objetivo de crear expresiones analíticas tanto para modelos de datos en PowerPivot como para modelos tabulares en BISM. También usaremos MDX para acceder a una fuente de datos tabular como si de un cubo OLAP se tratara. Finalizaremos nuestro periplo con Excel, como ejemplo de aplicación de usuario final dotada igualmente de la posibilidad de obtener información del modelo, presentándola con la conocida potencia gráfica de esta herramienta.

 

Creando el modelo tabular

Lo primero que necesitamos para poner en práctica lo explicado en el párrafo anterior es un modelo de datos tabular que podamos utilizar como banco de pruebas; así que comenzaremos arrancando SQL Server Data Tools (SSDT), el entorno de desarrollo para SQL Server 2012 basado en Visual Studio, que se encuentra en el mismo grupo de programas de SQL Server, y empleando el tipo de proyecto Analysis Services Tabular Project, crearemos un nuevo proyecto con el nombre ContosoTabular que usará ContosoRetailDW como fuente de datos.

CreacionConsultasModelosTabularesSQL2012_01

 

El siguiente paso que daremos a continuación consistirá en la importación de las tablas de la base de datos ContosoRetailDW, que posteriormente utilizaremos en nuestras operaciones de análisis contra el modelo tabular, por lo que mediante la opción de menú «Model | Import From Data Source» de SSDT, ejecutaremos el asistente de importación de datos Table Import Wizard, en cuyo primer paso elegiremos el tipo de origen al que deseamos conectarnos.

CreacionConsultasModelosTabularesSQL2012_02

 

En el siguiente paso introduciremos el servidor e instancia de SQL Server al que nos conectaremos (en este caso EVENDIM como servidor y SQLTABULAR como instancia), así como el nombre de la base de datos desde la que importaremos las tablas. También elegiremos Autenticación de Windows como método de conexión.

CreacionConsultasModelosTabularesSQL2012_03

 

A continuación deberemos facilitar las credenciales de conexión que Analysis Services utilizará para conectarse a la base de datos al realizar el proceso de importación. En este caso emplearemos la cuenta del usuario que ha iniciado sesión en el equipo desde el que se desea conectar, aunque también podríamos haber usado la cuenta del servicio de Analysis Services, tal y como se explica en el siguiente enlace de este mismo blog.

CreacionConsultasModelosTabularesSQL2012_04

 

Seguidamente podemos elegir el modo en que se realizará la importación de los datos: mediante una selección de las tablas/vistas de la base de datos o usando una consulta.

CreacionConsultasModelosTabularesSQL2012_05

 

Para este ejemplo nos decantaremos por la primera opción, seleccionando las siguientes tablas: DimStore, DimGeography, DimDate, DimProduct, DimProductSubcategory y FactSales.

CreacionConsultasModelosTabularesSQL2012_06

 

Completado este paso haremos clic en el botón Finish, que dará comienzo al proceso de importación, a cuyo término veremos la ventana de resultados, en la que si todo ha marchado bien, observaremos el detalle de las tablas y registros importados.

CreacionConsultasModelosTabularesSQL2012_07

 

Una vez terminado el proceso de importación, el asistente nos devolverá a la ventana del diseñador del modelo tabular, donde tendremos a nuestra disposición las tablas recién importadas, organizadas en diversas pestañas.

CreacionConsultasModelosTabularesSQL2012_08

 

También es posible visualizar estas tablas en forma de diagrama mediante la opción de menú «Model | Model View | Diagram View», lo que nos permitirá seleccionar la visualización de sus columnas, medidas, jerarquías, etc., así como las relaciones existentes entre estas.

CreacionConsultasModelosTabularesSQL2012_09

 

Para retornar a la anterior vista del diseñador usaremos la opción «Model | Model View | Data View».  Podemos conmutar entre estas dos vistas empleando los botones situados en la parte inferior derecha del diseñador.

CreacionConsultasModelosTabularesSQL2012_10

 

Despliegue del modelo

Finalizada por el momento la etapa de desarrollo del modelo, procederemos a efectuar el despliegue del mismo en el servidor de análisis, de modo que pueda ser consultado por aquellas aplicaciones cliente que lo requieran. Para ello seleccionaremos la opción de menú «Build | Deploy ContosoTabular» o haremos clic derecho en el icono correspondiente al proyecto en el Explorador de Soluciones, eligiendo la opción Deploy. Ambas acciones conducirán a la ventana de despliegue, que nos irá informando acerca del progreso de la operación.

CreacionConsultasModelosTabularesSQL2012_11

 

Si el despliegue se realiza con éxito, cerraremos su ventana de progreso y abriremos SQL Server Management Studio (SSMS), conectándonos a Analysis Services, donde encontraremos el modelo recién subido al servidor. Expandiendo su nodo principal veremos las tablas que lo componen.

CreacionConsultasModelosTabularesSQL2012_12

 

A partir de este punto podemos comenzar a enviar consultas al modelo utilizando cualquiera de los medios a nuestra disposición: consultas DAX, consultas MDX o Excel. Todo ello será tratado en la segunda parte de este artículo.

5 Comentarios

  1. angelmrayo

    Muy interesante Luismi, espero la 2ª parte

  2. lmblanco

    Hola Ángel

    Muchas gracias por tu opinión y por interesarte en el artículo. En un par de días a ver si subo la segunda entrega 🙂

    Saludotes,
    Luismi

  3. kiquenet

    Como siempre muy interesante y bien detallado, Luismi. Saludos.

  4. lmblanco

    Hola Enrique

    Muchas gracias por tu interés en el artículo. Acabo de subir la segunda parte, espero que también te guste 🙂

    Un saludo,
    Luismi

  5. anonymous

    Como ya explicábamos en el artículo sobre creación de consultas para modelos tabulares

Deja un comentario

Tema creado por Anders Norén