1. Faro

Nivel 3 · Tu primera relación

La solicitud

De Rachel Kim, Gerente de Categoría

“Puse una segmentación de categoría en la página de ventas y no hace nada: todas las categorías muestran el mismo total. Alguien dijo que las tablas no están conectadas. ¿Puedes arreglar el modelo para que al elegir Lighting se muestre de verdad Lighting?”

Tu objetivo

El modelo tiene order_items (una fila por línea de pedido) y products (una fila por producto), todavía sin relación. Crea la relación que permite que un filtro sobre products llegue a order_items: las columnas correctas, la cardinalidad correcta, una dirección de filtro cruzado única, activa.

  • Todas las relaciones que el informe necesita, bien configuradaspendiente

Tu modelo

Vista de modelo

Las tablas del modelo: order_items (order_item_id, order_id, product_id, quantity, unit_price, discount_pct, line_total), products (product_id, name, category, subcategory, unit_price, unit_cost, launched_on, is_active).

Cargando el editor…

    ResultadoPresiona Comprobar para comparar tu modelo

    Mote revisa tu resultado

    Presiona Comprobar. Mote completa tu respuesta y la compara con lo que necesita el informe.

    La lección

    Dos tablas en un informe son desconocidas hasta que las relacionas. La segmentación de Rachel filtra products, pero sus números de ventas vienen de order_items, así que el filtro no tiene adónde ir y todas las categorías muestran el total general.

    Claves: la columna que comparten ambas tablas

    Una relación hace coincidir una columna de cada tabla. En un lado es la clave primaria de la tabla, la columna con exactamente una fila por valor: products[product_id] nombra un producto. En el otro lado es una clave externa, una columna que apunta a esa clave y puede repetirse: order_items[product_id] aparece en cada línea de pedido que vendió el producto.

    Cardinalidad: cuántas filas coinciden

    • Varios a uno (*:1): muchas líneas de pedido, un producto. El caso normal, y el que quieres.
    • Uno a uno (1:1): ambos lados únicos. Raro; a menudo es señal de que las dos tablas deberían ser una.
    • Varios a varios (*:*): ningún lado único. Power BI lo permite, pero los totales se vuelven difíciles de leer. Evítalo a menos que sepas por qué lo necesitas.

    Power BI comprueba los datos: si declaras un lado «uno» cuyos valores se repiten, rechaza la relación. Este diagrama de práctica hace lo mismo.

    Dirección: en qué sentido fluyen los filtros

    La dirección de filtro cruzado (cross-filter direction) dice qué tabla filtra a cuál. Con Single, el lado uno (la dimensión, products) filtra el lado varios (el hecho, order_items). Eso es lo que Rachel necesita: elige Lighting, ve las líneas de pedido de Lighting. Both también envía filtros de vuelta de los hechos a las dimensiones; tiene usos, pero como valor predeterminado causa rutas ambiguas e informes lentos.

    En Power BI Desktop

    Abre la vista Modelo (el tercer icono de la barra izquierda) y arrastra product_id de order_items sobre product_id en products. Power BI adivina la cardinalidad y la dirección; compruébalas haciendo doble clic en la línea, o usa Modeling → Manage relationships → New y elige ambas columnas, Many to one (*:1), Cross filter direction: Single y Make this relationship active. En este diagrama de práctica, el formulario bajo el lienzo hace lo mismo.

    Errores comunes

    • Relacionar por nombre. Los nombres se repiten y cambian. Las claves no.
    • Varios a varios por accidente. Normalmente significa que un lado no es la columna clave.
    • Ambas direcciones «por si acaso». Mantén Single a menos que un ticket te dé una razón.

    Elige qué puede ejecutarse en este sitio. Puedes cambiarlo cuando quieras desde "Configurar cookies", al pie de cada página.