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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Cálculo de las diferencias de fecha y hora

Tengo los siguientes datos en una tabla SQL. Hay numerosas identificaciones de estación y cada identificación de estación tiene numerosos escaneos por día. Me gustaría poder obtener el primer y último escaneo de cada día y calcular las horas entre esas 2 veces para obtener la cantidad de tiempo que una máquina estuvo funcionando. Sé cómo obtener esta información a nivel diario. El problema que tengo es que si miro una semana, un mes o un año en un visual, está teniendo en cuenta todo el tiempo de inactividad, básicamente solo tomando el primer escaneo al comienzo de la semana o mes y el escaneo final y calculando la diferencia que tiene en cuenta el tiempo de inactividad. ¿Hay alguna manera de sumar partes de fecha o algo más que pueda evitar este problema?

Dane_0-1652212582120.png

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Hola

¡Ayuda necesaria!

Tengo más o menos la misma pregunta y la solución anterior no está funcionando para mí. Tengo varias líneas durante varios días con múltiples puntos de datos a lo largo de cada día. A continuación se muestra una muestra, pero la real tiene miles de puntos de datos....

Simplemente hablando: necesito calcular las horas de trabajo por día

Actualmente tengo mis datos filtrados a "este día" y solo tomo el fechado de fecha mínima y máxima para cada línea.

Sin embargo, necesito poder cambiar el rango de fechas para que las horas de trabajo se calculen encontrando la primera y la última vez en una línea cada día y haciéndolo para cada día dentro del rango de fechas.

¡Cualquier ayuda sería increíble! ! ¡¡gracias!!

LíneaFecha

1

2022-09-20 7:30
1

2022-09-20 15:30
1

2022-09-19 8:30
1

2022-09-19 16:30
22022-09-20 7:30
2

2022-09-20 15:30
2

2022-09-19 8:30
2

2022-09-19 16:30
32022-09-20 6:30
3

2022-09-20 15:30
3

2022-09-19 6:30
3

2022-09-19 16:30

Syndicate_Admin
Administrator
Administrator

@Dane

¿Puedo preguntarle si su problema ha sido resuelto? ¿Te ayudó la publicación anterior de TheoC? Si alguna de las publicaciones es útil, considere Aceptarla como una solución para ayudar a otros miembros a encontrarla más rápido. ¡Muchas gracias!

Si esto no funciona para usted, ¿le importaría proporcionar algunos datos que no contengan información privada?

Hace que sea más fácil darle una solución.

  1. Ejemplo (conjunto de datos ficticio) como texto, utilice la herramienta tabla en la barra de edición
  2. Resultado esperado de los datos de muestra
  3. Explicación en palabras de cómo llegar desde 1. a 2.

Cómo proporcionar datos de ejemplo en el foro de Power BI

Cómo obtener respuestas a su pregunta rápidamente

Saludos
Gao

Equipo de soporte de la comunidad

Si hay alguna publicación que ayude, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente. Si no entiendo bien sus necesidades o todavía tiene problemas, no dude en hacérnoslo saber. ¡Muchas gracias!

Cómo obtener respuestas rápidas a sus preguntas -- Cómo proporcionar datos de muestra

Tengo la misma pregunta y la solución proporcionada parece mirar solo la fecha mínima y máxima, por lo que aún incluye el tiempo de inactividad. Utilizo una cortadora para cambiar el marco de tiempo de un día a 20 días a 380 días (cualquier cantidad de días) y necesito las horas de trabajo para cada día específico y luego sumar todas.

Syndicate_Admin
Administrator
Administrator

¿ @Dane

Hay algunas maneras de lograr esto. En última instancia, lo siguiente le dará el siguiente resultado:

TheoC_1-1652224536738.png

Lo he dividido en los siguientes pasos solo para permitirle seguir:

1. Columna calculada para devolver el Max DateTime por ID de estación:

_MaxDateTimebyStationID = 

DÓNDE _StationID = 'Tabla'[ID de estación]
DÓNDE _MaxDateTime = MAXX ( FILTRO ( TODO ( 'Tabla' ) , 'Tabla'[ID de estación] = _StationID ) , 'Tabla'[DateTime] )

DEVOLUCIÓN

_MaxDateTime

2. Columna calculada para devolver el Min DateTime por ID de estación:

_MinDateTimebyStationID = 

DÓNDE _StationID = 'Tabla'[ID de estación]
DÓNDE _MinDateTime = BRIBONA ( FILTRO ( TODO ( 'Tabla' ) , 'Tabla'[ID de estación] = _StationID ) , 'Tabla'[DateTime] )

DEVOLUCIÓN

_MinDateTime

3. Columna calculada para devolver la Duración de varianza en HH:MM:SS:

_TimeVariance (HHMMSS) = «Tabla»[_MaxDateTimebyStationID] - «Tabla»[_MinDateTimebyStationID]

En la vista tabular, verá la salida como:

TheoC_0-1652224490801.png

Cuando agrega una tabla en la vista de lienzo, simplemente puede agregar el ID de estación y arrastrar la columna _TimeVariance (HHMMSS) y obtener lo siguiente:

TheoC_1-1652224536738.png

También he adjuntado el archivo PBIX para ayudar aún más 🙂

¡Espero que esto ayude!

De acuerdo con 🙂

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Power BI Monthly Update - May 2024

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