JWE
Hola amigos
Quiero convertir minutos en cosas legibles para los usuarios finales, por ejemplo:
yo tengo 2.480,08 minutos
Quiero formatear esto en duración (pero no en formato de hora) porque el valor es superior a 24 horas.
El resultado debe ser:
1 día 08:22:16
Pero sin VAR, esta ralentización de todas mis visualizaciones, ¿no es así?
¿Cómo proceder?
Gracias de antemano Jorg
JWE
En respuesta a v-shex-msft
Hola, gracias, funciona. ¡Es de esperar que la función VAR funcione lo suficientemente rápido también con big data!
He modificado su DAX, para mostrar los días o no, y el día de trabajo de horas tiene solo 15 horas, por lo que lo divido entre 900 en lugar de 1440.
NOSOTROS Dauer gesamt =
var Etiqueta = INT (Lagerbeleg[WE Dauer in Min] / 900)
var Stunde = INT (MOD (Lagerbeleg[WE Dauer in Min]; 900) / 60)
var Minuto = MOD (MOD (Lagerbeleg[WE Dauer in Min]; 900); 60)
var Sekunde = INT ((Lagerbeleg[WE Dauer in Min] – INT (Lagerbeleg[WE Dauer in Min])) * 60)
regreso
SI (Etiqueta = 0; «»;
IF (Etiqueta> 1; Etiqueta y «Etiqueta»; Etiqueta y «Etiqueta»))
& FORMAT (Stunde; «# 00»)
& «:»
& FORMAT (MINUTE; «# 00»)
& «:» &
FORMATO (Sekunde; «# 00»)
v-shex-msft
Hola @JWE,
Puede intentar usar la fórmula de Belwo si funciona de su lado:
Formato =
var dayNo = INT ([Minutes]/ 1440)
var hora No = INT (MOD ([Minutes], 1440) / 60)
var minutoNO = MOD (MOD ([Minutes], 1440), 60)
var secondNo = INT (([Minutes]-EN T([Minutes])) * 60)
regreso
dayNo & «day» & FORMAT (hourNo, «# 00») & «:» & FORMAT (minuteNO, «# 00») & «:» & FORMAT (secondNo, «# 00»)
Saludos,
Xiaoxin Sheng
Dhrubojit
En respuesta a v-shex-msft
Hola @ v-shex-msft Gracias por esta publicación. ¿Podría ayudarme a hacer la misma consulta un poco personalizada o precisa? .
p.ej
1 día 1:00:00 horas
1 día 00:55:70 Minutos
es decir, si la hora está presente, muestre el sufijo como horas
Si el tiempo es menor, la hora muestra el sufijo como minutos
christianfcbmx
En respuesta a v-shex-msft
Hola @ v-shex-msft, ¿Podrías decirme cómo debería ser esta fórmula si solo quiero horas y minutos?
¡¡¡Agradecería su ayuda por adelantado !!!
Formato =
var dayNo = INT ([Minutes]/ 1440)
var hora No = INT (MOD ([Minutes], 1440) / 60)
var minutoNO = MOD (MOD ([Minutes], 1440), 60)
var secondNo = INT (([Minutes]-EN T([Minutes])) * 60)
regreso
dayNo & «day» & FORMAT (hourNo, «# 00») & «:» & FORMAT (minuteNO, «# 00») & «:» & FORMAT (secondNo, «# 00»)
Anónimo
En respuesta a christianfcbmx
Hola @JWE,
La fórmula DAX mencionada a continuación también funciona para mí. Pero cuando intenté agregar dos filas,
No obtengo el resultado deseado porque el valor se toma como Primero o Último o Contar pero no Suma Como se menciona abajo.
PD: Estoy usando Impala como mi fuente de datos.
¿Puedes ayudarme a conseguir esto?
Gracias,
Akhil.
JWE
En respuesta a Anónimo
Hola Akhil
lo siento pero no tengo ni idea. Solo trabajo con DAX en la medida y visualizo los resultados sin usar más funciones de campo. En este caso obtengo la suma correcta.
Saludos Jorg
Anónimo
En respuesta a JWE
Hola @JWE,
¡Gracias por su respuesta!
¿Puedo hacer que la misma fórmula funcione con la medida en lugar de crear una nueva columna usando el DAX a continuación?
Time_Format =
var dayNo = INT ([time]/ 1440)
var hora No = INT (MOD ([time], 1440) / 60)
var minutoNO = MOD (MOD ([time], 1440), 60)
var secondNo = INT (([lingertime]-EN T([time])) * 60)
regreso
dayNo & «day» & FORMAT (hourNo, «# 00») & «:» & FORMAT (minuteNO, «# 00») & «:» & FORMAT (secondNo, «# 00»)
Gracias,
Akhil.
JWE
En respuesta a Anónimo
Sí, creo que sí, pero sabes que la medida no es lo mismo que la columna calculada.
Por debajo de la medida que utilicé:
NOSOTROS Dauer gesamt =
var Etiqueta = INT (Lagerbeleg[Hilfsmeasure WE Dauer in Min] / 900)
var Stunde = INT (MOD (Lagerbeleg[Hilfsmeasure WE Dauer in Min] ; 900) / 60)
var Minuten = INT (MOD (MOD (Lagerbeleg[Hilfsmeasure WE Dauer in Min] ; 900); 60))
var Sekunde = INT ((Lagerbeleg[Hilfsmeasure WE Dauer in Min]
– INT (Lagerbeleg[Hilfsmeasure WE Dauer in Min] )) * 60)
regreso
SI (Etiqueta = 0; «»;
IF (Etiqueta> 1; Etiqueta y «Etiqueta»; Etiqueta y «Etiqueta»))
& FORMAT (Stunde; «# 00»)
& «:»
& FORMAT (Minuten; «# 00»)
dentro de esto usé:
Hilfsmeasure WE Dauer en Min =
SUMX (FILTRO (
Lagerbeleg;
Lagerbeleg[Startdatum] = Lagerbeleg[Endedatum]
&& Lagerbeleg[Endezeit] = Lagerbeleg[MaxEndeZeit]
&& Lagerbeleg[LagerPosNr] = 1);
Lagerbeleg[Yakar Dauer Min gesamt])
+ (SUM (Lagerbeleg[Hilfsspalte WE > 1 T Sum]))
& «:» &
FORMATO (Sekunde; «# 00»)
Anónimo
En respuesta a JWE
Hola Jorg @JWE,
Lo siento, no entiendo el DAX mencionado a continuación. ¿Me pueden enviar en inglés sencillo (inglés de EE. UU.)?
NOSOTROS Dauer gesamt =
var Etiqueta = INT (Lagerbeleg[Hilfsmeasure WE Dauer in Min] / 900)
var Stunde = INT (MOD (Lagerbeleg[Hilfsmeasure WE Dauer in Min] ; 900) / 60)
var Minuten = INT (MOD (MOD (Lagerbeleg[Hilfsmeasure WE Dauer in Min] ; 900); 60))
var Sekunde = INT ((Lagerbeleg[Hilfsmeasure WE Dauer in Min]
– INT (Lagerbeleg[Hilfsmeasure WE Dauer in Min] )) * 60)
regreso
SI (Etiqueta = 0; «»;
IF (Etiqueta> 1; Etiqueta y «Etiqueta»; Etiqueta y «Etiqueta»))
& FORMAT (Stunde; «# 00»)
& «:»
& FORMAT (Minuten; «# 00»)
dentro de esto usé:
Hilfsmeasure WE Dauer en Min =
SUMX (FILTRO (
Lagerbeleg;
Lagerbeleg[Startdatum] = Lagerbeleg[Endedatum]
&& Lagerbeleg[Endezeit] = Lagerbeleg[MaxEndeZeit]
&& Lagerbeleg[LagerPosNr] = 1);
Lagerbeleg[Yakar Dauer Min gesamt])
+ (SUM (Lagerbeleg[Hilfsspalte WE > 1 T Sum]))
& «:» &
FORMATO (Sekunde; «# 00»)
También estoy pensando, ¿podemos convertir el siguiente DAX a SQL?
Time_Format =
var dayNo = INT ([time]/ 1440)
var hora No = INT (MOD ([time], 1440) / 60)
var minutoNO = MOD (MOD ([time], 1440), 60)
var secondNo = INT (([lingertime]-EN T([time])) * 60)
regreso
dayNo & «day» & FORMAT (hourNo, «# 00») & «:» & FORMAT (minuteNO, «# 00») & «:» & FORMAT (secondNo, «# 00»)
Gracias,
Akhil.
christianfcbmx
En respuesta a v-shex-msft
Hola … Soy Christián y creo que necesito algo así …! mi pregunta es si puede sumar esa columna. por ejemplo: 4 días; 8: 59 + 2 días: 3: 01 obteniendo como resultado = 6 días: 12: 00?
JWE
En respuesta a christianfcbmx
Hola
sí, después de calcular la suma (como la medida anterior, o algo más), y luego utilicé una segunda medida para mostrar los días y también las horas.
NOSOTROS Dauer (Zeit) =
SI (
[Einl Dauer Sum] > 0;
FORMATO (INT ( [Einl Dauer Sum] / (24/1 * 15)); «# 00T»)
& FORMATO (MOD ( [Einl Dauer Sum]; (1/24 * 15)); «HH: MM: SS»)
)
(En este caso utilizo 15, porque nuestros días laborables no son 24 horas, solo 15 horas).
JWE
En respuesta a v-shex-msft
Hola, gracias, funciona. Ojalá la función VAR ¡Funciona lo suficientemente rápido también con big data!
He modificado su DAX, para mostrar los días o no, y el día de trabajo de horas tiene solo 15 horas, por lo que lo divido entre 900 en lugar de 1440.
NOSOTROS Dauer gesamt =
var Etiqueta = INT (Lagerbeleg[WE Dauer in Min] / 900)
var Stunde = INT (MOD (Lagerbeleg[WE Dauer in Min]; 900) / 60)
var Minuto = MOD (MOD (Lagerbeleg[WE Dauer in Min]; 900); 60)
var Sekunde = INT ((Lagerbeleg[WE Dauer in Min] – INT (Lagerbeleg[WE Dauer in Min])) * 60)
regreso
SI (Etiqueta = 0; «»;
IF (Etiqueta> 1; Etiqueta y «Etiqueta»; Etiqueta y «Etiqueta»))
& FORMAT (Stunde; «# 00»)
& «:»
& FORMAT (MINUTE; «# 00»)
& «:» &
FORMATO (Sekunde; «# 00»)