1. Faro

Nivel 6 · Conecta y marca la tabla Date

La solicitud

De Brian Foster, Analista de FP&A

“Necesito las ventas por mes y trimestre para la presentación del pronóstico, y más adelante el acumulado del año. Alguien añadió una tabla Date al modelo pero no hay nada conectado a ella, y la segmentación de mes no hace nada. ¿Puedes conectarla como es debido?”

Tu objetivo

order_items ya está relacionada con orders. Relaciona orders con la tabla Date por la fecha del pedido (varios a uno, única, activa) y marca 'Date' como la tabla de fechas del modelo usando su columna Date.

  • Todas las relaciones que el informe necesita, bien configuradaspendiente
  • La tabla de fechas marcadapendiente

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), Date (Date, Year, Quarter, Month Number, Month, Year Month, Year Quarter, Day, Weekday Number, Weekday).

Ya relacionadas: order_items[order_id] > orders[order_id] | many-to-one | single | 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

    La segmentación de mes de Brian filtra una tabla a la que no hay nada conectado. Una tabla de calendario solo funciona una vez relacionada con los hechos, y funciona mejor cuando Power BI sabe que es el calendario.

    En qué estás trabajando

    Este es un diagrama de práctica creado para este sitio; Power BI Desktop solo funciona en Windows. Añade la relación con el formulario y luego marca la tabla de fechas. El diagrama comprueba ambas cosas como lo hace Power BI.

    En Power BI Desktop: vista Modelo → arrastra order_date de orders sobre Date en la tabla Date. Luego selecciona la tabla Date y elige Table tools → Mark as date table, elige la columna Date y pulsa OK. Power BI valida la columna antes de aceptar la marca.

    Por qué una tabla Date separada

    orders[order_date] solo tiene los días en que alguien hizo un pedido, y solo la fecha en sí. Una tabla Date (o calendario) tiene:

    • una fila por día, sin huecos, desde la primera fecha de los datos hasta la última (aquí del 2023-01-01 al 2025-12-31);
    • columnas para cada forma en que la gente agrupa el tiempo: Year, Quarter, Month, Month Number, Year Month, Weekday.

    Pon 'Date'[Month] en un eje y aparece cada mes, incluso uno sin ventas. Ponlo en una segmentación y filtra todas las tablas de hechos relacionadas con el calendario, no solo una.

    La relación

    'Date'[Date] es única, una fila por día, así que es el lado «uno». Muchos pedidos comparten un día, así que orders[order_date] es el lado «varios»:

    orders[order_date] > 'Date'[Date] | many-to-one | single | active

    Ambas columnas deben ser fechas sin parte horaria. Los pedidos de Harbor & Pine guardan solo la fecha; si los tuyos llevan hora, cambia primero el tipo de la columna a Date en Power Query, o ninguna hora del día coincidirá nunca con una fila del calendario.

    Marcarla como tabla de fechas

    date table: 'Date'[Date]

    Marcar hace dos cosas. Le dice a las funciones de inteligencia de tiempo como TOTALYTD y SAMEPERIODLASTYEAR qué columna contiene el calendario, y desactiva las tablas de fechas automáticas ocultas de Power BI para esa columna, que inflan el modelo y no se pueden compartir entre hechos. Power BI solo acepta una columna de fechas sin duplicados ni vacíos, por eso la marca va en el calendario y nunca en la columna de fecha de un hecho.

    Errores comunes

    • Marcar la fecha del hecho. orders[order_date] repite días y tiene huecos.
    • Invertir los lados. 'Date'[Date] en el lado varios significa «cada día tiene muchas fechas»; Power BI lo rechaza.
    • Segmentar por orders[order_date]. Funciona para una tabla y se salta los días vacíos. Usa las columnas de 'Date'.

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