Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
leisay
Frequent Visitor

Cómo importar un archivo csv a partir de cierta marca

El archivo csv que quiero importar tiene muchas líneas de encabezados. A continuación, habrá una línea con el contenido: *data. Después son los datos reales que necesito importar a powerbi. ¿Hay algún método que le diga a powerBI que busque esta marca "*data" y luego comience a importar el contenido después?

¡Muchas gracias por tu ayuda!

3 REPLIES 3
amitchandak
Super User
Super User

@leisay , si se fija el número ? recomienda

https://www.excelguru.ca/blog/2019/12/09/remove-dynamic-number-of-top-rows/

https://community.powerbi.com/t5/Power-Query/How-to-dynamically-delete-Top-Rows-Before-a-specific-va...

Join us as experts from around the world come together to shape the future of data and AI!
At the Microsoft Analytics Community Conference, global leaders and influential voices are stepping up to share their knowledge and help you master the latest in Microsoft Fabric, Copilot, and Purview.
️ November 12th-14th, 2024
 Online Event
Register Here

@amitchandak Gracias por la respuesta rápida. No es un número fijo. El archivo tiene el siguiente aspecto:

"HYDAC SMU1270 V03.00 Archivo de datos

Inicio 09.03.2020 04:21:17
RecordCount 14283
Intervalo
DeviceCount 1

Dispositivo 0
Nombre SMU1270 V03.00
SerNumber 15151
MeasPoint MPNT00
Puerto 1
Dirección a
Protocolo 0
ChannelCount 10

Canal 0 1 2 3 4 5 6 7 8 9
LowerRange -32768 0 0 0 0 0 -60 0 -25
UpperRange 32767 2147483647 2147483647 2147483647 2147483647 2147483647 2147483647 150 100 100
Unidad 200-350 350-500 >500 550-750 750-1K >1K ? C % ? C

Comentario

*Datos*
Fecha y hora Estado FE A FE B FE C NFE D NFE E NFE F Temp SatLevel Temp
09.03.2020 4:21:17 0 0 0 0 0 0 0 28 27.3 24.68
09.03.2020 4:22:17 0 0 0 0 0 0 0 28 26.28 24.66
09.03.2020 4:23:17 0 0 0 0 0 0 0 28 26.34 24.64
09.03.2020 4:24:17 0 0 0 0 0 0 0 28 27.52 24.58
09.03.2020 4:25:17 0 0 0 0 0 0 0 27.9 26.42 24.63
09.03.2020 4:26:17 0 0 0 0 0 0 0 27.9 26.65 24.61
09.03.2020 4:27:17 0 0 0 0 0 0 0 27.9 26.53 24.58
09.03.2020 4:28:17 0 0 0 0 0 0 0 27.9 26.83 24.59
09.03.2020 4:29:17 0 0 0 0 0 0 0 27.9 26.27 24.58
09.03.2020 4:30:17 0 0 0 0 0 0 0 27.7 25.69 24.56
09.03.2020 4:31:17 0 0 0 0 0 0 0 27.7 25.86 24.55
09.03.2020 4:32:17 0 0 0 0 0 0 0 27.7 25.77 24.54"

Así que los datos reales que quiero importar es después de la parte marcada en rojo "*Data*". Así que estaba pensando si hay una manera de dejar que powerBI busque esta parte "*Data*" y luego empezar a importar los datos después de esto.

