Convierta la fecha de serie de Excel a normal m/d/yyyy hh:mm

Un usuario Pregunto ✅

Creé un flujo que toma un Excel, hace algunas cosas y luego lo importa a SharePoint.

Luego tomo la lista de SharePoint.

El problema es que la fecha todavía está en formato Excel:

Ejemplos:

43766.6083449074
43753.594837963

43747.4251041667

Intenté cambiar la columna de ABC/123 a Fecha y también probé Fecha Hora.

me sale un error

Supongo que tengo que crear una nueva columna y convertir esto.

No estoy encontrando una respuesta clara sobre cómo hacer esto. He visto algunas fórmulas diferentes, pero nada que pareciera ser para mi situación.

En respuesta a lardo5150

Hola @lardo5150,

Puedes intentar pasos como los siguientes:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("NcjBCcAwDAPAXfwuxqlkOZ4leP81AoXe884xoiRXbJAdRZvny4Rnc6Na+I/lfHMFl1Q2cwE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [date = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"date", type number}}),
    #"Split Column by Character Transition" = Table.SplitColumn(Table.TransformColumnTypes(#"Changed Type", {{"date", type text}}, "en-US"), "date", Splitter.SplitTextByCharacterTransition({"0".."9"}, (c) => not List.Contains({"0".."9"}, c)), {"date.1", "date.2"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Character Transition",{{"date.1", Int64.Type}, {"date.2", type number}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type1", "Custom", each Date.AddDays(#date(1900, 01, 01), [date.1])),
    #"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom.1", each Time.From([date.2])),
    #"Changed Type2" = Table.TransformColumnTypes(#"Added Custom1",{{"Custom", type date}, {"Custom.1", type time}}),
    #"Merged Columns" = Table.CombineColumns(Table.TransformColumnTypes(#"Changed Type2", {{"Custom", type text}, {"Custom.1", type text}}, "en-US"),{"Custom", "Custom.1"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"Merged"),
    #"Changed Type3" = Table.TransformColumnTypes(#"Merged Columns",{{"Merged", type datetime}})
in
    #"Changed Type3"

test_convert.PNG

Aquí está el ejemplo pbix.

Atentamente,
Liang
Si esta publicación le ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Amitchandak

Debe agregar segundos o día en 1900/01/01

fecha = fechaañadir(fecha(1900,01,01),[Date Number],segundo)

O

fecha = fechaañadir(fecha(1900,01,01),[Date Number],Día)

En respuesta a Amitchandak

Lanzar un error, no le gusta dateadd.

El [ClosedDateTime] es la columna en la que se encuentran esas publicaciones seriadas de Excel.

powerbi1.JPG

Amitchandak

En respuesta a lardo5150

@lardo5150

Eso fue dax. M tiene Date.AddDays.

https://docs.microsoft.com/en-us/powerquery-m/date-adddays

Fecha.AddDays(#date(1900, 01, 01), [Days])

En respuesta a Amitchandak

Estoy haciendo algo mal, pero no estoy seguro de qué.

powerbi2.JPGpowerbi3.JPGpowerbi4.JPG

Amitchandak

En respuesta a lardo5150

Esta función solo toma Int

Fecha.AddDays(#date(1900,01,01),Number.Round([Date]))

En respuesta a Amitchandak

todavía estoy recibiendo un error

PowerBi1.JPG

En respuesta a lardo5150

subiendo mientras estoy buscando una solución en este caso, ya que es la última parte del proyecto en el que he estado trabajando.

En respuesta a lardo5150

ok, así que DIVIDO la columna ClosedDateTime usando el delimitador de (.)

Eso creó ClosedDateTime.1 y ClosedDateTime.2

Usé esto para ClosedDateTime.1

Fecha.AddDays(#date(1900, 01, 01), [ClosedDateTime.1])

Esto me dio la fecha, lo cual es genial.

Pero no puedo obtener la hora en ClosedDateTime.2. ¿Sabes cuál es la expresión correcta?

powerbi2.JPG

En respuesta a lardo5150

Hola @lardo5150,

Puedes intentar pasos como los siguientes:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("NcjBCcAwDAPAXfwuxqlkOZ4leP81AoXe884xoiRXbJAdRZvny4Rnc6Na+I/lfHMFl1Q2cwE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [date = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"date", type number}}),
    #"Split Column by Character Transition" = Table.SplitColumn(Table.TransformColumnTypes(#"Changed Type", {{"date", type text}}, "en-US"), "date", Splitter.SplitTextByCharacterTransition({"0".."9"}, (c) => not List.Contains({"0".."9"}, c)), {"date.1", "date.2"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Character Transition",{{"date.1", Int64.Type}, {"date.2", type number}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type1", "Custom", each Date.AddDays(#date(1900, 01, 01), [date.1])),
    #"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom.1", each Time.From([date.2])),
    #"Changed Type2" = Table.TransformColumnTypes(#"Added Custom1",{{"Custom", type date}, {"Custom.1", type time}}),
    #"Merged Columns" = Table.CombineColumns(Table.TransformColumnTypes(#"Changed Type2", {{"Custom", type text}, {"Custom.1", type text}}, "en-US"),{"Custom", "Custom.1"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"Merged"),
    #"Changed Type3" = Table.TransformColumnTypes(#"Merged Columns",{{"Merged", type datetime}})
in
    #"Changed Type3"

test_convert.PNG

Aquí está el ejemplo pbix.

Atentamente,
Liang
Si esta publicación le ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

En respuesta a V-lianl-msft

EXACTAMENTE lo que estaba buscando y pude seguir lo que estabas haciendo.

Proporcionar la muestra fue de GRAN ayuda.

GRACIAS

En respuesta a lardo5150

Vaya, captura de pantalla incorrecta

powerbi1.JPG

Deja un comentario

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