Trabajar con relaciones
Después de elegir el marco de trabajo del modelo y transformar los datos, debe crear relaciones para permitir que los datos se filtren y agreguen en función de los datos de otra tabla. Es habitual crear un esquema de estrella y aplicar reglas que filtran las tablas de dimensiones, lo que permite que las relaciones del modelo apliquen eficazmente esos filtros a las tablas de hechos.
Creación de un esquema de estrella
En este escenario, se ha importado una tabla de dimensiones desde .csv que necesita conectarse al almacén de lago de datos. Puede crear relaciones para dar forma a un esquema de estrella después de transformar la tabla importada.
En un esquema de estrella, las tablas de hechos y las tablas de dimensiones funcionan conjuntamente para organizar y analizar datos. La tabla de hechos almacena los datos principales sobre actividades empresariales, como ventas o eventos, mientras que las tablas de dimensiones proporcionan contexto e información descriptiva sobre esas actividades.
Por ejemplo, si tiene una tabla de hechos de ventas, podría almacenar datos como la cantidad vendida y la fecha de cada venta. Después, las tablas de dimensiones proporcionarían detalles adicionales, como la información del cliente, los detalles del producto y los períodos de tiempo. Al vincular la tabla de hechos a las tablas de dimensiones, puede filtrar, agrupar y analizar fácilmente los datos.
Crear relaciones
La creación de relaciones entre tablas de hechos y dimensiones es sencilla mediante la identificación de las columnas relacionadas de cada tabla y la creación de la relación. En orígenes relacionales como bases de datos o almacenes de datos, estas columnas se conocen a menudo como claves. Si las columnas de clave no están presentes, examine las tablas para determinar qué columnas usar para las relaciones.
Hay distintos tipos de relaciones:
- Uno a varios es el tipo más común, donde un registro de una tabla se relaciona con varios registros en otro. Normalmente, uno a varios parte de una tabla de dimensiones con un valor único a una tabla de hechos con muchas filas relacionadas con el valor uno.
- Varios a uno es esencialmente el mismo que uno a varios, en función de la forma en que se configura el filtro entre tablas.
- Uno a uno es menos común, ya que ambas tablas tienen datos únicos. Considere si necesita dos tablas, o bien puede combinarlas en una sola.
- Varios a varios es menos común, pero es necesario para datos complejos. Permite que varios registros de una tabla se relacionan con varios registros de otra.
Para las relaciones varios a varios, es posible que tenga que usar una tabla puente. Una tabla puente ayuda a administrar estas relaciones mediante la vinculación de las tablas por medio claves intermedias. Los modelos compuestos también facilitan las relaciones varios a varios al permitirle combinar datos de orígenes diferentes.
Dirección del filtro
Cuando se crea una relación, se configura la dirección en la que se filtran los datos de una tabla a otra. En un esquema de estrella, la dirección suele ir de la tabla de dimensiones a la tabla de hechos, lo que permite que la tabla de dimensiones filtre los resultados de la tabla de hechos.
También puede haber filtros bidireccionales y, a veces, se usan en relaciones uno a uno o varios a varios. Antes de usar un filtro bidireccional, asegúrese de que los datos y las relaciones estén configurados correctamente. Tenga cuidado, ya que los filtros bidireccionales pueden afectar negativamente al rendimiento de las consultas del modelo y posiblemente confundir a los usuarios del informe.
La integridad referencial garantiza que las relaciones entre tablas sigan siendo coherentes. Significa que todos los valores de una columna de clave externa deben tener un valor correspondiente en la columna de clave principal de la tabla relacionada. Esta característica también mejora el rendimiento de las consultas cuando se usan combinaciones INNER en lugar de combinaciones LEFT OUTER.
Comprender la dirección del filtro y la integridad referencial es fundamental para la precisión del modelado de datos. Los filtros solo se propagan si la ruta de la relación está intacta y sigue la dirección definida. Estas configuraciones garantizan la coherencia y la integridad de los datos en el modelo.
Relaciones inactivas
Las relaciones se pueden deshabilitar y hacer que las funciones DAX modifiquen su contexto de filtro. A veces, necesita más de una relación entre tablas, pero solo puede haber una activa a la vez entre dos tablas. En tales casos, use la función USERELATIONSHIP
de DAX a fin de hacer referencia a relaciones inactivas para obtener el mismo comportamiento de filtrado. A continuación se muestra un ejemplo:
CALCULATE(
SUM(Sales[Amount]),
USERELATIONSHIP(Sales[Date], Calendar[Date])
)
El uso de funciones DAX para relaciones es útil porque permiten crear cálculos dinámicos y flexibles que se pueden adaptar a diferentes escenarios de datos. Esta flexibilidad le permite controlar modelos de datos complejos y realizar análisis avanzados que serían difíciles de lograr solo con relaciones estáticas.
Uso de tablas desconectadas
Es poco frecuente que una tabla del modelo no esté relacionada con otra tabla del modelo. Este tipo de tabla en un diseño de modelo válido se describe como una tabla desconectada. La tabla desconectada no pretende propagar filtros a otras tablas del modelo. En su lugar, acepta la "entrada del usuario" (quizás con un objeto visual de segmentación), lo que permite que los cálculos del modelo usen el valor de entrada de una manera significativa. Por ejemplo, imagine una tabla desconectada con un intervalo de valores de tasas de cambio de divisa. Al filtrar por un valor de tasa único, este valor se puede usar en una expresión de medida para convertir valores de ventas.
El parámetro de hipótesis de Power BI Desktop es una característica que crea una tabla desconectada. Para obtener más información, consulte Creación y uso de un parámetro What if para visualizar variables en Power BI Desktop.