Elección del mejor modo de almacenamiento
Modo de importación
- Los datos se almacenan en Power BI, proporcionando rendimiento óptimo.
- Requiere actualizaciones periódicas para mantener los datos actualizados.
- Optimización:
- Usar vistas en bases de datos relacionales en lugar de tablas.
- Incluir solo las tablas, filas y columnas necesarias.
- Implementar particiones y actualización incremental.
- Usar tipos de datos adecuados (ej. enteros en vez de cadenas).
- Asegurar que las consultas se pliegan.
Modo DirectQuery
- Consulta los datos en el origen sin almacenarlos en Power BI.
- Ideal para grandes volúmenes de datos y datos en tiempo real.
- Menor rendimiento y limitaciones en el modelado.
- Optimización:
- Evitar cálculos complejos en DAX.
- Usar almacenamiento dual en dimensiones relacionadas con tablas de hechos.
- Activar la propiedad Asumir integridad referencial en relaciones.
- Evitar relaciones en columnas calculadas o de identificador único.
Modo Direct Lake
- Accede a datos en Microsoft Fabric Lakehouse sin almacenarlos en Power BI.
- Optimizado para tablas Delta.
- Requiere almacenamiento en ADLS (Azure Data Lake Storage).
- Optimización:
- Configurar accesos directos al almacenamiento de ADLS.
- Ajustar comportamiento de reserva en DirectQuery para consultas DAX complejas.
Modo Compuesto
- Combina Importación y DirectQuery, o varios orígenes DirectQuery.
- Permite relaciones muchos a muchos sin tablas puente.
- Puede afectar el rendimiento si mezcla orígenes distintos.
- Optimización:
- Asegurar recursos suficientes en el origen back-end.
- Minimizar valores literales en consultas de origen.
- Mantener baja la cardinalidad en columnas de relaciones.
Configuración de modelos semánticos para datos de gran tamaño
Formato de almacenamiento de modelos semánticos de gran tamaño
- Permite manejar modelos más grandes que el límite de 10 GB en Microsoft Fabric.
- Facilita el escalado en modelos analíticos complejos.
- Se activa desde la configuración del área de trabajo.
Actualización incremental
- Actualiza solo los datos nuevos o modificados desde la última actualización.
- Mejora el rendimiento y reduce el consumo de recursos.
- Implementación:
- Definir parámetros y filtrar filas en Power Query.
- Configurar la directiva de actualización incremental en Power BI Desktop.
- Opción de obtener datos recientes con DirectQuery.
- Requiere publicación en un área de trabajo de Fabric compatible.
- Divide una tabla en segmentos más pequeños para mejorar el rendimiento.
- Permite actualizar solo ciertas particiones en vez de la tabla completa.
- Se puede hacer con SQL Server Management Studio (SSMS) o Tabular Editor.
Trabajar con relaciones
Creación de un esquema de estrella
- Organiza los datos con una tabla de hechos y tablas de dimensiones.
- Permite filtrado y agregación eficiente de datos.
Tipos de relaciones
- Uno a varios: Relación más común, desde dimensiones hacia hechos.
- Varios a uno: Inversa de uno a varios.
- Uno a uno: Menos común; considerar fusionar tablas.
- Varios a varios: Requiere tabla puente o modelos compuestos.
Dirección del filtro
- Normalmente de dimensiones a hechos.
- Puede ser bidireccional en casos específicos (usarlo con precaución).
- Integridad referencial: mejora el rendimiento si se usa INNER JOIN en lugar de LEFT OUTER JOIN.
Relaciones inactivas
- Puede haber más de una relación entre tablas, pero solo una activa.
- Usar USERELATIONSHIP en DAX para activar una relación inactiva temporalmente.
Uso de tablas desconectadas
- No tienen relaciones con otras tablas del modelo.
- Se usan para "entrada del usuario" en cálculos, como conversión de divisas o selección de parámetros.
Escritura de DAX para mejorar la legibilidad
Uso de Variables
- Simplifican expresiones y mejoran el rendimiento.
- Evitan cálculos repetidos.
Ejemplo:
Iteradores
- SUMX, AVERAGEX, MAXX: Calculan fila por fila en una tabla.
- Útiles para cálculos basados en contexto.
Ejemplo:
Filtrado de tablas
- FILTER, ALL, CALCULATETABLE modifican el contexto del modelo.
- Permiten cálculos dinámicos.
Ejemplo:
Funciones de ventanas
- INDEX, OFFSET, WINDOW para cálculos en una ventana de datos.
- Se usan en rankings, totales acumulados y comparaciones.
Ejemplo:
Funciones de información
- ISBLANK, ISNUMBER, CONTAINS, HASONEVALUE ayudan a manejar condiciones especiales.
Ejemplo:
Creación de elementos de cálculo dinámico
Grupos de cálculo
- Reducen redundancia y simplifican cálculos reutilizables.
- Usados en inteligencia de tiempo.
Ejemplo:
Parámetros de campo
- Permiten que el usuario seleccione dinámicamente qué datos visualizar.
- Útil para informes interactivos.
Cadenas de formato dinámico
- Ajustan el formato de una medida en función del valor.
Ejemplo: