Forum Discussion
DaxTest11 = DATEDIFF('table'[Date/Time Opened],'table'[First Response],MINUTE) devuelve resultados impares
Estoy tratando de devolver el número de minutos que se tarda en responder a un caso. Estoy usando la fórmula: DaxTest11 = DATEDIFF('table'[Date/Time Opened],'table'[First Response],MINUTE) devuelve resultados impares en una nueva columna que agregué al conjunto de datos.
Ejemplo de datos:
Fecha/Hora De Primera Mano
Cálculo de DaxTest11 de respuesta abierta
10/6/2021 11:53:00 AM 10/6/2021 12:04:00 PM 11 11
02/06/2021 11:56:00 AM 02/06/2021 12:18:00 22 22
3/2/2021 4:00:00 PM 3/3/2021 7:58:00 AM 2874 958
Tengo una tonelada de datos aquí y este cálculo funciona bien para la mayoría, pero no para todos los datos. La inconsistencia es lo que es extraño y parece que no puedo entender lo que está mal. Soy bastante nuevo en Power BI y DAX, así que estoy fuera de mi profundidad con esto. Realmente podría usar algo de ayuda ya que estoy en mi 2ª semana de tratar de resolver esto por mi cuenta. A continuación se muestra la información Acerca de Power BI Desktop
Lanzamiento: diciembre de 2021
Versión del producto: 2.100.1401.0 (21.12) (x64)
Versión del sistema operativo: Microsoft Windows NT 10.0.19043.0 (x64 en-US)
Versión de CLR: 4.7 o posterior [Número de versión = 528372]
Modo predeterminado del modelo: Importar
Versión del modelo: PowerBI_V3
Prueba esto:
Mi tiempo para responder =
VAR StartHour = HOUR(SRInsights-SupportCases'[Fecha/Hora abierta]) VAR EndHour = HOUR(SRInsights-SupportCases'[First Response Date]) RETURN
IF (StartHour > 18 && EndHour < 8, [Cualquiera que sea la fórmula que necesite después de las 6PM && antes de las 8AM],
(((DATEDIFF('SRInsights-SupportCases'[Fecha/Hora abierta], 'SRInsights-SupportCases'[Fecha de primera respuesta], MINUTO))))
--Nate
8 Replies
- Syndicate_Admin
Administrator
Si tienes algún pensamiento que pueda probar. Estaría muy agradecido.
Y por favor hágamelo saber si se necesita más información. Esta fue mi primera publicación aquí y no estaba 100% seguro de si la gente aquí prefiere información directa o detallada. Gracias a todos.
- Syndicate_Admin
Administrator
Eso es raro. No puedo reproducir el valor 2874 que describes.
- Syndicate_Admin
Administrator
Es posible que haya encontrado el problema. Recreé la misma información usando una Nueva Medida en lugar de una Nueva Columna y ahora obtengo una respuesta correcta de las filas que he verificado dos veces. Aquí está la fórmula que uso:
My Time to Respond = ((((DATEDIFF('SRInsights-SupportCases'[Date/Time Opened], 'SRInsights-SupportCases'[First Response Date], MINUTE))))
Ahora me pregunto cómo puedo crear una medida a partir de la tabla que me permita probar si el tiempo de apertura es después de las 6 p.m. y el tiempo de resolución es después de las 8 a.m.
¿Alguna idea?
- Syndicate_Admin
Administrator
Prueba esto:
Mi tiempo para responder =
VAR StartHour = HOUR(SRInsights-SupportCases'[Fecha/Hora abierta]) VAR EndHour = HOUR(SRInsights-SupportCases'[First Response Date]) RETURN
IF (StartHour > 18 && EndHour < 8, [Cualquiera que sea la fórmula que necesite después de las 6PM && antes de las 8AM],
(((DATEDIFF('SRInsights-SupportCases'[Fecha/Hora abierta], 'SRInsights-SupportCases'[Fecha de primera respuesta], MINUTO))))
--Nate
- Syndicate_Admin
Administrator
Nate - Gracias. Esto parece muy prometedor. Trabajaré en todas las condiciones posibles y luego probaré esto. Eres increíble. Estoy tan perdido con DEX y Power Query.
Gracias
Kevin
- Syndicate_Admin
Administrator
Nate, estoy teniendo dificultades para tratar de entender cómo usar el VAR.
He intentado usar lo mismo en una columna, así como en una medida, pero siempre obtengo errores de sintaxis.
¿Tendrías un enlace a un tutorial que pueda seguir para entender lo que estoy haciendo mal?
Pido disculpas por no tener una mejor comprensión de Power BI.
¡¡Agradezco tu ayuda seguro!! Gracias
- Syndicate_Admin
Administrator
Hola
Por favor, pruebe siguiendo estos pasos:
Opened_Target = FORMAT('DataExample'[Opened],"dd/MM/aaaa") & " " & TIMEVALUE("18:00:00")Response_Target = FORMAT('DataExample'[Respuesta],"dd/MM/aaaa") & " " & TIMEVALUE("08:00:00")no olvide convertir de Texto a DateTime (desde la columna de la pestaña Herramienta)A continuación, cree estas 2 columnas para la comparación de tiempo- Abierto después de las 6 PM = SWITCH(TRUE(),DataExample[Opened]>= DataExample[Opened_Target], "Opened after 6 PM" ,BLANK())- Respuesta después de las 8 AM = SWITCH(TRUE(),DataExample[Response]>=DataExample[Response_Target] , "Respuesta después de las 8 AM",BLANK())Nota. Utilicé el formato French Date para mi demostración, puedes adaptarte rápidamente
Saludos
tJohn
- Syndicate_Admin
Administrator
tJohn, gracias por ofrecer su experiencia. Tengo algunas cosas que terminar esta mañana y planearé probar esto un poco más tarde. Estoy muy agradecido de que haya ofrecido su experiencia.
Kevin