Convertir días decimales a días: hrs: min

Un usuario Pregunto ✅

icdns

Hola

Necesita su ayuda para convertir mis días decimales a este formato (Días Horas Min)

¿Es posible?

Ejemplos:

– 1.5 sería «1 día 12 horas»
– 0.25 sería «0 día 6 horas»

¡Gracias! 🙂

En respuesta a icdns

@icdns
Fecha en el texto2
VAR DecimalDateCheck IF (CONTAINSSTRING (‘Artículo'[Decimal Date], «.»), «Y», «N»)
VAR DateIntegerPartTM TRUNC (‘Artículo'[Decimal Date]) // 1
VAR DateDecimalPartTM RIGHT (‘Artículo'[Decimal Date], LEN (‘Artículo'[Decimal Date]) -SEARCH («.», ‘Elemento'[Decimal Date],, 0)) // 2
Días de VAR – CONCATENATE (DateIntegerPart, IF (DateIntegerPart? 1, «Día», «Días»)) // 1 Día
VAR DecimalHours – DIVIDE (DateDecimalPart, 10) * 24 //4.8
VAR DecimalHourCheck IF (CONTAINSSTRING (DecimalHours, «.»), «Y», «N»)
Horas de VAR – CONCATENAR (TRUNC (DecimalHours), «Horas») // 4
VAR HourDecimalPart? DERECHA (DecimalHours, LEN (DecimalHours) -SEARCH («.», DecimalHours ,, 0)) // 8
Minutos VAR – CONCATENAR (TRUNC (DIVIDE (HourDecimalPart, 10) * 60), «Minutos») // 48
Devolver IF (DecimalDateCheck «N», CONCATENATE (‘Item'[Decimal Date], «Días»), IF (DecimalHourCheck «N», CONCATENAR (Días, Horas), CONCATENAR (CONCATENAR (Días, Horas), Minutos)))
Captura de pantalla del resultado aquí:Captura de pantalla 2020-10-13 215840.png

Aquí están las fórmulas para La fecha en días y horas. Lo mismo se puede replicar para Minutes también.

Fecha en el texto?
VAR IntegerPartTM Trunc (‘Artículo'[Decimal Date])
VAR DecimalPartTM DERECHA (‘Elemento'[Decimal Date], LEN (‘Artículo'[Decimal Date]) -SEARCH («.», ‘Elemento'[Decimal Date]))
Días de VAR – CONCATENAR (IntegerPart, «Días»)
Horas de VAR – CONCATENAR (DIVIDE (DecimalPart, 10) * 24, «Horas»)
Devolver CONCATENADO (Días, Horas)

icdns

En respuesta a Megha166

Hola @ Megha166,

Intenté crear una columna, pero encontré un error a continuación: ¿qué significa? 🙂

icdns_0-1602651076203.png

¡Gracias!

En respuesta a icdns

Captura de pantalla 2020-10-13 215840.pngEsta es la solución completa con código Minutes también. Y su fone de trabajo para mí. Arriba está la captura de pantalla de resultados. ¿Cuál es el tipo de datos de la columna Fecha? ¿Puede compartir la captura de pantalla de los datos y el error?

@icdns escribió:

Hola @ Megha166,

Intenté crear una columna, pero encontré un error a continuación: ¿qué significa? 🙂

icdns_0-1602651076203.png

¡Gracias!


icdns

En respuesta a Megha166

Hola, @ Megha166,

Mi fecha decimal está en tipo de datos decimales 🙂 también es posible?

¡Gracias!

En respuesta a icdns

Por favor, envíe la captura de pantalla o comprobar si la captura de pantalla anterior ayuda?

icdns

En respuesta a Megha166

Hola @ Megha166,

Estoy recibiendo este error. a continuación se muestra la captura de pantalla:

mi MÁXIMOS DÍAS DE PROCESAMIENTO DE QUEJAS está en FORMATO DECIMAL.

icdns_1-1602652303638.png

¡Gracias! 🙂

icdns

En respuesta a icdns

Hola @ Megha166,

Entiendo .. estos son los datos de muestra:

Es un poco raro .. también tiene un «.»

icdns_1-1602652478698.png

En respuesta a icdns

Veo que hay tantos valores como 0 (SIN decimal). Estos valores están generando el error. Dame alguna vez. Permítanme manejar estos escenarios también en el código DAX.

icdns

En respuesta a Megha166

¡¡¡Muchas gracias!!! @ Megha166

En respuesta a icdns

@icdns
Fecha en el texto2
VAR DecimalDateCheck IF (CONTAINSSTRING (‘Artículo'[Decimal Date], «.»), «Y», «N»)
VAR DateIntegerPartTM TRUNC (‘Artículo'[Decimal Date]) // 1
VAR DateDecimalPartTM RIGHT (‘Artículo'[Decimal Date], LEN (‘Artículo'[Decimal Date]) -SEARCH («.», ‘Elemento'[Decimal Date],, 0)) // 2
Días de VAR – CONCATENATE (DateIntegerPart, IF (DateIntegerPart? 1, «Día», «Días»)) // 1 Día
VAR DecimalHours – DIVIDE (DateDecimalPart, 10) * 24 //4.8
VAR DecimalHourCheck IF (CONTAINSSTRING (DecimalHours, «.»), «Y», «N»)
Horas de VAR – CONCATENAR (TRUNC (DecimalHours), «Horas») // 4
VAR HourDecimalPart? DERECHA (DecimalHours, LEN (DecimalHours) -SEARCH («.», DecimalHours ,, 0)) // 8
Minutos VAR – CONCATENAR (TRUNC (DIVIDE (HourDecimalPart, 10) * 60), «Minutos») // 48
Devolver IF (DecimalDateCheck «N», CONCATENATE (‘Item'[Decimal Date], «Días»), IF (DecimalHourCheck «N», CONCATENAR (Días, Horas), CONCATENAR (CONCATENAR (Días, Horas), Minutos)))
Captura de pantalla del resultado aquí:Captura de pantalla 2020-10-13 215840.png

icdns

En respuesta a Megha166

Hola @ Megha166,

¡Guau esto es genial! He probado la lógica (Fecha en el texto 2) columna .. pero se produce resaltado ..

por cierto, el máximo de la MAX_FORMAT es el correcto. ¿Puedo convertir el 996722222223 a solo 9 horas? 🙂

¡¡Muchas gracias!! Lo siento, soy muy nuevo en powerbi

icdns_1-1602655067299.png

En respuesta a icdns

@icdns

Por favor, dame la fecha exacta de entrada que está dando este gran 9999 ***** horas. Además, por favor, Dar Kudos a las respuestas si están ayudándole a 🙂

icdns

En respuesta a Megha166

Muchas gracias por la ayuda !! 😄 Para el resaltado 9996xxxxxxx, vino de medida (max_complaint_processing_date):

icdns_0-1602655671597.png

En respuesta a icdns

@icdns Megha166_0-1602656497438.png

Debe dar el cálculo completo si esa es la fecha de entrada. El código superior simplemente se truncaría para obtener el primer carácter de las horas (aquí 9).

En respuesta a Megha166

Márquelo resuelto si esto resuelve su pregunta.

icdns

En respuesta a Megha166

Trataré de explorar más sobre esto. Realmente una gran ayuda!

¡Gracias! @ Megha166

En respuesta a icdns

No hay problema de heno. Publique el problema de nuevo si todavía encuentra algún problema. Etiquetame a mí también. 🙂

icdns

En respuesta a icdns

Hola @ Megha166,

¿Sus días decimales están en tipo de datos Decimal?

En respuesta a Megha166

¿Puedes darme la fecha exacta que estás usando?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *