Calcular en la columna el número de días de la semana (nombres de semana) entre 2 fechas

Un usuario Pregunto ✅

pszczulka1984

Hola tios,

Estoy tratando de calcular el número de días de la semana (nombres de la semana) entre 2 fechas, por ejemplo, cuántos lunes de marzo con las fechas de inicio y finalización disponibles y el día de la semana con un valor numérico.

En Excel, podría usar la fórmula de la siguiente manera = SUMPRODUCTO (- (WEEKDAY (ROW (INDIRECT (StartDate & «:» & EndDate))) = NumericalValueOfWeekday))

En Power BI puedo crear una tabla en vista que la resuma, pero lo que necesito es que este valor se muestre en la columna de mi tabla … vincularé esta información con otra tabla pero con un valor único más adelante.

¡Ayuda, por favor, ya que me volvía loco!

Gracias,

Joanna

En respuesta a pszczulka1984

Hola @ pszczulka1984,

Prueba esto:

Calendar = 
ADDCOLUMNS (
    CALENDAR ( DATE ( 2019, 3, 1 ), DATE ( 2019, 4, 30 ) ),
    "Day", FORMAT ( [Date], "DDDD" ),
    "DayNum", WEEKDAY ( [Date], 2 ),
    "StartMonth",EOMONTH([Date],-1)+1,
    "EndMonth",EOMONTH([Date],0)
)

start.PNG

Atentamente,

Icey

Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

pszczulka1984

En respuesta a Icey

¡Fantástico! Muchas gracias por tu ayuda.

Guión final como sigue:

Calendario =
COLUMNAS (
CALENDARIO (FECHA (2019, 2, 1), FECHA (2024, 2, 28)),
«Día», FORMAT ( [Date], «DDDD»),
«DayNum», WEEKDAY ( [Date], 2),
«StartMonth», EOMONTH ( [Date], -1) +1,
«EndMonth», EOMONTH ([Date], 0),
«PreviousStartMonth», EOMONTH ( [Date], -2) +1,
«PreviousEndMonth», EOMONTH ( [Date], -1)
)

Hola @ pszczulka1984,

Comprueba si esto es lo que quieres:

1. Cree una tabla de Calendario.

Calendar = 
ADDCOLUMNS (
    CALENDAR ( DATE ( 2019, 3, 1 ), DATE ( 2019, 4, 30 ) ),
    "Day", FORMAT ( [Date], "DDDD" ),
    "DayNum", WEEKDAY ( [Date], 2 )
)

2. Cree una columna en su tabla de hechos.

Number of Weedays in Month = 
CALCULATE (
    COUNT ( 'Calendar'[DayNum] ),
    FILTER (
        'Calendar',
        'Calendar'[DayNum] = 'Table'[Weekday value]
            && 'Calendar'[Date] >= 'Table'[MonthStartDate]
            && 'Calendar'[Date] <= 'Table'[MonthEndDate]
    )
)

días.PNG

Por cierto, archivo .pbix adjunto.

Atentamente,

Icey

Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

pszczulka1984

En respuesta a Icey

Esto es fantástico y casi soluciona mi problema, el único problema que tengo es que necesito agregar a la tabla de calendario que ha creado la fecha de inicio del mes anterior y la fecha de finalización del mes anterior, he intentado simplemente modificar su DAX y agregar la fórmula Startmonth pero vuelve con error, sobre esta misma base necesito agregar el final del mes y la fecha de inicio del mes anterior y la fecha de finalización.

Lamento ser un fastidio, pero todavía soy nuevo en Power BI y soy autodidacta, por lo que estaré muy agradecido por su ayuda.

Calendario =
COLUMNAS (
CALENDARIO (FECHA (2019, 2, 1), FECHA (2024, 2, 28)),
«Día», FORMAT ( [Date], «DDDD»),
«DayNum», WEEKDAY ( [Date], 2),
«StartMonth», STARTOFMONTH ([Date].[Date])
)

En respuesta a pszczulka1984

Hola @ pszczulka1984,

Prueba esto:

Calendar = 
ADDCOLUMNS (
    CALENDAR ( DATE ( 2019, 3, 1 ), DATE ( 2019, 4, 30 ) ),
    "Day", FORMAT ( [Date], "DDDD" ),
    "DayNum", WEEKDAY ( [Date], 2 ),
    "StartMonth",EOMONTH([Date],-1)+1,
    "EndMonth",EOMONTH([Date],0)
)

start.PNG

Atentamente,

Icey

Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

pszczulka1984

En respuesta a Icey

¡Fantástico! Muchas gracias por tu ayuda.

Guión final como sigue:

Calendario =
COLUMNAS (
CALENDARIO (FECHA (2019, 2, 1), FECHA (2024, 2, 28)),
«Día», FORMAT ( [Date], «DDDD»),
«DayNum», WEEKDAY ( [Date], 2),
«StartMonth», EOMONTH ( [Date], -1) +1,
«EndMonth», EOMONTH ([Date], 0),
«PreviousStartMonth», EOMONTH ( [Date], -2) +1,
«PreviousEndMonth», EOMONTH ( [Date], -1)
)

Greg_Deckler

@ pszczulka1984 – https://community.powerbi.com/t5/Quick-Measures-Gallery/Net-Work-Days/mp/367362#M109

pszczulka1984

En respuesta a Greg_Deckler

Greg gracias pero necesito un cálculo de columna, no medir.

Greg_Deckler

En respuesta a pszczulka1984

@ pszczulka1984 – Está bien, simplemente elimine las agregaciones alrededor de las columnas y consulte las columnas directamente en ese caso.

pszczulka1984

En respuesta a Greg_Deckler


@Greg_Deckler escribió:

@ pszczulka1984 – Está bien, simplemente elimine las agregaciones alrededor de las columnas y consulte las columnas directamente en ese caso.


Lo siento, realmente no entiendo.

Imagina que tengo 3 columnas con datos en filas, por supuesto

MonthStartDate: 1/03/2019

MesFecha 31/03/2019

Valor del día de la semana: por ejemplo, lunes = 1

Número de fines de semana en el mes = Suma de los lunes entre … aquí es donde estoy luchando. Mi fórmula funciona en Excel fácilmente, pero en Power Bi simplemente no coopera.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *