carlosagarcia
Hola chicos.
Estoy intentando crear una medida que solo cuente los días de la semana para calcular la entrega de un artículo.
Tengo un tiempo de entrega de compra de 10 días, si el pedido se ingresa hoy 06/12/2020, el tiempo estimado de entrega debe ser 06/25/2020
Plazo de entrega parcial Fecha de entrega
123 10 ???
Sé que suena fácil, he probado diferentes métodos sin suerte.
v-eachen-msft
Hola @carlosagarcia,
Necesita crear una dimensión de fecha.
Date =
CALENDAR ( DATE ( 2020, 01, 01 ), DATE ( 2020, 12, 31 ) )
Luego, cree columnas para mostrar los días hábiles y el total acumulado.
Count =
VAR a = WEEKDAY ( 'Date'[Date], 2 ) RETURN IF ( a < 6, 1, 0 )
Sum =
CALCULATE (
SUM ( 'Date'[Count] ),
FILTER ( 'Date', 'Date'[Date] <= EARLIER ( 'Date'[Date] ) )
)
Crea una medida para mostrar la fecha.
Measure =
VAR a =
SELECTEDVALUE ( 'Table'[Date] )
VAR b =
SELECTEDVALUE ( 'Table'[Days] )
VAR c =
CALCULATE ( MAX ( 'Date'[Sum] ), FILTER ( 'Date', 'Date'[Date] = a ) )
RETURN
CALCULATE (
MAX ( 'Date'[Date] ),
FILTER ( 'Date', 'Date'[Sum] = b + c - 1 && 'Date'[Count] = 1 )
)
Aquí está mi archivo de prueba para su referencia.
v-eachen-msft
Hola @carlosagarcia,
Necesita crear una dimensión de fecha.
Date =
CALENDAR ( DATE ( 2020, 01, 01 ), DATE ( 2020, 12, 31 ) )
Luego, cree columnas para mostrar los días hábiles y el total acumulado.
Count =
VAR a = WEEKDAY ( 'Date'[Date], 2 ) RETURN IF ( a < 6, 1, 0 )
Sum =
CALCULATE (
SUM ( 'Date'[Count] ),
FILTER ( 'Date', 'Date'[Date] <= EARLIER ( 'Date'[Date] ) )
)
Crea una medida para mostrar la fecha.
Measure =
VAR a =
SELECTEDVALUE ( 'Table'[Date] )
VAR b =
SELECTEDVALUE ( 'Table'[Days] )
VAR c =
CALCULATE ( MAX ( 'Date'[Sum] ), FILTER ( 'Date', 'Date'[Date] = a ) )
RETURN
CALCULATE (
MAX ( 'Date'[Date] ),
FILTER ( 'Date', 'Date'[Sum] = b + c - 1 && 'Date'[Count] = 1 )
)
Aquí está mi archivo de prueba para su referencia.
carlosagarcia
En respuesta a v-eachen-msft
Hola,
Estoy listo para probar su respuesta, pero me quedo atascado en la columna Messure.
Me sale un error en
v-eachen-msft
En respuesta a carlosagarcia
Hola @carlosagarcia,
Cámbielo a HOY () o HOY () + 1.
var a = TODAY()
Asegúrese de que la dimensión de fecha tenga todas las fechas que necesite en el futuro.
carlosagarcia
En respuesta a v-eachen-msft
Gracias, funcionó a las mil maravillas.
Amitchandak
@carlosagarcia, tiene una tabla de fechas con el siguiente campo
Table
Date = CALENDAR(date(2018,01,01), date(2021,12,31))
Columns
Work Day = if(WEEKDAY([Date],2)>=6,0,1)
Work Date = if(WEEKDAY([Date],2)>=6,BLANK(),[Date])
Work Date Cont = if([Work Day]=0,maxx(FILTER('Date',[Date]<EARLIER([Date]) && [Work Day]<> EARLIER([Work Day]) ),[Date]),[Date])
Work Date cont Rank = RANKX(ALL('Date'),[Work Date Cont],,ASC,Dense)
Use Rank to Travel . Example Measure
Plus 10 Days = var _max =maxx(ALLSELECTED('Date'),'Date'[Work Date cont Rank])
return CALCULATE(Min('Date'[Date]),filter(ALL('Date'),'Date'[Work Date Rank] =_max+10))
Para aprovechar al máximo la función de inteligencia del tiempo. Asegúrese de tener un calendario de fechas y que se haya marcado como la fecha en la vista de modelo. Además, únala con la columna de fecha de sus hechos. Refiera:
https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions
https://www.archerpoint.com/blog/Posts/creating-date-table-power-bi
https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/
Vea si mi seminario web sobre inteligencia de tiempo puede ayudar: https: //community.powerbi.com/t5/Webinars-and-Video-Gallery/PowerBI-Time-Intelligence-Calendar-WTD-Y …
Aprecie sus felicitaciones.