Utilice Medir con la jornada laboral anterior

Un usuario Pregunto ✅

Anónimo

Tengo una medida simple:

Orders released not shipped = 

CALCULATE(
    COUNT(CD_OTTC_SHIPPING_LINE[KeyID]); CD_OTTC_SHIPPING[ISBLANK_DISPATCH_DATE] = TRUE
) 

Necesito este KPI para cada día y el día laboral anterior. Tengo una tabla con todos los días laborales anteriores. El mismo día funciona bien. Pensé que podría simplemente llamar a esta medida con mi día laboral anterior, pero no sé cómo hacerlo. Se supone que es como la última imagen. El uso de PREVIOUSDAY () no ayuda ya que no puede ocuparse de los días festivos y los fines de semana.

Unbenannt2.PNGUnbenannt3.PNG

Unbenannt4.PNG

Anónimo

En respuesta a Anónimo

Jugué un poco con tu código y se me ocurrió esta solución. Parece funcionar ahora.

Test previous wd = 
VAR currDate =
    MAX (DimDate[Date])
VAR prev =
    MAX(Workdays[previous workday])
    
RETURN
    CALCULATE (
        [Orders released not shipped];
        FILTER(ALLSELECTED(CD_OTTC_SHIPPING_LINE); CD_OTTC_SHIPPING_LINE[date.OLLASTUPDDTE] = prev )
    )

Hola @Anónimo,

Intente utilizar la siguiente fórmula de medida si es adecuada para sus necesidades:

Measure =
VAR currDate =
    MAX ( 'Table'[Date] )
VAR prev =
    IF (
        WEEKDAY ( currDate, 2 ) <= 5,
        IF ( WEEKDAY ( currDate, 2 ) <> 1, currDate - 1, currDate - 3 )
    )
RETURN
    CALCULATE (
        SUM ( 'Table'[Sales] ),
        FILTER ( ALLSELECTED ( 'Table' ), [Date] = prev )
    )

1.png

Saludos,

Xiaoxin Sheng

Anónimo

En respuesta a v-shex-msft

¡Eso está considerando los días laborales y funciona bien! Pero todavía tengo el problema con mis vacaciones. Desafortunadamente, no hay forma de calcular las vacaciones. Tengo fuente con todas las vacaciones necesarias. ¿Tiene alguna sugerencia sobre cómo hacer esto?

Se me ocurrió la siguiente idea.

Orders released previous workday not shipped = 
CALCULATE(
    [Orders released not shipped];
        FILTER(ALLSELECTED(CD_OTTC_SHIPPING_LINE); CD_OTTC_SHIPPING_LINE[OLLASTUPDDTE] = VALUES(Workdays[previous workday]) 
        ) 
)

Pero solo funciona si elijo un solo día por dropdown. No puedo exhibirlo para cada día en una tabla. Habrá un error: «Se proporcionó una tabla de valores múltiples donde se esperaba un valor único», lo cual tiene sentido, pero pensé que si tenía cada Fecha en mi tabla de informes, PBI solo encontraría un valor en mi columna «Día laboral anterior» .

Anónimo

En respuesta a Anónimo

Básicamente tengo que FILTRAR mi tabla para obtener cada fila donde

[OLLASTUPDDTE].[Date]

es igual a mi «jornada laboral anterior». Mi tabla de informes contendría una fecha actual 2019-04-23 donde mi «día de trabajo anterior» es el 2019-04-18 porque en Alemania 19-22 es un día festivo. Entonces necesito todas las entradas de mi tabla donde [OLLASTUPDDTE].[Date] = 18-04-2019. Habrá varias entradas para esta fecha. Entonces podría usar mi medida:

[Orders released not shipped]

El resultado debe ser mi fecha actual del 2019-04-23 con mis filas contadas del 2019-04-18.

Anónimo

En respuesta a Anónimo

Jugué un poco con tu código y se me ocurrió esta solución. Parece funcionar ahora.

Test previous wd = 
VAR currDate =
    MAX (DimDate[Date])
VAR prev =
    MAX(Workdays[previous workday])
    
RETURN
    CALCULATE (
        [Orders released not shipped];
        FILTER(ALLSELECTED(CD_OTTC_SHIPPING_LINE); CD_OTTC_SHIPPING_LINE[date.OLLASTUPDDTE] = prev )
    )

Greg_Deckler

Vea si mi Time Intelligence the Hard Way proporciona una forma diferente de lograr lo que está buscando.

https: //community.powerbi.com/t5/Quick-Measures-Gallery/Time-Intelligence-quot-The-Hard-Way-quot-TIT …

Además, tengo otra Medida Rápida llamada Días Laborables Netos que muestra cómo manejar los días festivos y los fines de semana.

Deja un comentario

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