Conversión de JSON a fecha / hora

Un usuario Pregunto ✅

android1

Hola,

Intentando convertir una columna de fecha JSON de 13 dígitos en fecha / hora. En Editar consulta cambio mi columna JSON,[«Column1.Date – Copy»] a un número entero.

Obtengo 1.45731E + 12 (1 ejemplo). Creo una columna personalizada y uso esta fórmula -> = ([#»Column1.Date – Copy»]/ 1000 + 7200) / 84600 + 25569. Obtengo 42794.95745.

Cuando cambio el formato de la columna a Fecha / Hora, obtengo 28/02/2017 10:58 am. Esto debería ser el 03/07/2016.

¿Alguna idea de lo que estoy haciendo mal?

JSOTO_PBI

En caso de que alguien más necesite una solución más simple, esto es lo que funcionó para mí.

# «Agregar columna» = Table.AddColumn (# «, Nombre del paso anterior», « «, cada uno (#datetime (1970, 1, 1, 0, 0, 0) + #duration (0, 0, 0, [<field to change>]+36000/1000))),

Grumelo

Probemos de esta manera

El paso a ejecutar para hacer la transformación.

= Table.TransformColumns(#"<previous step name>",{{"<column name to update>", DateFromJson}})

El código de la función personalizada de Power Query (cree una nueva consulta y publique este código tal como está)

let DateFromJson = (date as any) as any =>
     let
        input = if date is null then "/Date(00000000000000)/"else date,
         Stripped = if Text.StartsWith(input, "/Date(") and Text.EndsWith(input, ")/") then Text.Range(input, 6, Text.Length(input) - 😎 else error "Not a date",
         Position = Text.PositionOfAny(Stripped, {"+", "-"}, 1),
         Parts = if Position < 0 then { Stripped, "0" } else { Text.Range(Stripped, 0, Position), Text.Range(Stripped, Position) },
         NumberParts = { Number.FromText(Parts{0}), Number.FromText(Parts{1}) },
         Result = Date.FromText("1/1/1970") + #duration(0, 0, 0, (NumberParts{0} + 36000 * NumberParts{1}) / 1000),
        output = if Date.Year(Result) = 1970 then null else Result

     in
  output 
 in DateFromJson

@ android1

Esta publicación de Curt debería ayudarlo con la conversión:

https: //social.technet.microsoft.com/Forums/en-US/52811583-9dfe-450b-b0f8-aa6fc53cb4fa/convert-json -…

android1

En respuesta a pqian

Hola,

Gracias por la respuesta. No tengo ningún conocimiento de PQFL. En el código de Curt, ¿a qué debo cambiar?

hacer que sea aplicable a mí? ¿Let Json.Date es la columna que contiene la fecha JSON en mi tabla?

Gracias

Deja un comentario

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