Daniel Calbimonte

Cómo construir un cubo desde cero usando SQL Server Analysis Services (SSAS)

December 16, 2019 by

Introducción

Soy consultor de Administración de Bases de Datos y varias veces, en el pasado, me pidieron una buena herramienta para generar informes rápidos para obtener información sobre la compañía, como ventas totales, ventas por año, mes, semana, etc.

SSAS es una tecnología de Business Intelligence (BI) que Microsoft compró a Panorama Software en 1996. Después de la adquisición, la tecnología se actualizó y evolucionó y ahora es parte de las herramientas con las que vienen con SQL Server. Esta herramienta es una herramienta extremadamente poderosa para crear informes analíticos rápidamente. Funciona con cubos diseñados para generar informes con un rendimiento óptimo utilizando información agregada almacenada en el cubo.

SSAS generalmente consume mucho espacio debido a que contiene mucha información lista para ser utilizada.

En este artículo, aprenderemos cómo crear su primer cubo desde cero. Si usted no sabe nada sobre SSAS, esta será una gran oportunidad que le permitirá aprender.

Requisitos

  1. Base de datos multidimensional SSAS instalada
  2. SSDT
  3. SQL Server 2016 instalado
  4. La base de datos AdventureworksDW
  5. SSMS 2017 instalado

Empecemos

Un cubo en SSAS requiere un almacén o depósito de datos. El almacén de datos es una base de datos especial diseñada para almacenar información empresarial de diferentes fuentes como Excel, ERP, CRM, archivos planos, datos históricos heredados y más.

Si desea tener un cubo SSAS, el crear el almacén de datos es un proceso que requiere un poco de tiempo y recursos. Puede usar SSIS para extraer la información de las fuentes de origen al almacén de datos o usar otras herramientas ETL (Extraer transformación y carga) como Talend Open Studio, SpagoBI Business Intelligence, Jaspersoft ETL y varias otras herramientas externas.

En este artículo, utilizaremos la base de datos de muestra AdventureworksDW que está lista para ser utilizada. Sin embargo, en la vida real, usted deberá crear algunos ETL para extraer automáticamente la información de su negocio al Data Warehouse.

Nosotros crearemos un cubo basado en la tabla de hechos FactResellerSales:

FactResellerSales muestra la información sobre las ventas de los vendedores, tales como montos de descuento, montos de impuestos, flete, monto de ventas y otra información relacionada.

Crearemos informes sobre la información de la tabla de hechos combinada con 2 dimensiones:

  • Moneda
  • Territorio de ventas

La dimensión moneda, nos ayudará a detectar cantidades en distintas unidades monetarias de todo el mundo y de zona o territorio de ventas le ayudará a detectar las ventas, descuentos, etc. por cada región.

Para comenzar a comenzar en SQL Server Data Tools, también conocido como SSDT, abra un nuevo proyecto y seleccione los modelos Multidimensionales y de Datos de Minería de Analysis Services:

En el Explorador de Soluciones, haga clic con el botón derecho en Orígenes de datos y seleccione Nuevo origen de datos:

Recibirá un asistente de bienvenida, presione siguiente:

Seleccione la opción para crear una nueva Fuente de Datos basada en una conexión existente u otra nueva y presione el botón nuevo:

En el proveedor, seleccione un OLEDB nativo\SQL Server Native Client 11.0. Para el Nombre del Servidor, seleccione el servidor SQL con la base de datos AdventureworksDW:

Seleccione la conexión de datos que acaba de crear y presione siguiente:

En la Información de Suplantación especifique un usuario con acceso a la base de datos AdventureworksDW:

En la pestaña de Completando del asistente, presione finalizar:

Nosotros creamos las credenciales para conectarnos a la base de datos AdventureworksDW. Crearemos ahora las vistas. En este proceso, seleccionaremos las tablas que serán incluirán en el cubo.

En el explorador de soluciones, seleccione Nueva Vista de Origen de Datos:

Seleccione la fuente de datos que acaba de crear:

Seleccione la tabla FactResellerSales:

Incluya las dimensiones DimSalesTerritory y DimCurrency. Estas dimensiones incluyen información sobre las regiones de venta y sus monedas:

Una vez que el asistente haya completado, presione finalizar:

Como usted puede ver, la tabla de hechos y las dimensiones tienen una relación. Si las columnas comunes son iguales, las relaciones serán detectadas automáticamente:

Para crear un cubo, agregaremos dimensiones al cubo.

En el Explorador de Soluciones, haga clic en botón derecho y seleccione Nueva dimensión:

Usted Puede crear una dimensión basada en plantillas, tablas de tiempos o en tablas existentes. Para tal fin Seleccione la opción Usar una tabla existente:

Seleccione DimCurrency como la tabla principal. Por defecto, la columna clave es clave de moneda:

En los atributos disponibles, seleccione el nombre de la moneda:

En el paso de Completar del asistente presione finalizar:

Ahora, tendrá una dimensión creada como esta.

Arrastre y suelte el Nombre de moneda desde el panel de atributos a Jerarquía:

Una vez que haya creado la primera dimensión, Nombre de moneda, crearemos la dimensión del territorio de ventas. En el explorador de soluciones, haga clic con el botón derecho en Dimensiones y seleccione Nueva dimensión:

Seleccione la opción usar una tabla existente:

Seleccione la tabla dimsalesterritory:

Seleccione los atributos que usted desea que se puedan navegar y explorar en los informes:

Una vez que se complete el asistente, presione finalizar:

En la nueva dimensión que se ha creado, haga clic en el icono de proceso para procesar la dimensión. El proceso generará la estructura y cargará datos a la dimensión desde la tabla de SQL Server:

Presione ejecutar para procesar la dimensión:

En el Progreso del Proceso, cierre el proceso una vez que el proceso sea exitoso:

Puede actualizar la dimensión para ver la dimensión recién procesada:

Procese la dimensión de moneda Dim también:

Una vez procesado, puede verificar en la pestaña Navegador:

Ahora nosotros crearemos el cubo. En el Explorador de soluciones, haga clic con el botón derecho en Cubos y seleccione Nuevo cubo:

En Seleccionar Tablas de Medida de Grupos seleccione la tabla FactResellerSales . Las tablas de medida grupo se utilizan para incluir la tabla con datos para medir. Una medida puede ser el número de ventas, la cantidad vendida, el flete, etc.

Seleccione los datos a medir. Desmarcaremos las teclas y verificaremos los otros atributos para medir:

Seleccione las dimensiones que desea agregar al cubo:

También puede agregar la tabla de hechos como una dimensión (dimensión degenerada). En este ejemplo, no lo vamos a añadir ya que:

Una vez que se crea el cubo, presione finalizar:

Usted Tendrá el cubo creado con la tabla de hechos (en amarillo) y las dimensiones (en azul). Pulse el icono de proceso para procesar el cubo:

En Process Cube,presione ejecutar para procesar el cubo:

Una vez procesado, vaya al navegador:

Presione el icono de actualización:


Arrastre y suelte algunas medidas del Grupo de Medidas al panel de diseño:

Ahora arrastre y suelte el nombre de la moneda en el panel de gráficos, entonces usted podrá ver las medidas agrupadas por moneda:

Arrastre y suelte el País del territorio de ventas. Ahora usted podrá ver las medidas agrupadas por moneda y territorio:

Conclusión

En este artículo, aprendimos cómo crear un cubo en SSAS. Para tal fin, primero necesitamos crear una fuente de datos para conectarnos a nuestra base de datos. En este ejemplo, nos conectamos a un almacén de datos ya creado. Para nuestro ejemplo, utilizaremos AdventureworksDW , que es una base de datos de muestra creada con fines de aprendizaje.

El siguiente paso fue agregar la tabla de hechos y 2 dimensiones como vistas de origen de datos. SSAS detectó las claves y relaciones principales de forma ya predeterminada.

Después de eso, agregamos 2 dimensiones basadas en 2 vistas de origen de datos. La moneda y las dimensiones del territorio de ventas.

Finalmente, nosotros creamos un cubo basado en la tabla factresellersales. Seleccionamos algunas columnas como medidas y agregamos las dimensiones creadas. Con los botones de proceso, cargamos datos a los cubos. El cubo como se puede ver es una forma sencilla de generar múltiples informes. Usted Puede crear múltiples informes sin conocimientos de SQL u otras herramientas de informes. Como usted vera Con SSAS puede generar fácilmente miles de informes para satisfacer las necesidades de su empresa.

Referencias

Para obtener más información sobre SSAS, consulte estos enlaces:

Daniel Calbimonte

Daniel Calbimonte

Daniel Calbimonte es un Microsoft Most Valuable Professional, Microsoft Certified Trainer y Microsoft Certified IT Professional en SQL Server. He is an accomplished SSIS author, Intructor en academias de IT y tienedécadas de experience trabajando con diferentes bases de datos.

Realizó consultorias para empresas gubernamentales, empresas petroleras, sitios web, revistas y universidades alrededor del mundo. Daniel participa regularmente en conferencias de SQL Server y blogs. Escribe material sobre SQL Server y exámenes de certificación.

También realiza la traducción de artículos de SQLShack al español

Ver todas las publicaciones de Daniel Calbimonte
Daniel Calbimonte
286 Views