Cambiar de la unidad C a la carpeta de SharePoint

Un usuario Pregunto ✅

GavinR87

Hola a todos,

Creé un informe de Power BI que contiene una gran cantidad de datos que se guardan en una carpeta del sitio de SharePoint.

Lo que hice fue sincronizar el sitio de SharePoint con mi OneDrive y usé la opción de carpeta en Power BI para cargar todos los archivos contenidos en una carpeta determinada.

Desafortunadamente, siendo nuevo en esto, ahora me doy cuenta de que todos estos datos están vinculados a C:/users/work/FOLDER no https://COMPANY.sharepoint.com/sites/SITE_NAME/Shared Documents/General/Power BI/FOLDER/ .

Supuse que cuando hice clic en la carpeta, ya que estaba sincronizada con SharePoint, era una carpeta «en línea», no una unidad C.

Ahora mi pregunta es ¿cómo puedo cambiar la fuente de datos de ser una carpeta en mi unidad C a una carpeta en SharePoint? He intentado muchas cosas, como cambiar la ruta de la fuente de datos a la URL de la carpeta. También necesito cambiar la fuente, pero todas las transformaciones que he hecho en los datos se conservan.

También intenté agregar una nueva fuente de datos usando la opción «Carpeta de SharePoint». Ahora, por alguna razón, esto solo le permite colocar el directorio raíz del sitio de SharePoint y extraer absolutamente todos los archivos contenidos en el sitio de SharePoint, y parece que no puedo seleccionar solo la carpeta que quiero.

Agradecido por cualquier consejo aquí. 🙂

mwimberger

En respuesta a GavinR87

Hola @GavinR87

El siguiente paso cargará todos sus CSV juntos

– En el Editor de Power Query, en la pestaña «Agregar columna», elija «Columna personalizada»

Varios archivos 1.png

El siguiente paso es eliminar todas las demás columnas, excepto la personalizada que acaba de crear, haciendo clic con el botón derecho en la columna personalizada y eligiendo eliminar otras:

Varios archivos 2.png

Luego, debe expandir la columna personalizada haciendo clic en el botón expandir en la parte superior derecha de la columna:

Varios archivos 3.png

Y luego, el (posiblemente) paso final es promocionar los encabezados haciendo clic en Transformar: usar la primera fila como encabezados:

Varios archivos 4.png

Ahora tendrá los encabezados de columna que están en sus archivos CSV como encabezados en su tabla y podrá hacer todas las demás transformaciones que necesite.

PD: Cuando mencioné copiar el código, está usando el Editor avanzado, que es posible que no haya usado antes. A medida que adquiera más experiencia en Power Query, comenzará a confiar en el Editor avanzado para copiar el código y reutilizarlo en otras situaciones, ya que luego puede modificarlo y ajustarlo a sus necesidades: Aquí es donde se encuentra en Power Query: hay dos formas de llegar a ella:

Editor avanzado.png

Ahora verá el código M que se ha traducido de todos los clics del mouse que realizó:

Editor avanzado 2.png

Espero que esto proporcione más claridad sobre los pasos que proporcioné en la primera respuesta. Algunas veces, las capturas de pantalla son una mejor manera de guiar a uno a través del proceso.

También Ruth de Curbal tiene un gran video sobre esto en Youtube:

Una forma más limpia, mejor y más rápida de importar archivos de forma masiva en Power BI

¡Ten un excelente fin de semana!

Salud

Manfredo

GavinR87

Hola a todos,

Muchas gracias por tomarse el tiempo para responder.

Tengo algo de tiempo reservado más adelante esta semana para probar estas soluciones. ¡Espero que pueda hacer que una funcione!

Gracias de nuevo 🙂

Hola @GavinR87,

Eche un vistazo al siguiente documento para saber cómo extraer la ruta del archivo raíz de los archivos de SharePoint/onedrive, luego puede usar esto para reemplazar la ruta de la carpeta local:
Usar vínculos de OneDrive para empresas en Power BI Desktop

Saludos,

Xiaoxin-sheng

mwimberger

Hola @GavinR87

Se necesita algo de tiempo para acostumbrarse al cambio entre las carpetas físicas y Sharepoint, especialmente la forma en que funcionan las carpetas.

Estos son los pasos que yo seguiría:

1) copie su código M del editor avanzado en Power Query y péguelo en un editor de texto como el Bloc de notas (o Notepad ++, que puede estilizar para mostrar el marcado M

2) Cree una nueva consulta que dirija a la carpeta de Sharepoint:

Tenga en cuenta que tendrá que usar filtros para llegar a la carpeta que desea

Además, menciona que tiene muchos datos, lo que supongo es que puede tener muchos archivos dentro de la carpeta. Para eso, tengo una sugerencia para evitar la creación de funciones personalizadas y las consultas auxiliares que se crean.

Bien, aquí está el código (con lo que publicaste como tu ejemplo de carpetas/ruta ficticias; y te explicaré lo que hace cada paso a continuación:

let
  Source = SharePoint.Files("https://COMPANY.sharepoint.com/sites/SITE_NAME", [ApiVersion = 15]),
    Filtered_Rows = Table.SelectRows(Source, each Text.Contains([Folder Path], "PowerBI/FOLDER")),
    #"Filtered Hidden Files1" = Table.SelectRows(Filtered_Rows, each [Attributes]?[Hidden]? <> true),
    #"Added Custom4" = Table.AddColumn(#"Filtered Hidden Files1", "Custom", each Csv.Document([Content])),
    #"Expanded Custom" = Table.ExpandTableColumn(#"Added Custom4", "Custom", {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10", "Column11", "Column12", "Column13", "Column14", "Column15", "Column16", "Column17", "Column18", "Column19", "Column20", "Column21", "Column22", "Column23"}, {"Custom.Column1", "Custom.Column2", "Custom.Column3", "Custom.Column4", "Custom.Column5", "Custom.Column6", "Custom.Column7", "Custom.Column8", "Custom.Column9", "Custom.Column10", "Custom.Column11", "Custom.Column12", "Custom.Column13", "Custom.Column14", "Custom.Column15", "Custom.Column16", "Custom.Column17", "Custom.Column18", "Custom.Column19", "Custom.Column20", "Custom.Column21", "Custom.Column22", "Custom.Column23"}),
    #"Removed Columns1" = Table.RemoveColumns(#"Expanded Custom",{"Content", "Name", "Extension", "Date accessed", "Date modified", "Date created", "Attributes", "Folder Path"}),
    #"Promoted Headers" = Table.PromoteHeaders(#"Removed Columns1", [PromoteAllScalars=true]),

Paso: filas filtradas le permite profundizar en la carpeta adecuada: uso Text.Contains para obtener la carpeta adecuada, o puede usar una carpeta explícita.

Paso: Añadido personalizado4 agrega una columna personalizada para extraer los CSV de la carpeta y enumerarlos como una TABLA que debe expandirse (siguiente paso)

Luego elimino todas las columnas innecesarias, excepto las columnas en la sección Personalizada expandida, y luego promociono los encabezados.

Esto debería tener todos sus archivos unidos en un espacio y luego puede agregar el resto de su código M (desde la línea desde donde continúan los próximos pasos de su ETL, recordando tener el primero linea de tu adjunto código para hacer referencia a #»Encabezados promocionados» y recuerde terminar su línea anterior de M con una coma para que no obtenga ningún error.

Si necesita unir archivos de Excel en lugar de archivos CSV, use esto Excel.Libro de trabajo en vez de csv.documento en el paso Custom4

Tuve el mismo problema que usted cuando pasé de la letra de la unidad física a una carpeta de Sharepoint. Una vez que lo entiendes, es bastante sencillo. También he agregado otro paso a esto para evitar la generación automática de consultas auxiliares/funciones personalizadas, y es posible que no necesite esto en su situación.

Si tiene más preguntas, comuníquese con nosotros.

Salud

Manfredo

GavinR87

En respuesta a mwimberger

Hola @mwimberger

¡Muchas gracias por la respuesta detallada!

Creo que ya casi estoy allí, pero me estoy quedando un poco atascado.

Llegué al paso 2 y estoy en el siguiente punto (ver captura de pantalla a continuación). Estoy atascado en qué hacer a continuación.

Tengo un filtro en la carpeta que quiero, pero no parece cargar los datos de todos mis archivos CSV.

Todavía soy muy nuevo en Power BI, así que no sé exactamente dónde pegar el código que amablemente me proporcionó. ¿Podría darme más consejos si es posible?

Salud

9x6TKSI

mwimberger

En respuesta a GavinR87

Hola @GavinR87

El siguiente paso cargará todos sus CSV juntos

– En el Editor de Power Query, en la pestaña «Agregar columna», elija «Columna personalizada»

Varios archivos 1.png

El siguiente paso es eliminar todas las demás columnas, excepto la personalizada que acaba de crear, haciendo clic con el botón derecho en la columna personalizada y eligiendo eliminar otras:

Varios archivos 2.png

Luego, debe expandir la columna personalizada haciendo clic en el botón expandir en la parte superior derecha de la columna:

Varios archivos 3.png

Y luego, el (posiblemente) paso final es promocionar los encabezados haciendo clic en Transformar: usar la primera fila como encabezados:

Varios archivos 4.png

Ahora tendrá los encabezados de columna que están en sus archivos CSV como encabezados en su tabla y podrá hacer todas las demás transformaciones que necesite.

PD: Cuando mencioné copiar el código, está usando el Editor avanzado, que es posible que no haya usado antes. Como se vuelve más versado en Power Query, comenzará a confiar en el Editor avanzado para copiar el código y reutilizarlo en otras situaciones, ya que luego puede modificarlo y ajustarlo a sus necesidades: Aquí es donde se encuentra en Power Query: hay dos formas para llegar a ella:

Editor avanzado.png

Ahora verá el código M que se ha traducido de todos los clics del mouse que realizó:

Editor avanzado 2.png

Espero que esto proporcione más claridad sobre los pasos que proporcioné en la primera respuesta. Algunas veces, las capturas de pantalla son una mejor manera de guiar a uno a través del proceso.

También Ruth de Curbal tiene un gran video sobre esto en Youtube:

Una forma más limpia, mejor y más rápida de importar archivos de forma masiva en Power BI

¡Ten un excelente fin de semana!

Salud

Manfredo

parar2k

@ GavinR87 seguramente puede hacer eso, puede usar la carpeta de sharepoint en su informe, necesita cambiar la fuente de datos de su tabla a la carpeta de sharepoint. Espero que este enlace ayude.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *