Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
¡Por favor, alguien puede ayudarme!
Tengo un origen de datos (adjunto) y una de las columnas tiene precios.
El problema que tengo es que en la cadena puede haber hasta unos 10 precios individuales que necesitan ser agregados juntos para dar el precio general.
Por ejemplo, en la línea 65, la cadena es:
a:6:'i:0;a:3:'s:8:"Cantidad";s:2:"38";s:4:"Rate";s:3:"3.2";s:8:8:8 "NetPrice";d:121.60000000000000008526512829121202304534912109375; i:1;a:3:'s:8:"Cantidad";s:2:"38";s:4:"Rate";s:4:"2.10";s:8:"NetPrice";d:79.799999999999997157829056959599256515029296875; i:2;a:3:'s:8:"Cantidad";s:2:"38";s:4:"Rate";s:3:"2.1";s:8:"Net Precio";d:79.799999999999997157829056959599256515029296875; i:3;a:3:'s:8:"Cantidad";s:2:"38";s:4:"Rate";s:3:"2.1";s:8:"Net Precio";d:79.799999999999997157829056959599256515029296875; i:4;a:3:'s:8:"Cantidad";s:2:"38";s:4:"Rate";s:3:"3.2";s:8:"NetPrice ";d:121.600000000000000008526512829121202304534912109375; i:5;a:3:'s:8:"Cantidad";s:2:"38";s:4:"Rate";s:3:"2.1";s:8:"Net Precio";d:79.79999999999997157829056959599256515029296875;
Lo que estoy buscando es una columna calculada que sumaría todas las cifras de 'NetPrice' higlighted en ROJO - por lo que la respuesta debe ser 562.40
No lo soy si esto es posible, pero pensé que preguntaría.
Gracias de antemano
Solved! Go to Solution.
Hola @timknox
Tomé el mismo archivo un d creado th debajo del código M en Power Query Editor me dio la salida exacta que está buscando.
A continuación se muestra lo que hice, Crear una nueva tabla, asígnela Table_longText.
Asigne un nombre Long_text a la columna. Compruebe que todos los detalles son correctos como se indica en rojo a continuación.
Inserte el código Json (proporcionado como ejemplo) como los datos de Long_Text columna.
Ya debería tener una tabla 'Table_longText' creada.
Vaya al editor de avances y pase el siguiente código.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("zZIxDsIwDEXvkgNEjlMnsXsHBKxthwg6ZGGAMKCqdycpSwcWEBK1l/9tWXr6ctepKE6mJNBGsTLdJEivDvd4ySk/etXeBMvAhkU2RR5jHhdj61zjouvRbsz7azrV5VkMGu1gXYHQkcGAXHYIiBYask11wNZTOycxH0NUg9rAewrP2vO6vCFfCIAcU2lGKkxEgIzswgsCv0qiQPyQwW6AodnCR9Dfg5jVMDwB", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Long_Text = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Long_Text", type text}}),
#"Split Column by Positions" = Table.SplitColumn(#"Changed Type", "Long_Text", Splitter.SplitTextByPositions({76, 126, 200, 249, 322, 371, 444, 493, 566, 616, 689, 738}), {"Long_Text.1", "Long_Text.2", "Long_Text.3", "Long_Text.4", "Long_Text.5", "Long_Text.6", "Long_Text.7", "Long_Text.8", "Long_Text.9", "Long_Text.10", "Long_Text.11", "Long_Text.12"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Positions",{{"Long_Text.1", type text}, {"Long_Text.2", type text}, {"Long_Text.3", type text}, {"Long_Text.4", type text}, {"Long_Text.5", type text}, {"Long_Text.6", type text}, {"Long_Text.7", type text}, {"Long_Text.8", type text}, {"Long_Text.9", type text}, {"Long_Text.10", type text}, {"Long_Text.11", type text}, {"Long_Text.12", type text}}),
#"Removed Columns" = Table.RemoveColumns(#"Changed Type1",{"Long_Text.2", "Long_Text.4", "Long_Text.6", "Long_Text.8", "Long_Text.10", "Long_Text.12"}),
#"Changed Type2" = Table.TransformColumnTypes(#"Removed Columns",{{"Long_Text.11", type number}, {"Long_Text.9", type number}, {"Long_Text.7", type number}, {"Long_Text.5", type number}, {"Long_Text.3", type number}, {"Long_Text.1", type number}}),
#"Added Custom" = Table.AddColumn(#"Changed Type2", "Total", each [Long_Text.1]+[Long_Text.3]+[Long_Text.5]+[Long_Text.7]+[Long_Text.9]+[Long_Text.11])
in
#"Added Custom"
Obtendrá la siguiente salida en este caso.
Ahora puede ocultar las otras columnas que no sean el total según sus necesidades.
Hope it resolves your issue? Did I answer your question? Mark my post as a solution! Appreciate your Kudos, Press the thumbs up button!! Linkedin Profile |
Hola @timknox
Tomé el mismo archivo un d creado th debajo del código M en Power Query Editor me dio la salida exacta que está buscando.
A continuación se muestra lo que hice, Crear una nueva tabla, asígnela Table_longText.
Asigne un nombre Long_text a la columna. Compruebe que todos los detalles son correctos como se indica en rojo a continuación.
Inserte el código Json (proporcionado como ejemplo) como los datos de Long_Text columna.
Ya debería tener una tabla 'Table_longText' creada.
Vaya al editor de avances y pase el siguiente código.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("zZIxDsIwDEXvkgNEjlMnsXsHBKxthwg6ZGGAMKCqdycpSwcWEBK1l/9tWXr6ctepKE6mJNBGsTLdJEivDvd4ySk/etXeBMvAhkU2RR5jHhdj61zjouvRbsz7azrV5VkMGu1gXYHQkcGAXHYIiBYask11wNZTOycxH0NUg9rAewrP2vO6vCFfCIAcU2lGKkxEgIzswgsCv0qiQPyQwW6AodnCR9Dfg5jVMDwB", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Long_Text = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Long_Text", type text}}),
#"Split Column by Positions" = Table.SplitColumn(#"Changed Type", "Long_Text", Splitter.SplitTextByPositions({76, 126, 200, 249, 322, 371, 444, 493, 566, 616, 689, 738}), {"Long_Text.1", "Long_Text.2", "Long_Text.3", "Long_Text.4", "Long_Text.5", "Long_Text.6", "Long_Text.7", "Long_Text.8", "Long_Text.9", "Long_Text.10", "Long_Text.11", "Long_Text.12"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Positions",{{"Long_Text.1", type text}, {"Long_Text.2", type text}, {"Long_Text.3", type text}, {"Long_Text.4", type text}, {"Long_Text.5", type text}, {"Long_Text.6", type text}, {"Long_Text.7", type text}, {"Long_Text.8", type text}, {"Long_Text.9", type text}, {"Long_Text.10", type text}, {"Long_Text.11", type text}, {"Long_Text.12", type text}}),
#"Removed Columns" = Table.RemoveColumns(#"Changed Type1",{"Long_Text.2", "Long_Text.4", "Long_Text.6", "Long_Text.8", "Long_Text.10", "Long_Text.12"}),
#"Changed Type2" = Table.TransformColumnTypes(#"Removed Columns",{{"Long_Text.11", type number}, {"Long_Text.9", type number}, {"Long_Text.7", type number}, {"Long_Text.5", type number}, {"Long_Text.3", type number}, {"Long_Text.1", type number}}),
#"Added Custom" = Table.AddColumn(#"Changed Type2", "Total", each [Long_Text.1]+[Long_Text.3]+[Long_Text.5]+[Long_Text.7]+[Long_Text.9]+[Long_Text.11])
in
#"Added Custom"
Obtendrá la siguiente salida en este caso.
Ahora puede ocultar las otras columnas que no sean el total según sus necesidades.
Hope it resolves your issue? Did I answer your question? Mark my post as a solution! Appreciate your Kudos, Press the thumbs up button!! Linkedin Profile |
Hola @timknox ,
Vea si estas publicaciones le ayudan
https://community.powerbi.com/t5/Desktop/Extract-number-and-text-from-string/m-p/1190132
https://community.powerbi.com/t5/Desktop/Extract-the-number-and-text-from-String/m-p/399848
saludos
Harsh Nathani
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución! Apreciar con un Kudos!! (Haga clic en el botón Pulgares arriba)
@timknox , parecen datos json. referencia si este trabajo
https://www.youtube.com/watch?v=ipI6mrWLQKA
https://www.mssqltips.com/sqlservertip/4621/using-power-bi-with-json-data-sources-and-files/
https://zappysys.com/blog/howto-import-json-rest-api-power-bi/?gclid=EAIaIQobChMI7Za92YSi6wIVFSQrCh0...