Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
Estoy usando una tabla de Excel que tiene una columna Tiempo invertido con formato Custom h:mm:ss. Cuando tiro esto en PowerBI, e intento mostrar la duración total usando el visual de la tarjeta, obteré el siguiente resultado. No suma la duración total. Vi una publicación para crear una columna personalizada y restar una fecha determinada (1899,12,31) para obtener la duración -- que tampoco funcionó.
Solved! Go to Solution.
Hay @creynolds,
Puede utilizar measure.
La columna calculada no cambiará según la selección de la segmentación de datos.
1. Crear medida.
SumTime_meausre =
VAR TotalSeconds =
SUMX(
'IT Productivity Measurements',
HOUR( 'IT Productivity Measurements'[Time Spent] ) * 3600
+ MINUTE( 'IT Productivity Measurements'[Time Spent] ) * 60
+ SECOND( 'IT Productivity Measurements'[Time Spent] )
)
VAR Days = TRUNC( TotalSeconds/3600/24)
VAR Hors = TRUNC( (TotalSeconds-Days*3600*24 )/3600 )
VAR Mins = TRUNC( MOD( TotalSeconds,3600 )/60 )
VAR Secs = MOD( TotalSeconds, 60 )
RETURN
IF(DAYS=0,"",IF(DAYS>1,DAYS&"days ",Days&"day"))&IF(Hors<10,"0"&Hors,Hors)&":"&IF(Mins<10,"0"&Mins,Mins)&":"&IF(Secs<10,"0"&Secs,Secs)
2. Resultado:
Saludos
Liu Yang
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hay @creynolds,
Puede utilizar measure.
La columna calculada no cambiará según la selección de la segmentación de datos.
1. Crear medida.
SumTime_meausre =
VAR TotalSeconds =
SUMX(
'IT Productivity Measurements',
HOUR( 'IT Productivity Measurements'[Time Spent] ) * 3600
+ MINUTE( 'IT Productivity Measurements'[Time Spent] ) * 60
+ SECOND( 'IT Productivity Measurements'[Time Spent] )
)
VAR Days = TRUNC( TotalSeconds/3600/24)
VAR Hors = TRUNC( (TotalSeconds-Days*3600*24 )/3600 )
VAR Mins = TRUNC( MOD( TotalSeconds,3600 )/60 )
VAR Secs = MOD( TotalSeconds, 60 )
RETURN
IF(DAYS=0,"",IF(DAYS>1,DAYS&"days ",Days&"day"))&IF(Hors<10,"0"&Hors,Hors)&":"&IF(Mins<10,"0"&Mins,Mins)&":"&IF(Secs<10,"0"&Secs,Secs)
2. Resultado:
Saludos
Liu Yang
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hay @creynolds,
El total al que se refiere no ha cambiado, si agrega la función all() a la medida para excluir otros grupos y juzga si la relación entre la tabla y la tabla es correcta.
¿Puede compartir datos de ejemplo y salida de ejemplo en formato de tabla? O un pbix de ejemplo después de eliminar datos confidenciales. Si es realmente inconveniente, el uso compartido de medidas también es posible.
Saludos
Liu Yang
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
https://app.box.com/s/13r54y783ayrre0kpqa5qcjk7p4h04uw
https://app.box.com/s/q1pox9f53qa7cb5sx59lqb3260i716sj
Arriba está la tabla de Excel y el gráfico de PowerBI. El cuadro Duración total del gráfico PBI no cambia la Duración total cuando selecciono uno o varios técnicos. Siempre muestra 2 días 03:32:00. El ejemplo anterior anterior en la publicación es el original. He recortado el contenido con el fin de compartir estos datos.
Estos son los pasos que puede seguir:
1. Crea meausre.
datediff = DATEDIFF(0,MAX('Table'[Time Spent]),SECOND)
sum =
SUMX(ALL('Table'),[datediff])
2. Resultado:
Saludos
Liu Yang
Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hey @creynolds ,
asegúrese de que la columna que menciona está en el formato:
A continuación, puede utilizar la solución de esa publicación para calcular la duración:
SumTime =
VAR TotalSeconds =
SUMX(
'Table Name',
HOUR( 'Table Name'[Column] ) * 3600
+ MINUTE( 'Table Name'[Column] ) * 60
+ SECOND( 'Table Name'[Column] )
)
VAR Days = TRUNC( TotalSeconds/3600/24)
VAR Hors = TRUNC( (TotalSeconds-Days*3600*24 )/3600 )
VAR Mins = TRUNC( MOD( TotalSeconds,3600 )/60 )
VAR Secs = MOD( TotalSeconds, 60 )
RETURN
IF(DAYS=0,"",IF(DAYS>1,DAYS&"days ",Days&"day"))&IF(Hors<10,"0"&Hors,Hors)&":"&IF(Mins<10,"0"&Mins,Mins)&":"&IF(Secs<10,"0"&Secs,Secs)
Gracias a ambos por los comentarios. Ahora tengo lo siguiente, que los totales no cambian al seleccionar diferentes técnicos.
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.