vincenardo
Tengo un campo de fecha / hora procedente de una conexión con Salesforce. La fecha / hora se almacena en UTC y necesito transformarla a PST (nuestra hora local).
Intenté editar la consulta y ‘transformarla’ cambiando el tipo de datos a FECHA / HORA / ZONA HORARIA. Todo lo que hizo fue agregar la zona horaria al campo.
¿Cómo convierto este valor a la zona horaria actual?
¡¡Gracias!!
V-pazhen-msft
@vincenardo
DateTimeZone.ToLocal () debería funcionar. Este blog explica los pasos en detalle.
Manejo de diferentes zonas horarias en Power BI / Power Query
¿Cuál es el tipo de datos original de las columnas de fecha corta de la pantalla? Para los errores, es posible compartir un archivo pbix que incluye una pequeña muestra.
Paul Zheng _ Equipo de apoyo comunitario
Watkinnc
¿Puede decirme qué dice el error o publicar el código M desde el editor avanzado?
También puede intentar agregar la palabra «cada uno» antes de las funciones DateTimeZone. O intente reemplazar DateTimeZone.ToLocal con cada DateTimeZone.SwitchZone (_, -8). Sin embargo, hagas lo que hagas, debes hacerlo una vez, en otras palabras, no cambies el tipo a DateTimeZone antes en la consulta, a menos que uses cada DateTime.AddZone ([AbsentStart], -8).
–Nate
–Nate
vincenardo
En respuesta a Watkinnc
Aquí está el error:
Expression.Error: No podemos convertir el valor #datetime (2020, 8, 18, 19, 30, 0) al tipo DateTimeZone.
Detalles:
Valor = 18/8/2020 7:30:00 p.m.
Tipo =[Type]
Watkinnc
En respuesta a vincenardo
En cualquier caso, si la columna originalmente era de tipo datetime, puede usar DateTime.AddZone ([AbsentStart], -8) para convertir a su zona horaria, o simplemente [AbsentStart] – #duración (0,8,0,0)
–Nate
Watkinnc
Prueba esto:
= Table.TransformColumns (# «Ausencia de recursos», {{«AbsentStart», DateTimeZone .ToLocal}, {«AbsentEnd», DateTimeZone.ToLocal}})
vincenardo
En respuesta a Watkinnc
Recibí este error; ??
Expression.Error: Se encontró una referencia cíclica durante la evaluación
Watkinnc
En respuesta a vincenardo
De acuerdo, el nombre de su último paso es # «Columnas 1 reordenadas», así que:
= Table.TransformColumns (# «Columns1 reordenadas», {{«AbsentStart», DateTimeZone .ToLocal}, {«AbsentEnd», DateTimeZone.ToLocal}})
vincenardo
En respuesta a Watkinnc
Agradezco la ayuda, todavía tengo un problema;
Aquí está el conjunto de datos antes de ingresar el Código que sugirió (El AbsentStart_PST estaba usando una forma diferente de convertir el AbsentStart)
Inserté el código que sugirió (Custom1) y aparece este error en AbsentStart y AbsentEnd.
¿Algunas ideas? Me gusta más su sugerencia porque el código es mucho menor que el que usé y garantizará que la hora se convierta en la hora local.
vincenardo
En respuesta a Watkinnc
Al editar la tabla, ¿puede darme los pasos sobre dónde agregarla? No sé dónde colocarlo, supongo que no está en una nueva columna. ¡Gracias!
Watkinnc
En respuesta a vincenardo
Lo sentimos, debajo de los pasos aplicados, haga clic derecho en el último paso, haga clic en «Agregar nuevo paso». Luego copie y pegue todo, incluido el «=» en la barra de fórmulas.
Watkinnc
Para hacer que la fecha y hora corrija su valor, en lugar de solo agregar la zona horaria, solo use esta función, en lugar de cambiar el tipo de datos a datetimezone:
= Table.TransformColumns (PriorStepOrTableName, {{«AbsentStart», DateTimeZone .ToLocal}, {«AbsentEnd», DateTimeZone.ToLocal}})
Esto agregará su zona horaria local a la fecha y hora, y también compensará el valor real por la diferencia en horas de UTC a PST.
–Nate
vincenardo
En respuesta a Watkinnc
¿Puede darme algunas instrucciones adicionales sobre cómo agregar esto? El nombre de la tabla es «Ausencia de recursos», no estoy seguro de dónde agregar esto …
¡Gracias!
PC2790
Hola @vincenardo
Consulte esto: https: //cloudbi.com.au/converting-utc-to-local-datetime-in-power-bi/
Es posible que pueda satisfacer sus necesidades.