Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount.
Register nowThe Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.
Buenos días
Tengo un problema con el cálculo del tiempo en Power BI. En mi caso, he determinado el plazo de producción para varios pedidos y lo he almacenado en una columna de tabla con el formato de tiempo "hh:mm:ss". Cada uno de los pedidos tiene una cantidad diferente, por lo que mi siguiente paso es calcular el tiempo de producción por unidad.
Mi enfoque para esto es:
Time per Unit = SUM('Production Orders'[Production Time])/SUM('Production Orders'[Quantity])
Sin embargo, el resultado es incorrecto. También he intentado guardar el tiempo de entrega en formato decimal, pero el resultado sigue siendo el mismo. La solución debería ser 00:00:55, pero el resultado que obtengo es 19:52:07.
Tal vez alguien tenga una idea de dónde podría estar mi error.
Se adjunta un archivo de muestra.
Orden | Cantidad | Tiempo de producción |
1 | 2 | 00:03:10 |
2 | 3 | 00:02:05 |
3 | 4 | 00:04:52 |
4 | 2 | 00:01:44 |
5 | 4 | 00:02:36 |
6 | 2 | 00:02:16 |
¡Gracias!
Hola @timbckr812
No puedo replicar el resultado esperado utilizando los datos de la muestra, incluso si el tiempo por unidad se evalúa por separado para cada pedido y luego se suma en la fila total, pero definitivamente no obtengo 19:52:07
Se adjunta el pbix de muestra utilizado en la captura de pantalla.
En primer lugar, gracias por su respuesta 🙂
Esta es mi solución. Tan pronto como formateo la hora como un número decimal, obtengo resultados que difieren de los suyos. Siempre hay un "1" antes del punto decimal, ¿podría ser ese el problema? ¿Cómo soluciono eso?
¿Un pedido es equivalente a un solo registro en sus datos o hay varios registros involucrados? Si hay varios registros que no están en su descripción, esa es la única razón que se me ocurre por la que su suma está sobreestimada.
Yes ist equvalente a un solo registro. Importo los archivos de un archivo de Excel, donde el tiempo de producción se almacena en formato de tiempo. Tan pronto como cargo los datos en Power BI y, a continuación, los convierto en un número decimal, obtengo el "1" antes del punto decimal. Por favor, vea las imágenes adjuntas.
Lo tengo ahora, el tipo de importación era datetime y no time, como se ve en la imagen. ¡¡Mal mío gracias!!
Hola @timbckr812 ,
Puedes probar a continuación dax :
Tiempo por unidad =
VAR MinutosTotales = SUMX(
'Órdenes de fabricación',
HOUR('Órdenes de fabricación'[Tiempo de producción]) * 60 +
MINUTE('Órdenes de fabricación'[Tiempo de producción]) +
SECOND('Órdenes de fabricación'[Tiempo de producción]) / 60
)
VAR CantidadTotal= SUMA('Órdenes de Producción'[Cantidad])
VAR MinutosPorUnidad = TotalMinutos / CantidadTotal
DEVOLUCIÓN
TIME(INT(MinutesPerUnit / 60), INT(MOD(MinutesPerUnit, 60)), 0)
Bien
¡Funciona perfecto, gracias!
Hola @timbckr812 - Primero, convierta el tiempo de producción a un valor numérico, es decir, segundos, para garantizar una suma adecuada.
Cree una medida de la siguiente manera;
Tiempo de producción por unidad =
VAR TotalTimeSeconds = SUMX('Órdenes de producción',
(HORA('Órdenes de fabricación'[Tiempo de producción]) * 3600) +
(MINUTE('Órdenes de fabricación'[Tiempo de producción]) * 60) +
SECOND('Órdenes de fabricación'[Tiempo de producción]))
VAR CantidadTotal= SUMA('Órdenes de Producción'[Cantidad])
VAR TimePerUnitSeconds = TotalTimeSeconds / TotalQuantity
DEVOLUCIÓN
FORMAT(TIME(0,0,TimePerUnitSeconds), "hh:mm:ss")
Suma el tiempo total de producción en segundos y divídelo por la cantidad total. Por favor, compruebe lo anterior y háganoslo saber.