1. Faro

Nivel 1 · Una columna de fin de semana en la tabla Date

¿Es nuevo para ti? Lee primero el concepto: Por qué la inteligencia de tiempo necesita una tabla Date

La solicitud

De Tyler Reed, Gerente de Atención al Cliente

“Dejo el servicio de soporte con menos personal los sábados y domingos porque supuse que los fines de semana son tranquilos. Antes de firmar el calendario de turnos del año que viene, quiero ver las ventas completadas de los días de fin de semana frente a los días laborables. Si los fines de semana son más activos por día, voy a mover gente.”

Tu objetivo

Añade una columna calculada llamada Day Type a la tabla 'Date': "Weekend" cuando 'Date'[Weekday Number] sea 6 o 7 (sábado, domingo), "Weekday" en otro caso. La matriz agrupa entonces la medida dada Sales por tu columna.

  • Agrega la columna Day Type a Datependiente
  • También la fila Total correctapendiente

Tu columna calculada

DAX
Visual
A matrix: rows = your new column on Date, values = [Sales]
Medidas del informe
Sales = CALCULATE(SUM(order_items[line_total]), orders[status] = "completed")
Panel de datos: tablas y columnas
  • 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
  • returns return_id, order_item_id, returned_on, reason, refund_amount
  • Date Date, Year, Quarter, Month Number, Month, Year Month, Year Quarter, Day, Weekday Number, Weekday

Cargando el editor…

    VisualData view of Date: your column appears in the visual once you press Check
    El visual antes de tu respuesta
    DateYearQuarterMonth NumberMonthYear Month
    2023-01-012,023Q11Jan2023-01
    2023-01-022,023Q11Jan2023-01
    2023-01-032,023Q11Jan2023-01
    2023-01-042,023Q11Jan2023-01
    2023-01-052,023Q11Jan2023-01
    2023-01-062,023Q11Jan2023-01
    2023-01-072,023Q11Jan2023-01
    2023-01-082,023Q11Jan2023-01

    Mote revisa tu resultado

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

    La lección

    La inteligencia de tiempo en Power BI empieza con una tabla, no con una función. Toda medida de acumulado del año, del año pasado y de mes contra mes de este capítulo se apoya en la tabla 'Date', así que conviene saber cómo es una buena antes de usarla.

    En qué estás trabajando

    Esta página ejecuta un motor DAX de práctica creado para este sitio. Evalúa tu columna calculada en cada día de la tabla 'Date', y luego agrupa Sales por la nueva columna en la matriz. En Power BI Desktop: selecciona la tabla Date en la vista de datos (Data view), elige Table tools → New column, escribe la fórmula y pulsa Enter. Luego arrastra la columna a Rows de una matriz.

    Qué hace a una tabla Date

    La tabla 'Date' del modelo tiene una fila por día desde 2023-01-01 hasta 2025-12-31, con columnas como Year, Quarter, Month Number, Month, Year Month («2025-01»), Weekday Number (1 = lunes) y Weekday («Mon»). Tres reglas hacen que funcione:

    1. Continua. Cada día del primero al último, incluso los días sin pedidos. Las funciones de inteligencia de tiempo desplazan y extienden rangos de fechas; un día que falta rompe «mismo periodo del año pasado» y los totales acumulados.
    2. Relacionada. orders[order_date] está relacionada varios a uno con 'Date'[Date]. Los filtros del calendario llegan a los pedidos y, a través de ellos, a las líneas de pedido. La columna de fecha contiene fechas sin hora, así que coinciden.
    3. Marcada. Table tools → Mark as date table, y luego elige Date. Power BI comprueba que la columna tenga fechas únicas y continuas y entonces sabe qué tabla usar para la inteligencia de tiempo. El séptimo nivel de este capítulo muestra el síntoma cuando se omite ese paso.

    En Power BI normalmente construyes la tabla con DAX, Modeling → New table, usando CALENDAR(DATE(2023,1,1), DATE(2025,12,31)) y ADDCOLUMNS para Year, Month y el resto, o en Power Query. Este motor de práctica no crea tablas, así que el calendario viene dado.

    Añadir una columna de etiqueta

    Day Type = IF('Date'[Weekday Number] >= 6, "Weekend", "Weekday")

    La columna se ejecuta una vez por día. El 2025-11-29, un sábado, Weekday Number es 6 y la columna dice Weekend. Como la etiqueta vive en el calendario, funciona para cada hecho relacionado con él: pedidos, devoluciones, tráfico web. Otras columnas de calendario útiles siguen el mismo patrón: un año fiscal, una temporada, un indicador de festivo, un indicador de «es pasado» para ocultar meses futuros.

    Por qué la tabla Date y no orders

    Podrías añadir la misma columna a orders. Pero la siguiente tabla de hechos necesitaría su propia copia, y las segmentaciones sobre dos columnas «Day Type» distintas no se hablan entre sí. Un calendario, relacionado con cada hecho, da una segmentación que los filtra a todos.

    Errores comunes

    • Date sin comillas. DATE también es el nombre de una función, así que Power BI siempre escribe la tabla como 'Date'. Mantén las comillas simples.
    • El valor predeterminado de WEEKDAY. WEEKDAY('Date'[Date]) numera el domingo como 1. Usa WEEKDAY(…, 2) para lunes = 1, o la columna Weekday Number ya hecha.
    • Ordenar etiquetas de texto. «Mon», «Tue» se ordenan alfabéticamente a menos que configures Column tools → Sort by column con una columna numérica. La columna Month de aquí ya está ordenada por Month Number.

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