Jorgast
Hola a todos,
Soy nuevo en Power BI y estoy tratando de resolver este problema. tengo un campo llamado [talk time] en Excel que es formato H:MM SS. Llevé los datos a Power BI y cambié el formato a HH:MM SS. Lo que estoy tratando de hacer es sumar el [talk time] datos. Cuando solo uso el DAX de «SumTalkTime =Sum(TableName[talk time])” entonces obtengo 4:45:01 cuando debería ser 28:45:01. ¿Cómo hago para que Power BI muestre la suma correcta en el formato HH:MM SS?
Una vez que lo hago, tengo más columnas que tienen el mismo formato. Si quisiera agregar [SumTalkTime] a otra columna sumada llamémosla [SumTalk2], ¿simplemente usaría =Sum(SumTalkTime+ SumTalk2)”
Mientras miraba el foro, traté de sumar el tiempo de conversación usando solo la función de suma normal. Luego traté de regresar para cambiarlo al formato de hora que necesito usando la fórmula DAX a continuación y obtengo un error de conversión.
TT revisado = (IZQUIERDA(‘Resumen del estado del agente'[SumTalkTime],FIND(«:»,’Resumen de estado del agente'[SumTalkTime])-1)*60+RIGHT(‘Resumen de estado del agente'[SumTalkTime],LEN(‘Resumen de estado del agente'[SumTalkTime])-FIND(«:»,’Resumen de estado del agente'[SumTalkTime]))*1)/60
No se puede convertir el valor ’31/12/1899 12′ para escribir texto para escribir número
Aquí hay algunos datos de ejemplo
Tiempo de conversación |
hablar 2 |
TOTAL |
4:11:37 |
4:11:37 |
8:23:14 |
3:41:17 |
3:41:17 |
7:22:34 |
4:02:22 |
4:02:22 |
8:04:44 |
5:24:39 |
5:24:39 |
10:49:18 |
3:47:59 |
3:47:59 |
7:35:58 |
2:54:36 |
2:54:36 |
5:49:12 |
4:42:31 |
4:42:31 |
9:25:02 |
28:45:01 |
28:45:01 |
57:30:02 |
Jorgast
Gracias por las respuestas,
He probado una fórmula DAX que parece funcionar.
SumaTiempoConversación =
VAR TotalSeconds=SUMX(‘Nombre de tabla’,HORA(‘Nombre de tabla'[Column])*3600+MINUTO(‘Nombre de la tabla'[Column])*60+SEGUNDO(‘Nombre de la tabla'[Column]))
VAR Días =TRUNC(TotalSeconds/3600/24)
VAR Hors = TRUNC((TotalSeconds-Days*3600*24)/3600)
VAR Minutos =TRUNC(MOD(TotalSeconds,3600)/60)
VAR Segundos = MOD(TotalSeconds,60)
return SI(DÍAS=0,»»,»SI(DÍAS>1,DÍAS&»días «,Días&»día»))&SI(Hor<10,"0"&Hor,Hor)&":"&IF(Mins<10, "0"&Mins,Mins)&":"&IF(Secs<10,"0"&Secs,Secs)
MR84
También soy muy nuevo en Power Bi y me siento realmente fuera de mi profundidad tbh.
Estoy buscando algo muy similar a esto con una adición, quiero un total por mes / día, no solo un gran total.
Intenté las nuevas medidas (medidas rápidas) y simplemente parecen hacer un CountA en lugar de hacer una SUMA de los datos.
Cualquier ayuda sería apreciada y en términos ficticios. 😀
Jorgast
En respuesta a MR84
@MR84
Sin saber qué datos tiene, diría que lo más fácil es hacer todos los cálculos en segundos y luego convertirlos de segundos a tiempo. Eso ha sido lo que me funciona. Según lo que está buscando, desea hacer una matriz visual y tener Mes / Fecha como sus filas y el Formato (suma (tiempo en segundos) / 86400, «HH: MM: SS»). Power BI tiene algunos buenos tutoriales sobre los conceptos básicos de las imágenes, pero hay un montón de videos de Youtube por ahí.
espero que esto ayude
Divertirse
Bienvenido a Power BI
mgmenon
Hola @Jorgast,
Usé el DAX como se sugiere en esta publicación para resolver mi problema con la duración. Sin embargo, en la visualización de tabla o matriz cuando selecciono la duración total en orden ascendente/descendente, la duración del valor más alto aparece entre otras columnas en lugar de al final (ascendente) o al inicio (descendente). ¿Alguna idea de cómo colocar este valor en el orden de clasificación adecuado?
Duración total =
VAR TotalSeconds= SUMX(‘Total de llamadas-Mensual’,HOUR(‘Total de llamadas-Mensual'[Duration])*3600+MINUTO(‘Total de llamadas-Mensual'[Duration])*60+SEGUNDO(‘Total de llamadas-Mensual'[Duration]))
VAR Días =TRUNC(TotalSeconds/3600/24)
VAR Hors =TRUNC((TotalSeconds-Days*3600*24)/3600)
VAR Minutos =TRUNC(MOD(TotalSeconds,3600)/60)
VAR Segundos =MOD(TotalSegundos,60)
return IF((Horas + (Días*24))<10,"0"&(Horas + (Días*24)),(Horas + (Días*24)))&":"&SI(Mins<10," 0"&Mins,Mins)&":"&IF(Secs<10,"0"&Secs,Secs)
Jorgast
En respuesta a mgmenon
@mgmenon
Si tiene una columna de segundos totales, probablemente sea lo más fácil.
bsmcfaden
¿Cómo puedo convertir los días de vuelta para mostrar solo en horas: minutos: segundos? ¿Básicamente convertir mis 8 días en horas?
Quiero que se muestre – 200:00:08
Jorgast
Gracias por las respuestas,
He probado una fórmula DAX que parece funcionar.
SumaTiempoConversación =
VAR TotalSeconds=SUMX(‘Nombre de tabla’,HORA(‘Nombre de tabla'[Column])*3600+MINUTO(‘Nombre de la tabla'[Column])*60+SEGUNDO(‘Nombre de la tabla'[Column]))
VAR Días =TRUNC(TotalSeconds/3600/24)
VAR Hors = TRUNC((TotalSeconds-Days*3600*24)/3600)
VAR Minutos =TRUNC(MOD(TotalSeconds,3600)/60)
VAR Segundos = MOD(TotalSeconds,60)
return SI(DÍAS=0,»»,»SI(DÍAS>1,DÍAS&»días «,Días&»día»))&SI(Hor<10,"0"&Hor,Hor)&":"&IF(Mins<10, "0"&Mins,Mins)&":"&IF(Secs<10,"0"&Secs,Secs)
gteibo
En respuesta a Jorgast
¡Hola!
¿podría decirme cuál es su tipo de datos en esta columna?
Jorgast
En respuesta a gteibo
@gteibo
Para mí, los datos llegaron en segundos como un número entero.
elads
En respuesta a Jorgast
Corto y fácil, bien hecho.
Gracias 🙂
elads
En respuesta a elads
Corto y fácil, bien hecho.
Gracias @jorgast 🙂
nikhilmanohar
En respuesta a Jorgast
Tengo una situación similar pero con un cambio. Una de las columnas tiene un valor negativo. Su fórmula funcionó para 2 columnas pero dio un error para la columna de valor negativo. ¿Algúna idea de cómo arreglar esto?
Jorgast
En respuesta a nikhilmanohar
@nikhilmanohar
Sé que esto puede sonar muy básico, pero simplemente crearía una columna separada que verifique los valores negativos. Algo así como -IF(Tabla[Column] < 0, Tabla[Column]*-1, Tabla[Column])
Anónimo
Power BI no maneja la duración como un tipo de datos en este momento. Vea esta publicación para una discusión y una muestra de DAX (para PROMEDIO en lugar de SUMA) que maneja duraciones importadas: https://community.powerbi.com/t5/Desktop/Format-the-average-of-a-duration/td-p /95322
Y vote para mejorar esto aquí: https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/8814178-field-of-duration-type
Matt Allington
En respuesta a Anónimo
Puede hacer esto en Power Query (Obtener datos) agregando una columna personalizada y convirtiendo su tiempo en horas decimales
= Hora.Hora([TimeColumn]) + Hora.Minuto([TimeColumn])/24)
DorotaS
En respuesta a Matt Allington
hola, gracias por esta idea, solo para informarle que para obtener el cálculo correcto del tiempo, debe dividir los minutos entre 60 y luego obtendrá los números decimales correctos, es decir. = Hora.Hora([TimeColumn]) + Hora.Minuto([TimeColumn])/60)