Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hola
Estoy usando un archivo TXT como datos de origen para analizar la información sobre los Custromers. Mi valor único es un ID de cliente y el resto de las columnas muestran información sobre esos clientes.
Después de cargar el archivo TXT en Power BI, obtengo el archivo que tiene la siguiente estructura:
Básicamente veo la información de un ID de cliente dividido en dos filas: por ejemplo para el primer cstr veo el número de entrega en la primera fila de la segunda columna, pero la cantidad de pedido aparece en la segunda fila de la tercera columna. Lo que tengo que hacer es comprimir los datos de dos filas en una sola fila, para que pueda ver los datos de un ID de Cutomer que se muestran en la misma fila. Espero que me explique:)
Necesitaré que este informe se actualice semanalmente, así que estoy tratando de encontrar una manera de automatizarlo. Lo que en primer lugar vino información mi mente fue llenar la columna de ID de cliente, luego dividir el archivo en dos: uno con filas pares y el segundo con ni siquiera filas, y luego combinar estos dos archivos con EL ID de cliente. Por desgracia, no funciona - No estoy seguro de por qué la fusión partis no funciona, pero como resultado obtengo un archivo de archivo con filas pares o desiguales. No el archivo que combina los dos.
¿Podrías ayudarme a solucionar este problema?
Saludos amables y gracias de antemano
Mago
Solved! Go to Solution.
Hola @magus ,
Intente undd Index columnas y unir la tabla consigo mismo:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("pco9DoAgDAXgu7yZoa0t0FWMLk4mDoZw/2sIjK5O7ydfrWBiWTzFjIDjEtK99IYWKkYGmNJcA6qrSP/W01S2+yc0ItLIluOUbqk8H+mK1l4=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Customer ID" = _t, #"Delivery number" = _t, Column1.23 = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Customer ID", Int64.Type}, {"Delivery number", type text}, {"Column1.23", Int64.Type}}),
#"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index0", 0, 1),
#"Added Index1" = Table.AddIndexColumn(#"Added Index", "Index1", 1, 1),
#"Merged Queries" = Table.NestedJoin(#"Added Index1", {"Index1"}, #"Added Index1", {"Index0"}, "SecondNextRow", JoinKind.LeftOuter),
#"Removed Columns" = Table.RemoveColumns(#"Merged Queries",{"Column1.23", "Index0", "Index1"}),
#"Expanded SecondNextRow" = Table.ExpandTableColumn(#"Removed Columns", "SecondNextRow", {"Column1.23"}, {"Column1.23"}),
#"Filtered Rows" = Table.SelectRows(#"Expanded SecondNextRow", each ([Customer ID] <> null))
in
#"Filtered Rows"
Referencia: ¿Cómo desplazar las celdas hacia arriba o hacia abajo en Power BI?
Saludos
Icey
Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a otros miembros a encontrarlo más rápido.
Hola @magus ,
Intente undd Index columnas y unir la tabla consigo mismo:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("pco9DoAgDAXgu7yZoa0t0FWMLk4mDoZw/2sIjK5O7ydfrWBiWTzFjIDjEtK99IYWKkYGmNJcA6qrSP/W01S2+yc0ItLIluOUbqk8H+mK1l4=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Customer ID" = _t, #"Delivery number" = _t, Column1.23 = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Customer ID", Int64.Type}, {"Delivery number", type text}, {"Column1.23", Int64.Type}}),
#"Added Index" = Table.AddIndexColumn(#"Changed Type", "Index0", 0, 1),
#"Added Index1" = Table.AddIndexColumn(#"Added Index", "Index1", 1, 1),
#"Merged Queries" = Table.NestedJoin(#"Added Index1", {"Index1"}, #"Added Index1", {"Index0"}, "SecondNextRow", JoinKind.LeftOuter),
#"Removed Columns" = Table.RemoveColumns(#"Merged Queries",{"Column1.23", "Index0", "Index1"}),
#"Expanded SecondNextRow" = Table.ExpandTableColumn(#"Removed Columns", "SecondNextRow", {"Column1.23"}, {"Column1.23"}),
#"Filtered Rows" = Table.SelectRows(#"Expanded SecondNextRow", each ([Customer ID] <> null))
in
#"Filtered Rows"
Referencia: ¿Cómo desplazar las celdas hacia arriba o hacia abajo en Power BI?
Saludos
Icey
Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a otros miembros a encontrarlo más rápido.
Hola @magus - Supongo que el reenvío de datos en dos columnas diferentes es porque puede tener Tab o varios espacios entre los valores?
¿Existe la posibilidad de convertir su archivo txt a CSV/Excel y esto debería caer en una columna cuando se carga en power BI?
Alternativamente, puede probar Transformar una vez en Power Query (Haga clic con el botón derecho en Rellenar columna1 y quite null del identificador de cliente) y lo hará automáticamente cada vez que cargue los datos.
Espero que esto ayude.
Salud
-Namish B
Pruebe lo siguiente en Power Query:
1. Seleccione la columna Column1.23 y "Fill Up".
2. En la columna ID de cliente, filtre null.
Proud to be a Super User!
Hola
Gracias por compartir sus ideas.
Desafortunadamente, esta solución no funcionó, ya que tengo valores nulos en el fila donde falta la información. Por ejemplo, compruebe la captura de pantalla de abajo, Si utilizo la función "rellenar" aquí, obtendré el valor 1 no sólo donde debe aparecer, sino también donde falta la información y debería tener el valor nulo:
Espero haberme explicado.
Mago
Check out the September 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.