lardo5150
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.
V-lianl-msft
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"
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)
lardo5150
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.
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])
lardo5150
En respuesta a Amitchandak
Estoy haciendo algo mal, pero no estoy seguro de qué.
Amitchandak
En respuesta a lardo5150
Esta función solo toma Int
Fecha.AddDays(#date(1900,01,01),Number.Round([Date]))
lardo5150
En respuesta a Amitchandak
todavía estoy recibiendo un error
lardo5150
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.
lardo5150
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?
V-lianl-msft
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"
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.
lardo5150
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
lardo5150
En respuesta a lardo5150
Vaya, captura de pantalla incorrecta