Como muchos de los que me leéis ya sabéis, dentro de una semana arrancan los Power BI Days de Santiago de Compostela. Un evento espectacular que lleva el conocimiento en Power BI y Fabric de manera altruista por toda la geografía española. Y, ya con la vista puesta en el evento que, por supuesto, no me voy a perder, estaba pensando en la anterior edición. En ella, pude asistir, entre otras, a una magistral charla de Ricardo Rincón y Miguel Egea sobre las tablas expandidas en Power BI. Y, pensando en esto, me he acordado de que yo no os he hablado a vosotros de este concepto.
El concepto de tablas expandidas en Power BI es fundamental para entender cómo funcionan cosas tan básicas como las relaciones entre tablas y la propagación de filtros. Las tablas expandidas permiten que Power BI maneje automáticamente la interacción entre múltiples tablas relacionadas, facilitando la creación de informes y cálculos avanzados sin necesidad de escribir complejas consultas. En este artículo, vamos a intentar ver en detalle qué son las tablas expandidas, cómo funcionan y cómo pueden aprovecharse para optimizar modelos de datos en Power BI.
¿Qué son las tablas expandidas?
Las tablas expandidas en Power BI son una representación lógica que se crea a partir de las relaciones establecidas entre las tablas de un modelo de datos. Cuando las tablas están relacionadas a través de relaciones de muchos a uno o uno a uno, Power BI trata esas tablas como si fueran una sola entidad expandida. Esto permite que los filtros y los cálculos se propaguen automáticamente a través de esas tablas relacionadas, sin necesidad de que el usuario intervenga directamente en la relación, es decir, sin tener que hacer un join como hacemos en SQL.
Imaginad un modelo de datos simple donde tenemos una tabla de Ventas, una tabla de Productos y una tabla de Categorías. La relación entre estas tablas nos permite que, al aplicar un filtro a la tabla de Categorías, los datos correspondientes en las tablas de Productos y Ventas se actualicen automáticamente, gracias al uso de las tablas expandidas.
Este comportamiento es clave para simplificar el análisis de datos en Power BI, ya que elimina la necesidad de realizar operaciones manuales para combinar datos de diferentes tablas. Las tablas expandidas también permiten que los cálculos en DAX (Data Analysis Expressions) se apliquen de manera automática a través de múltiples tablas relacionadas.
¿Cómo funcionan las tablas expandidas?
El funcionamiento de las tablas expandidas depende de las relaciones que existen en el modelo de datos. En Power BI, las relaciones de uno a muchos y uno a uno son las que permiten la propagación de filtros. Esto es importante pues como ves no estoy incluyendo aquí las relaciones muchos a muchos. Cuando se crea una relación de muchos a uno entre dos tablas, Power BI automáticamente añade (de manera lógica) todos los campos de la tabla del lado del 1 en la del lado del mucho de manera que internamente trabaja como una sola tabla expandida. Sin embargo, cuando las relaciones son 1:1 todos los campos de las tablas se propaga a la otra, y viceversa.
Por ejemplo, si tenemos una tabla de Productos y una tabla de Ventas, con una relación entre ambas basada en el ID del Producto, cualquier filtro que apliquemos en la tabla de Productos se reflejará automáticamente en los datos de la tabla de Ventas. Esto es posible gracias a las tablas expandidas, que permiten que Power BI combine virtualmente las dos tablas en una sola.
Este comportamiento no solo se aplica a la visualización de datos, sino también a los cálculos realizados con DAX. Al usar medidas que involucran tablas relacionadas, Power BI toma en cuenta automáticamente las tablas expandidas, lo que facilita la creación de cálculos complejos sin necesidad de realizar combinaciones manuales de datos.
Propagación de filtros y relaciones
Una de las principales ventajas de las tablas expandidas es su capacidad para manejar automáticamente la propagación de filtros entre tablas. Cuando aplicamos un filtro en una tabla que está relacionada con otras, Power BI propaga el filtro a través de las relaciones, afectando las tablas relacionadas sin que sea necesario especificarlo explícitamente en el código.
Por ejemplo, en un modelo de datos con las tablas Ventas, Productos y Categorías, si aplicamos un filtro en la tabla Categorías (como seleccionar solo productos de la categoría «Electrónica»), Power BI propagará automáticamente ese filtro a las tablas Productos y Ventas. Esto significa que cualquier visualización o cálculo basado en las tablas Productos o Ventas reflejará solo los datos relacionados con la categoría «Electrónica», sin necesidad de que el usuario especifique esa relación en cada consulta.
Como ves, esto simplifica enormemente la creación de informes y análisis, ya que los usuarios no necesitan preocuparse por cómo se combinan los datos de diferentes tablas, Power BI lo maneja automáticamente a través de las tablas expandidas.
Uso de DAX y las tablas expandidas
El lenguaje DAX en Power BI aprovecha al máximo el concepto de tablas expandidas para realizar cálculos avanzados. Al crear medidas en DAX, Power BI utiliza automáticamente las tablas expandidas para propagar los cálculos a través de las tablas relacionadas. Esto permite simplificar los cálculos, ya que no es necesario especificar las combinaciones manuales entre tablas.
Veamos un ejemplo práctico utilizando DAX. Imaginemos que queremos calcular el total de ventas por categoría de producto, usando las tablas Ventas, Productos y Categorías mencionadas anteriormente. Gracias a las tablas expandidas, podemos escribir una medida que se aplique automáticamente a todas las tablas relacionadas.
Ejemplos prácticos de tablas expandidas en Power BI
Para comprender mejor cómo las tablas expandidas simplifican el análisis en Power BI, os he preparado varios ejemplos prácticos.
Estructura de las tablas
Tabla Ventas:
| ID Venta | ID Producto | Cantidad | Precio Total |
|---|---|---|---|
| 1 | P001 | 10 | 100 |
| 2 | P002 | 5 | 50 |
| 3 | P003 | 8 | 80 |
Tabla Productos:
| ID Producto | Nombre Producto | ID Categoría |
|---|---|---|
| P001 | Televisor | C001 |
| P002 | Lavadora | C002 |
| P003 | Microondas | C001 |
Tabla Categorías:
| ID Categoría | Nombre Categoría |
|---|---|
| C001 | Electrónica |
| C002 | Electrodomésticos |
Ejemplo 1: Total de ventas por categoría
En este ejemplo, queremos calcular el total de ventas por categoría. Gracias a las tablas expandidas, podemos hacerlo sin tener que realizar combinaciones explícitas entre las tablas Ventas y Categorías.
Medida DAX:
Total Ventas por Categoría =
SUMX(
Productos,
CALCULATE(
SUM(Ventas[Precio Total])
)
)
Explicación:
La medida recorre la tabla de Productos y, para cada producto, calcula la suma del Precio Total de las ventas asociadas. Power BI expande automáticamente la tabla de Productos para incluir los datos de Ventas y Categorías, aplicando los filtros correspondientes.
Resultado esperado:
| Nombre Categoría | Total Ventas |
|---|---|
| Electrónica | 180 |
| Electrodomésticos | 50 |
Ejemplo 2: Filtrar por categoría
Queremos calcular las ventas totales solo para productos de la categoría «Electrónica». Nuevamente, Power BI manejará automáticamente la propagación del filtro a través de las tablas expandidas.
Medida DAX:
Total Ventas Electrónica =
CALCULATE(
SUM(Ventas[Precio Total]),
Categorías[Nombre Categoría] = "Electrónica"
)
Resultado esperado:
| Total Ventas Electrónica |
|---|
| 180 |
Ejemplo 3: Visualización con tablas expandidas
Podemos crear una visualización que muestre las ventas por producto y categoría. Gracias a las tablas expandidas, no necesitamos incluir manualmente todas las tablas en la visualización.
Visualización:
Utilizamos las columnas Nombre Categoría de Categorías, Nombre Producto de Productos y el Precio Total de Ventas.
Resultado esperado:
| Nombre Categoría | Nombre Producto | Precio Total |
|---|---|---|
| Electrónica | Televisor | 100 |
| Electrónica | Microondas | 80 |
| Electrodomésticos | Lavadora | 50 |
Implicaciones de rendimiento
Aunque las tablas expandidas simplifican el modelado de datos, es importante ser conscientes de su impacto en el rendimiento. A medida que creamos más relaciones y tablas expandidas, el modelo de datos puede volverse más complejo, lo que puede afectar al tiempo de respuesta en las consultas y visualizaciones.
Para mitigar este impacto, es recomendable optimizar las relaciones y el tamaño de las tablas. Evitar tablas innecesariamente grandes o relaciones que no sean estrictamente necesarias puede ayudar a mantener el rendimiento del modelo bajo control.
Conclusión
Las tablas expandidas son una herramienta poderosa en Power BI que permite simplificar el análisis de datos a través de la propagación automática de filtros y la integración de datos entre múltiples tablas relacionadas. Al utilizar tablas expandidas, los usuarios pueden crear modelos de datos más eficientes y realizar cálculos complejos con menor esfuerzo.
Sin embargo, si queremos ir más allá, es crucial que seamos conscientes de las implicaciones de rendimiento y que diseñemos modelos optimizados que aprovechen al máximo las capacidades de Power BI sin comprometer la eficiencia. Con el uso adecuado de las tablas expandidas, podemos crear modelos de datos robustos que permitan un análisis rápido y preciso.
Si tenéis alguna duda o sugerencia, podéis dejarla en Twitter, por mail o dejarnos un mensaje en los comentarios. Y recuerda que también tenemos un grupo de Telegram y un canal de YouTube a los que te puede unir. ¡Hasta la próxima!

