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

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.

Reply
Syndicate_Admin
Administrator
Administrator

Archivos de una carpeta: agregar columnas

Hola

Tengo tres archivos csv en una carpeta que Power BI está agregando mágicamente como origen de datos.

Quiero agregar un par de columnas a los archivos, pero todo lo que he intentado agregarlos parece romper algo más. Ya tengo algunos pasos adicionales aplicados en PQE después de que se anexen los archivos, pero no sé si esto está causando alguno de los problemas.

¿Alguien puede recomendar una guía simple paso a paso para obtener un par de columnas adicionales de los archivos csv de origen?

Gracias 🙂

No estoy seguro de si las capturas de pantalla son útiles, pero ...

Capture3.JPGCapture1.JPGCapture2.JPG

1 ACCEPTED SOLUTION

Aquí hay un ejemplo que combina todos los archivos .csv en C:\temp. Se supone que los archivos tienen la misma estructura y proporciona encabezados de columna ficticios: es posible que desee proporcionar los suyos propios. Tampoco elimina los encabezados de columna potencialmente existentes dentro de los archivos: puede filtrarlos si es necesario o modificar el código de AddColumn en consecuencia.

let
    Source = Folder.Files("C:\Temp"),
    #"Filtered Rows" = Table.SelectRows(Source, each ([Extension] = ".csv")),
    #"Added Custom" = Table.AddColumn(#"Filtered Rows", "Custom", each Csv.Document([Content])),
    #"Expanded Custom" = Table.ExpandTableColumn(#"Added Custom", "Custom", {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6"}, {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6"})
in
    #"Expanded Custom"

View solution in original post

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

Disculpas por no volver a esta discusión antes: ¡los peligros de tener demasiados proyectos diferentes en marcha a la vez!

Gracias por toda la ayuda 🙂

Syndicate_Admin
Administrator
Administrator

No @JohnHedges,

¿Las sugerencias de lbendlin ayudaron con su escenario? si ese es el caso, puede considerar Kudo o aceptar sus sugerencias para ayudar a otros que enfrentaron requisitos similares.

Si esto tampoco ayuda, comparta información más detallada para ayudarnos a aclarar su escenario para probar.

Cómo obtener respuestas a su pregunta rápidamente

Saludos

Xiaoxin Sheng

Syndicate_Admin
Administrator
Administrator

No te preocupes, este es un patrón común. Power Query está tratando de ser útil y cuando haga clic en el icono "Combinar binarios" agregará todo tipo de funciones auxiliares y vínculos de retroceso y lo que tenga.

No necesitas nada de eso. En lugar de hacer clic en el botón "combinar", puede agregar una columna personalizada que contenga la misma transformación para el campo binario de cada fila, como por ejemplo Csv.Document([binary]). Luego puede expandir esa columna y mantener sus columnas existentes o agregar otras nuevas, etc. Una cosa que debe tener lista es una lista de columnas en las que desea expandirse (eso es lo que normalmente haría la función de ayudante)

Hágame saber si logra hacerlo en función de esta descripción o si le gusta una muestra de código.

Gracias por tomarse el tiempo para responder 🙂

Un ejemplo sería fantástico. Es un proyecto bastante grande que usa muchas carpetas diferentes como fuentes y me aterra romperlo (¡también estoy tratando de evitar tener que matar parte del modelo y reconstruir desde cero, solo para obtener dos columnas adicionales!)

Aquí hay un ejemplo que combina todos los archivos .csv en C:\temp. Se supone que los archivos tienen la misma estructura y proporciona encabezados de columna ficticios: es posible que desee proporcionar los suyos propios. Tampoco elimina los encabezados de columna potencialmente existentes dentro de los archivos: puede filtrarlos si es necesario o modificar el código de AddColumn en consecuencia.

let
    Source = Folder.Files("C:\Temp"),
    #"Filtered Rows" = Table.SelectRows(Source, each ([Extension] = ".csv")),
    #"Added Custom" = Table.AddColumn(#"Filtered Rows", "Custom", each Csv.Document([Content])),
    #"Expanded Custom" = Table.ExpandTableColumn(#"Added Custom", "Custom", {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6"}, {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6"})
in
    #"Expanded Custom"

Gracias por tomarse el tiempo para crear un ejemplo.

A riesgo de parecer un idiota, simplemente no sé dónde ponerlo. ¡Tendré un jugueteo con mi archivo de copia de seguridad y veré si puedo resolverlo!

Vaya a Power Query seleccionando Obtener datos... Consulta en blanco. Luego haga clic en Editor avanzado y reemplace el código con el que publiqué.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.