Capítulo: Modelamiento e Inteligencia a los datos con DAX
Actividad
1. ¿Qué es xVelocity? ¿Cómo trabaja?
Es la tecnología que potencia el rendimiento de los modelos de datos a través de la
compresión de datos, el almacenamiento columnar y el procesamiento en memoria.
Estas características permiten que Power BI maneje grandes volúmenes de datos y
realice consultas analíticas complejas de manera extremadamente rápida, lo que
facilita la toma de decisiones basada en datos en tiempo real.
El motor xVelocity trabaja con tres principios fundamentales:
a) Almacenamiento Columnar:
- xVelocity utiliza un enfoque de almacenamiento columnar en lugar de
almacenamiento basado en filas. Esto significa que los datos en Power BI
se almacenan por columnas y no por filas. Este modelo es particularmente
eficiente cuando se realizan consultas analíticas que solo requieren
acceder a unas pocas columnas de una gran tabla.
- Ventaja: Las operaciones como agregaciones, sumas, promedios o filtrado
en una sola columna son mucho más rápidas y eficientes en un modelo
columnar. También mejora la compresión de datos, ya que los valores en
una columna suelen ser más homogéneos.
b) Compresión de Datos:
- xVelocity aplica técnicas avanzadas de compresión de datos. Dado que los
datos se almacenan en memoria (en el caso de modelos en Power BI
Desktop, en la memoria RAM del equipo o servidor), la compresión
permite reducir el espacio necesario para almacenar grandes volúmenes
de datos, lo que mejora el rendimiento y permite trabajar con más datos
sin sobrecargar la memoria.
- Ventaja: Menos espacio de almacenamiento significa que Power BI puede
manejar conjuntos de datos más grandes de forma más eficiente y rápida.
c) Procesamiento en Memoria (In-Memory):
- El motor xVelocity utiliza la memoria RAM de manera intensiva, lo que
permite realizar las consultas y el análisis en memoria sin necesidad de
acceder al disco rígido de manera constante. La velocidad de la memoria
RAM es mucho más alta que la de los discos tradicionales, lo que permite
procesar datos y consultas mucho más rápido.
- Ventaja: Las consultas que normalmente tomarían más tiempo, como el
análisis de grandes volúmenes de datos o la ejecución de complejas
transformaciones, se realizan de manera instantánea o casi en tiempo real.
2. Explica brevemente sobre las relaciones de tipo roles entre una tabla de dimensión y
una tabla de hechos.
Las relaciones entre las tablas de dimensión y las tablas de hechos son fundamentales
para estructurar un modelo de datos eficaz que permita realizar análisis complejos de
manera sencilla. Estas relaciones definen cómo se conectan los datos en el modelo,
permitiendo hacer consultas y generar informes basados en esas conexiones.
Las relaciones más comunes entre una tabla de hechos y una tabla de dimensión son:
a) Relación de uno a muchos (1:*):
Este es el tipo de relación más común entre una tabla de hechos y una tabla de
dimensión. En esta relación:
- La tabla de dimensión contiene valores únicos en la columna clave (por
ejemplo, "Producto ID", "Fecha", etc.).
- La tabla de hechos contiene valores repetidos en esa misma columna clave
(por ejemplo, cada venta puede estar asociada con un producto
específico).
b) Relación de muchos a uno (*:1):
Esta es la inversa de la anterior. Se produce cuando la tabla de hechos tiene
valores únicos y la tabla de dimensión contiene valores repetidos. Sin embargo,
este tipo de relación es menos frecuente en el diseño de modelos en Power BI,
ya que generalmente las tablas de hechos suelen tener múltiples registros para
cada valor en la tabla de dimensión.
3. Investiga sobre las sentencias de inteligencia del tiempo: CLOSINGBALANCEYEAR,
CLOSINGBALANCEMONTH y CLOSINGBALANCEQUARTER.
Las funciones de inteligencia del tiempo (Time Intelligence) se utilizan para realizar
cálculos avanzados relacionados con fechas y períodos de tiempo, como acumulados,
totales anuales, trimestrales o mensuales, comparaciones interanuales, entre otros.
Las funciones CLOSINGBALANCEYEAR, CLOSINGBALANCEMONTH, y
CLOSINGBALANCEQUARTER son algunas de las funciones de inteligencia del tiempo
disponibles en DAX (Data Analysis Expressions), el lenguaje de fórmulas utilizado en
Power BI.
Estas funciones son muy útiles cuando se desea obtener el valor final (balance) de una
métrica o medida en un periodo de tiempo específico, como el cierre de un mes, un
trimestre o un año.
a) CLOSINGBALANCEYEAR:
Esta función devuelve el último valor de una medida para el año completo
(hasta el final del último día del año) en el contexto de un período
determinado. Es útil cuando deseas obtener el valor total o el saldo de una
medida al cierre de cada año: CLOSINGBALANCEYEAR(<expression>, <dates>)
- expression: La medida o columna que se evaluará para determinar el
balance de cierre.
- dates: La columna de fecha que se utiliza para el cálculo.
b) CLOSINGBALANCEMONTH:
Similar a CLOSINGBALANCEYEAR, pero esta función devuelve el último valor de
la medida para el mes completo (hasta el último día del mes). Es útil para
obtener el saldo final de una medida para cada mes.
- expression: La medida o columna que se evaluará.
- dates: La columna de fecha que se utilizará para determinar el cierre.
c) CLOSINGBALANCEQUARTER:
Esta función devuelve el último valor de la medida para el trimestre completo
(hasta el último día del trimestre). Es útil para obtener el saldo final de una
medida a nivel trimestral.
- expression: La medida o columna que se evaluará.
- dates: La columna de fecha que se utilizará para determinar el cierre.
Estas funciones son esenciales cuando necesitas calcular el saldo final de una medida en
cualquier período específico (mes, trimestre o año) en tu modelo de Power BI.