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», «
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
pqian
@ 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