Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola
Un poco nuevo en BI todavía y en ejecución en lo que es probablemente una solución fácil.
Estoy tratando de convertir un texto que está en dd-mm-aaaa-hh-mm en una fecha / hora. He intentado dividir columnas por delimitador y caracteres, etc. Soy capaz de obtener la fecha de salida, pero can't parecer para obtener fecha y hora.
es decir, 01-01-2021-07-00 a 01/01/2021 07:00
Cualquier guía apreciada.
Gracias
Solved! Go to Solution.
Hay @NiugeS
Por favor, intente usar el código M a continuación, donde Source sería su origen, y reemplace los nombres de columna por el nombre de la columna. Si no puede cambiarlos, utilice este código en una nueva consulta y consulte los pasos que tomé para obtener de dd-mm-aaaa-hh-mm a lo que desea.
Dejar
Source: Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjDUBSIjAyNDXUNjXUNTpdhYAA-", BinaryEncoding.Base64), Compression.Deflate)), deje _t ((tipo de texto anulable) [Serialized.Text ? true]) en la tabla de tipos [Column1 _t )
"Dividir columna por posición" ? Table.SplitColumn(Source, "Column1", Splitter.SplitTextByPositions('0, 10', false), ''Column1.1', 'Column1.2''),
"Tipo de cambio" - Table.TransformColumnTypes('Dividir columna por posición",'Column1.1','' tipo date', ''Column1.2', escriba text'),
"Texto extraído después del delimitador" - Table.TransformColumns('Tipo cambiado',''Column1.2'', cada Text.AfterDelimiter(_, "-"), escriba text'),
"Valor reemplazado" - Table.ReplaceValue(-"Texto extraído después del delimitador","-",":",Replacer.ReplaceText,'Column1.2')),
"Changed Type1" á Table.TransformColumnTypes('Valor reemplazado','Column1.2', tiempo de tipo'),
"Columnas combinadas" á "Columnas combinadas" - Table.CombineColumns(Table.TransformColumnTypes('"Changed Type1",'Column1.1',type text', ''Column1.2','' tipo text', 'en-US'"),'Column1.1', 'Column1.2'','Combinador.CombineTextByDelimiter("" ", QuoteStyle.None),"Merged)"Merged
"Changed Type2" á Table.TransformColumnTypes(''Columnas combinadas',''Combinado','
En
"Tipo cambiado2"
Hola @NiugeS
Para un formato inicial de 01-01-2021-07-00 debe transformarse a 01-01-2021 07:00 entonces puede cambiar el tipo a la fecha/hora. En la consulta de energía probablemente hay una manera eficiente de hacer esto reemplazando el 3er "-" con un " " y 4o con un ":"
Todavía estoy aprendiendo funciones de texto para hacer dentro de una columna, pero se puede utilizar a continuación para separar en dos columnas y formatear una como fecha y la otra como tiempo.
Espero que te ayude.
let
Source = Excel.Workbook(File.Contents("C:\table.xlsx"), null, true),
Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],
#"Promoted Headers" = Table.PromoteHeaders(Sheet1_Sheet, [PromoteAllScalars=true]),
#"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Initial", type text}, {"Datetime", type datetime}}),
#"Split Column by Position" = Table.SplitColumn(#"Changed Type", "Initial", Splitter.SplitTextByRepeatedLengths(11), {"Initial.1", "Initial.2"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Position",{{"Initial.1", type text}, {"Initial.2", type text}}),
#"Replaced Value" = Table.ReplaceValue(#"Changed Type1","-",":",Replacer.ReplaceText,{"Initial.2"}),
#"Extracted First Characters" = Table.TransformColumns(#"Replaced Value", {{"Initial.1", each Text.Start(_, 10), type text}}),
#"Changed Type2" = Table.TransformColumnTypes(#"Extracted First Characters",{{"Initial.1", type date}})
in
#"Changed Type2"
Hay @NiugeS
No es necesario dividir columnas. ya sea encubierto en el escritorio de Power bi o transformarlo en Power Query
Hay @NiugeS
Por favor, intente usar el código M a continuación, donde Source sería su origen, y reemplace los nombres de columna por el nombre de la columna. Si no puede cambiarlos, utilice este código en una nueva consulta y consulte los pasos que tomé para obtener de dd-mm-aaaa-hh-mm a lo que desea.
Dejar
Source: Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjDUBSIjAyNDXUNjXUNTpdhYAA-", BinaryEncoding.Base64), Compression.Deflate)), deje _t ((tipo de texto anulable) [Serialized.Text ? true]) en la tabla de tipos [Column1 _t )
"Dividir columna por posición" ? Table.SplitColumn(Source, "Column1", Splitter.SplitTextByPositions('0, 10', false), ''Column1.1', 'Column1.2''),
"Tipo de cambio" - Table.TransformColumnTypes('Dividir columna por posición",'Column1.1','' tipo date', ''Column1.2', escriba text'),
"Texto extraído después del delimitador" - Table.TransformColumns('Tipo cambiado',''Column1.2'', cada Text.AfterDelimiter(_, "-"), escriba text'),
"Valor reemplazado" - Table.ReplaceValue(-"Texto extraído después del delimitador","-",":",Replacer.ReplaceText,'Column1.2')),
"Changed Type1" á Table.TransformColumnTypes('Valor reemplazado','Column1.2', tiempo de tipo'),
"Columnas combinadas" á "Columnas combinadas" - Table.CombineColumns(Table.TransformColumnTypes('"Changed Type1",'Column1.1',type text', ''Column1.2','' tipo text', 'en-US'"),'Column1.1', 'Column1.2'','Combinador.CombineTextByDelimiter("" ", QuoteStyle.None),"Merged)"Merged
"Changed Type2" á Table.TransformColumnTypes(''Columnas combinadas',''Combinado','
En
"Tipo cambiado2"
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |