Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Suma de duración

Hola a todos

bastante nuevo para alimentar bi, e im luchando con la duración del manejo, quiero ser capaz de utilizar la duración total de todas las filas como un valor de suma.

Stuartroberts_0-1618628934522.png

i puede sumar la duración total en segundos y han tratado de agregar los datos vie el uso de DAX

Duración =
Formato de duración
* @konstatinos 1/25/2016
* Dado un número de segundos, devuelve un formato de "hh:mm:ss"
//
Comenzamos con una duración en número de segundos
Duración del VAR = [Segundos]
Hay 3.600 segundos en una hora
Horas VAR =
INT (Duración / 3600)
Hay 60 segundos en un minuto
Actas VAR =
INT ( MOD ( Duración - ( Horas * 3600 ), 3600 ) / 60)
Los segundos restantes son el resto de los segundos divididos por 60 después de restar las horas
Segundos VAR =
ROUNDUP(MOD ( MOD( Duración - ( Horas * 3600 ), 3600 ), 60 ), 0 ) // Redondeamos aquí para obtener un número entero
Estas variables intermedias garantizan que tengamos cero concatenado a un solo dígito
Horas con ceros a la izquierda
VAR H =
IF ( LEN ( Horas ) = 1,
CONCATENAR ( "0", Horas ),
CONCATENAR ( "", Horas )
)
Minutos con ceros a la izquierda
VAR M =
IF (
LEN ( Minutos ) = 1,
CONCATENAR ( "0", Minutos ),
CONCATENAR ( "", Minutos )
)
Segundos con ceros a la izquierda
VAR S =
IF (
LEN ( Segundos ) = 1,
CONCATENAR ( "0", Segundos ),
CONCATENAR ( "", Segundos )
)
Ahora horas de regreso, minutos y segundos con ceros a la izquierda en el formato adecuado "hh:mm:ss"
devolución
CONCATENAR (
h
CONCATENAR ( ":", CONCATENAR ( M, CONCATENAR ( ":", S ) )
)
pero la salida de la columna personalizada no me permitirá establecerlo como suma, ive estado tratando de resolver esto durante aproximadamente 10 horas ahora estoy perdiendo algo como esto parece una tarea tan difícil de resolver que debe ser simple
1 ACCEPTED SOLUTION

No los agregue como una columna en la tabla. Haz que sean sólo medidas.

jdbuchanan71_0-1618635615608.png

A continuación, agregue la medida a un objeto visual junto a EvenName:

jdbuchanan71_1-1618635675396.png

View solution in original post

12 REPLIES 12
Syndicate_Admin
Administrator
Administrator

@jdbuchanan71 gracias por su ayuda,

Syndicate_Admin
Administrator
Administrator

No hagas de esta una columna calcualada, hazla sólo una medida.

Syndicate_Admin
Administrator
Administrator

Full Duration =  
VAR _Seconds = [Duration Seconds]
VAR _Minutes = INT ( DIVIDE ( _Seconds, 60 ) )
VAR _RemainingSeconds = MOD ( _Seconds, 60 )
VAR _Hours = INT ( DIVIDE ( _Minutes, 60 ) )
VAR _RemainingMinutes = MOD ( _Minutes, 60 )

RETURN
    IF (
        NOT ISBLANK ( [Duration Seconds] ),
            FORMAT ( _Hours, "00" ) & ":" & 
            FORMAT ( _RemainingMinutes, "00" ) & ":" & 
            FORMAT ( _RemainingSeconds, "00" )
    )

Si usted hace esta medida le dará una salida que se ve así:

jdbuchanan71_0-1618631249956.png

gracias cuatro su respuesta

Stuartroberts_0-1618631547938.png

esto es lo que obtendo en la pestaña de datos, que es genial, pero tan pronto como arrastre esa columna al valor del gráfico, todavía la establece como recuento, ¿cómo puedo establecer esto en suma?

No lo hagas una columna calcualada, hazla sólo una medida. También necesitará una medida que resuma su 'Tabla'[Segundos].

Duration Seconds = SUM ( 'Table'[Seconds] )

Esto es lo que entra en el VAR firs en la otra medida.

¿Necesito sumar el [período de duración total]?

Total de horas = Sum(Table[Full Duration])

¿La columna Tabla[Segundos] incluye las horas? Supongo que no, sólo tendrías que sumar los segundos.

Debo estar perdiendo algo aquí, simplemente no puedo hacer que esto funcione

así que, sólo para aclarar lo que ive hizo

He creado una columna en la consulta de energía

Segundos = [EndTime]-[StartTime] establece esto en segundos totales

en DAX

Duración Segundos = Suma(Tabla[Segundos])

En DAX

Duración =
VAR _Seconds = [Segundos de duración]
VAR _Minutes = INT ( DIVIDE ( _Seconds, 60 ) )
VAR _RemainingSeconds = MOD ( _Seconds, 60 )
VAR _Hours = INT ( DIVIDE ( _Minutes, 60 ) )
VAR _RemainingMinutes = MOD ( _Minutes, 60 )

devolución
IF (
NOT ISBLANK ( [Segundos] ),
FORMATO ( _Hours, "00" ) & ":" &
FORMATO ( _RemainingMinutes, "00" ) & ":" &
FORMATO ( _RemainingSeconds, "00")
)
pero cuando sueldo la columna de duración para valorarla, la establece como recuento.

No los agregue como una columna en la tabla. Haz que sean sólo medidas.

jdbuchanan71_0-1618635615608.png

A continuación, agregue la medida a un objeto visual junto a EvenName:

jdbuchanan71_1-1618635675396.png

ok, ive verlos como una medida, pero no me permitirá añadirlo al campo de valor en el gráfico

Lo siento, creo que lo entiendo ahora. Desea mostrar los hh:mm:ss en el eje del gráfico, rodeados de rojo a continuación:

jdbuchanan71_0-1618638117275.png

Desafortunadamente, el gráfico solo aceptará números en el valor y no hay una manera de mostrar un formato de duración en el eje. Acerca de lo mejor que podría hacer es agregarlo como información sobre herramientas.

thnak para la respuesta, yeh lo saqué, gracias por su ayuda

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Kudoed Authors