Forum Discussion
EDATE + CALCULATE
Buenas,
Tengo una tabla Logistic (fact_Excel_Logistic) que tiene las siguientes columnas:
Date. Fecha en el que sale el pedido.
Final Restriction. Número de años de restricción dependiendo si es un país u otro.
Type. Columna con tipo transporte. Tengo dos tipos: Temporary ó Definitive
Lo que pretendo hacer es coger la columna Date de la tabla Logistic y sumarle el número de años dependiendo del país de manera que me de una fecha final. Por ejemplo si tengo una fecha de pedido en 02-03-21 y el número de años de ese país es de 4 años, que me dé una fecha final 02-03-25.
Además de eso quiero que me lo haga filtrando solo para aquellos pedidos que el Type=Temporary.
Lo planteo en dos pasos:
- Ultilizo el EDATE para conseguir la fecha final.
- Utilizo CALCULATE para poder filtrar
Esto es lo que planteo. Pero me sale mal:
TemploraryRestriction =
VAR _EndDate= MINX(
'fact_Excel_Logistic',
EDATE('fact_Excel_Logistic'[Date],MONTH('fact_Excel_Logistic'[Final Restriction])*12))
VAR TemporaryFilter= CALCULATE(
_EndDate,'fact_Excel_Logistic'[Type]="Temporary")
Return
TemporaryFilter
Además, me gustaría que para Type=Temporary me ejecutara la operación, y para Type= Definitive me devolviera "No aplicable".
Muchas gracias por su ayuda.
Saludos.
2 Replies
- Syndicate_Admin
Administrator
Hola
He creado una columna calculada, ¿es esta su salida esperada?TemploraryRestriction = IF ( 'fact_Excel_Logistic'[Type] = "Temporary", EDATE ( 'fact_Excel_Logistic'[Date], 'fact_Excel_Logistic'[Final Restriction] * 12 ) )
Si esto no funciona, ¿podría dar el resultado esperado? Gracias.Saludos
Gao
Equipo de apoyo a la comunidadSi hay alguna publicación de ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Si no entiendo sus necesidades o todavía tiene problemas al respecto, no dude en hacérnoslo saber. ¡Muchas gracias!Cómo obtener respuestas rápidas a sus preguntas -- Cómo proporcionar datos de ejemplo en el foro de Power BI
- Pacopil48
Resolver I
Buenas,
Gracias por la respuesta, pero siempre trato de evitar las columnas calculadas y hacerlo a través de medidas.
He pensado en esta solución.
Le ve problemas o tiene alguna mejora?
TemploraryRestriction =
VAR _EndDate= MINX(
'fact_Excel_Logistic',
EDATE('fact_Excel_Tráfico'[Date],'fact_Excel_Logistic'[Final Restriction]*12))
VAR TemporaryFilter= CALCULATE(
_EndDate,'fact_Excel_Logistic'[Type]="Temporary")
VAR TypeAd=
CALCULATE(
MAX('fact_Excel_Logistic'[Type]),
ALL(dim_TimeTable)
)
Return
SWITCH(
TRUE()
,TypeAd="Temporary",TemporaryFilter
,TypeAd="Definitive","NA"
," ")
Ya me dirá.
Muchas gracias.