1. Faro

Nivel 9 · Desafío final: construye el esquema en estrella de ventas

La solicitud

De Heather Lewis, Jefa de Datos

“Estandarizamos en la estrella. Aquí están las cinco tablas del modelo de ventas de la empresa, recién cargadas y sin relaciones. Constrúyelo como acordamos: hechos en el centro, cada dimensión a un salto, dirección única, el calendario marcado y la fecha de registro lista para el equipo de marketing sin romper las ventas.”

Tu objetivo

Paso 1 de 3. Relaciona las líneas de pedido. Conecta order_items con orders y order_items con products, varios a uno, dirección única, activa.

  • Todas las relaciones que el informe necesita, bien configuradaspendiente

Paso 1 · 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), orders (order_id, customer_id, order_date, status, channel, shipping_fee, coupon_code), products (product_id, name, category, subcategory, unit_price, unit_cost, launched_on, is_active), customers (customer_id, first_name, last_name, email, city, state, signup_date, segment, referral_source), Date (Date, Year, Quarter, Month Number, Month, Year Month, Year Quarter, Day, Weekday Number, Weekday).

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.

    Paso 2 · 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), orders (order_id, customer_id, order_date, status, channel, shipping_fee, coupon_code), products (product_id, name, category, subcategory, unit_price, unit_cost, launched_on, is_active), customers (customer_id, first_name, last_name, email, city, state, signup_date, segment, referral_source), Date (Date, Year, Quarter, Month Number, Month, Year Month, Year Quarter, Day, Weekday Number, Weekday).

    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.

      Paso 3 · 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), orders (order_id, customer_id, order_date, status, channel, shipping_fee, coupon_code), products (product_id, name, category, subcategory, unit_price, unit_cost, launched_on, is_active), customers (customer_id, first_name, last_name, email, city, state, signup_date, segment, referral_source), Date (Date, Year, Quarter, Month Number, Month, Year Month, Year Quarter, Day, Weekday Number, Weekday).

      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

        Este es el modelo que usan todos los capítulos posteriores. Lo construyes desde cero: cinco tablas, cinco relaciones, una marca de tabla de fechas.

        En qué estás trabajando

        Un diagrama de práctica creado para este sitio, porque Power BI Desktop solo funciona en Windows. Cada paso se suma al anterior, y el diagrama comprueba los datos como lo hace Power BI antes de comparar tu modelo con el objetivo. En Power BI Desktop el mismo trabajo ocurre en la vista Modelo, con Modeling → Manage relationships para lo que quieras fijar con precisión, y Table tools → Mark as date table para el calendario.

        Empieza por la granularidad de cada tabla

        Tabla Una fila es un… Clave Apunta a
        order_items línea de pedido order_item_id order_id, product_id
        orders pedido order_id customer_id, order_date
        products producto product_id
        customers cliente customer_id signup_date
        Date día Date

        Cada flecha de la última columna se convierte en una relación desde esa columna hacia la clave que nombra. Lee la tabla una vez y tienes todo el modelo delante.

        El orden de trabajo

        1. Primero los hechos. order_items apunta a orders (su cabecera) y a products. Estas dos relaciones hacen de la tabla de líneas el centro de la estrella.
        2. Lo que cuelga del pedido. Los clientes y las fechas pertenecen al pedido, no a la línea: un pedido tiene un cliente y una fecha, sea cual sea su contenido. Así que orders se relaciona con customers y con 'Date', y se marca el calendario.
        3. Roles adicionales. La fecha de registro es una segunda fecha en customers. Como 'Date' ya llega a customers a través de orders, la nueva relación debe ser inactiva.

        Revísalo como un revisor

        Una vez construido, elige cualquier dimensión y traza un filtro hasta order_items:

        • una categoría: products → order_items (un salto);
        • un estado: customers → orders → order_items (dos saltos);
        • un mes: Date → orders → order_items (dos saltos).

        Cada ruta es única y va de un lado «uno» a un lado «varios». Eso es lo que lo hace una estrella: cualquier medida sobre order_items responde a cada segmentación sin una sola línea de DAX especial.

        Errores comunes

        • Products relacionada con orders. Los pedidos no tienen producto; las líneas sí.
        • Date relacionada con las líneas de pedido. Las líneas no tienen fecha. La fecha del pedido vive en orders.
        • Ambas direcciones para «hacer que las segmentaciones se hablen». Crea rutas ambiguas exactamente en este tipo de modelo. Mantén Single.
        • Una segunda relación de fecha activa. Solo una ruta activa; las demás esperan a USERELATIONSHIP.

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