Como colofón al desarrollo del sistema de información que venimos describiendo en esta serie, vamos a conectarnos desde Power BI al modelo creado en la entrega anterior, y que se encuentra contenido en la base de datos VentasAnualesTabular, dentro de nuestro servidor de Analysis Services Tabular, ...
Terminada la creación de la dimensión de fechas, expuesta en el artículo anterior, en la presente entrega de esta serie de artículos, nos dedicaremos a construir el modelo de datos tabular, para lo cual crearemos, desde Visual Studio 2017 (SQL Server Data Tools para Visual Studio 2017), un nuev...
Una vez finalizado el proceso de carga de la tabla de hechos, descrito en la anterior entrega, con el presente artículo de esta serie completamos la fase dedicada a las operaciones ETL de nuestro sistema de información, realizadas mediante el paquete SSIS. La tarea que actualmente necesitamos rea...
Continuando con la carga de datos en la tabla de hechos a través del paquete SSIS, tal y como dejamos pendiente en la anterior entrega, agruparemos todas las sentencias de inserción para las columnas de la tabla Ventas en el procedimiento almacenado spCargarDatosVentas, que incluiremos como una pi...
Después de desarrollar la carga de datos para las tablas de dimensión (Cliente, Cliente optimizado y Producto), en la entrega actual nos ocuparemos de crear un proceso equivalente para Ventas, la tabla de hechos del modelo. Tal y como indicábamos en la primera parte de esta serie, ahora intervend...
Tras la finalización, en el artículo anterior, del proceso de carga de la tabla Cliente, en la presente entrega nos ocuparemos de la tabla Producto. Al igual que ocurría con la tabla Cliente, añadiremos al paquete una tarea de tipo Flujo de datos, a la que daremos el nombre flw_Producto. Editan...
En la anterior entrega de esta serie de artículos, explicábamos el proceso a implementar en SSIS para realizar la carga de datos en la tabla Cliente. A pesar de que el resultado obtenido es el adecuado, y puesto que la finalidad de esta tabla será actuar como dimensión del próximo modelo tabula...
En la primera entrega de esta serie, preparábamos la base de datos en la cual, con la ayuda de un paquete SSIS, vamos a realizar el volcado y depuración de datos desde las diversas fuentes de origen. Esta segunda parte y la siguiente, estarán dedicadas íntegramente a la carga y optimización de ...
Cuando nos enfrentamos al reto de desarrollar un nuevo sistema Business Intelligence, una de las principales decisiones a tomar pasa por la elección de la solución tecnológica que emplearemos en su creación, la cual, en el ejemplo que vamos a construir durante el presente y próximos artículos ...
La cláusula ROLLUP perteneciente a la función SUMMARIZE genera, en las columnas de agregación que especifiquemos, filas adicionales de resultados acumulados (totales parciales) para las columnas numéricas utilizadas en la consulta. A modo de ejemplo, en la siguiente cons...
Si las tablas de las columnas empleadas en la consulta con SUMMARIZE no están relacionadas se producirá un error, como vemos en el siguiente bloque de código, donde combinamos las columnas StoreType y BrandName de las tablas DimStore y DimProduct, para obtener las ventas realiza...
Las columnas de agrupación de los ejemplos con SUMMARIZE mostrados en la entrega anterior pertenecían a una misma tabla, lo cual puede resultar conveniente en determinados casos, pero con toda seguridad, en algún momento nos encontraremos ante situaciones en las que tengamos que...
La función SUMMARIZE muestra los distintos valores de una o varias columnas (denominadas columnas de agrupación) de una tabla, permitiendo además incluir expresiones que generen columnas calculadas, encargadas de devolver valores numéricos en base a las columnas de agrupa...
La función TOPN devuelve un subconjunto de una cantidad determinada de las primeras filas pertenecientes a una tabla, en base a una expresión utilizada para ordenar dicha tabla. Como primer parámetro pasaremos el número de filas a recuperar; en segundo lugar indicaremos ...
Como ya explicábamos en el artículo sobre creación de consultas para modelos tabulares (primera y segunda parte), el lenguaje DAX puede ser utilizado para emitir consultas contra un modelo tabular, obteniendo como respuesta un conjunto de resultados, dentro de una mecánic...