Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and a 50 percent discount on exams.
Get startedEarn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hola
Estoy tratando de escribir una columna calculada basada en la siguiente lógica:
Si la descripción de la tabla de tipos es igual a "Primer día" o "Segundo día" ENTONCES cuántos minutos entre StartDateTime y EndDateTime de la tabla Hecho de llamada,
If Minutos entre StartDateTime y EndDateTime es mayor que 480 minutos y luego establece esto en 45 minutos
ELSE establece esto en número de minutos entre StartDateTime y EndDateTime
A continuación, he decretado una columna calculada con la siguiente fórula DAX:
TimeTaken =
IF('Type'[Descripción] EN {"Primer día","Segundo día"},
DATEDIFF('Call Fact'[StartDateTime], 'Call Fact'[EndDateTime], MINUTE),
IF(DATEDIFF('Call Fact'[StartDateTime], 'Call Fact'[EndDateTime], MINUTE) > 480, 45,
DATEDIFF('Call Fact'[StartDateTime], 'Call Analysis'[EndDateTime], MINUTE)))
Pero recibo el siguiente mensaje de error:
No se puede determinar un único valor para la columna 'Descripción' en la tabla 'Tipo'. Esto puede ocurrir cuando una fórmula de medida hace referencia a una columna que contiene muchos valores sin especificar una agregación como min, max, count o sum para obtener un único resultado.
¿Alguna idea?
Solved! Go to Solution.
No @AvPowerBI,
Primero deberá definir StartDateTime y EndDateTime en la tabla Type.
Por favor, compruebe la siguiente fórmula.
Column =
var _start = LOOKUPVALUE('Call Fact'[StartDateTime],'Call Fact'[id],'Type'[id])
var _end = LOOKUPVALUE('Call Fact'[EndDateTime],'Call Fact'[id],'Type'[id])
var _diff = IF('Type'[Description] IN {"First Day","Second Day"},DATEDIFF(_start,_end,MINUTE))
return
IF(_diff>480,45,_diff)
Saludos
Jay
No @AvPowerBI,
Primero deberá definir StartDateTime y EndDateTime en la tabla Type.
Por favor, compruebe la siguiente fórmula.
Column =
var _start = LOOKUPVALUE('Call Fact'[StartDateTime],'Call Fact'[id],'Type'[id])
var _end = LOOKUPVALUE('Call Fact'[EndDateTime],'Call Fact'[id],'Type'[id])
var _diff = IF('Type'[Description] IN {"First Day","Second Day"},DATEDIFF(_start,_end,MINUTE))
return
IF(_diff>480,45,_diff)
Saludos
Jay
@AvPowerBI , No se puede utilizar la segunda tabla de esa forma. Dependiendo de la relación
IF(related('Type'[Description]) EN {"First Day","Second Day"},
DATEDIFF('Call Fact'[StartDateTime], 'Call Fact'[EndDateTime], MINUTE),
IF(DATEDIFF('Call Fact'[StartDateTime], 'Call Fact'[EndDateTime], MINUTE) > 480, 45,
DATEDIFF('Call Fact'[StartDateTime], 'Call Analysis'[EndDateTime], MINUTE)))
O
IF(maxx(relatedtable('Type'),[Descripción]) EN {"First Day","Second Day"},
DATEDIFF('Call Fact'[StartDateTime], 'Call Fact'[EndDateTime], MINUTE),
IF(DATEDIFF('Call Fact'[StartDateTime], 'Call Fact'[EndDateTime], MINUTE) > 480, 45,
DATEDIFF('Call Fact'[StartDateTime], 'Call Analysis'[EndDateTime], MINUTE)))
Además, consulte 4 maneras de copiar datos de una tabla a otra
https://www.youtube.com/watch?v=Wu1mWxR23jU
https://www.youtube.com/watch?v=czNHt7UXIe8