Aquí hay una manera de hacerlo. Para ver cómo funciona, simplemente cree una consulta en blanco, vaya a Editor avanzado y reemplace el texto allí con el código M a continuación. Los primeros pasos de pareja pueden no ser relevantes, ya que tuve que copiar el texto de su publicación y obtenerlo en el formato correcto para mostrar el enfoque. Esto agrega una columna personalizada con el valor de [Column1] á "*Data*" y, a continuación, 1 otro valor nulo y, a continuación, rellenar la nueva columna y, a continuación, filtrar por solo 1s para deshacerse de las filas de encabezado.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("nZLda+MwDMD/FTG4l0GCv53sZXTpysatpazdwVj34LXmLtAkxXV7//5ZTrr7SPJyBAlZ0k9SbL29XT28TicFrOYvlGkC3whPCYGp8QZm5d5u3KZGWXnjPJA8DXFGGAEibhi9oRqDz3bbuF3RnGoPVLCMo/Ox9tadzR7tqT2XW9slXEq2TiBoL0xl/5khdrVucao+rAMqw4euuTXHZVOGQvPlYt2mLRvX1Z3sds4ej2Ci2zW+2Tb7tkXxw9S13XdDkMsUnRsIUGDAQYAEBRoyyDH81Py07tnU3y0knGmVhcTfX6KiZhJTXw6HSypmamBUaJFxJf7bpDKMRaLEDnXpgRGS8OAPksgQ25wI4RYtGTw6RIIk9GsXCMZtAV+C+vzjpqps7S/Ha3zr6/ggxltYl/gSHs3ZPUxQ3aEqYBH0NOr7qGewttUBVsY/2XO4QTxhmT+WpNuRv+6MAMuA6ZQDE6nK+gQbJlSKOiCqj/AxhIuIiD4ixuaSDBE5MJgcQHSaYx8RIcX7kBqHlIwQ7UN6HJJ8bLxsHMpaKO9D+TjE9EgnTgahkC5TlUeo/0Z8aBE6KFMRkn1oaBc6SLfjiav3918=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each Lines.FromText([Column1])),
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Column1"}),
    #"Expanded Custom" = Table.ExpandListColumn(#"Removed Columns", "Custom"),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Expanded Custom", "Custom", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"Custom.1", "Custom.2", "Custom.3", "Custom.4", "Custom.5", "Custom.6", "Custom.7", "Custom.8", "Custom.9", "Custom.10", "Custom.11", "Custom.12", "Custom.13", "Custom.14", "Custom.15", "Custom.16", "Custom.17", "Custom.18"}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Custom.1", type text}, {"Custom.2", type text}, {"Custom.3", type text}, {"Custom.4", type text}, {"Custom.5", type text}, {"Custom.6", type text}, {"Custom.7", type text}, {"Custom.8", type text}, {"Custom.9", type text}, {"Custom.10", type text}, {"Custom.11", type text}, {"Custom.12", type text}, {"Custom.13", type text}, {"Custom.14", type text}, {"Custom.15", type text}, {"Custom.16", type text}, {"Custom.17", type text}, {"Custom.18", type text}}),
    #"Added Custom1" = Table.AddColumn(#"Changed Type1", "FilterLocation", each if [Custom.1] = "*Data*" then 1 else null),
    #"Filled Down" = Table.FillDown(#"Added Custom1",{"FilterLocation"}),
    #"Filtered Rows" = Table.SelectRows(#"Filled Down", each ([FilterLocation] = 1)),
    #"Removed Columns1" = Table.RemoveColumns(#"Filtered Rows",{"FilterLocation"}),
    #"Removed Top Rows" = Table.Skip(#"Removed Columns1",1),
    #"Promoted Headers" = Table.PromoteHeaders(#"Removed Top Rows", [PromoteAllScalars=true]),
    #"Changed Type2" = Table.TransformColumnTypes(#"Promoted Headers",{{"Date", type date}, {"Time", type time}, {"State", Int64.Type}, {"FE", Int64.Type}, {"A", Int64.Type}, {"FE_1", Int64.Type}, {"B", Int64.Type}, {"FE_2", Int64.Type}, {"C", Int64.Type}, {"NFE", type number}, {"D", type number}, {"NFE_3", type number}, {"E", type text}, {"NFE_4", type text}, {"F", type text}, {"Temp", type text}, {"SatLevel", type text}, {"Temp_5", type text}})
in
    #"Changed Type2"

Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors