martes, 24 de enero de 2023

Power Query: Acceso a OneDrive local

En el post previo vimos como conseguir de manera automática nuestro usuario y unidad raiz.
Como continuación hoy veremos cómo acceder, basado en dicha información, al contenido de OndeDrive sincronizado en local.
OJOOO, el acceso a esa copia local puede mostrar datos no actualizados por fallos en el proceso de actualización de OneDrive!!

A partir de la consulta previa, crearemos una nueva Consulta en blanco con el siguiente código:
let
    usuario=NombresUSER[Name]{0},
    rutalocal=NombresUSER[Folder Path]{0},

    //accedemos al contenido de la carpeta de Users
    Origen = Folder.Contents(rutalocal),
    Origen2=Origen, //truco para 'evitar' el paso oculto de Navegación
    //Vamos al contenido de la carpeta con nuestro nombre de usuario
    Nombre = Origen2{[Name=usuario]}[Content],
    //y navegamos por fin a la carpeta de OneDrive
    // OJOOOO, personaliza el nombre de tu carpeta!!!
    OneDrive = Nombre{[Name="OneDrive - excelforo"]}[Content]
in
    OneDrive

Power Query: Acceso a OneDrive local

El resultado es un listado de todas las carpetas y ficheros contenidos... solo nos queda aplicar algún criterio de búsqueda para acceder a la información deseada...

Power Query: Acceso a OneDrive local
El código M desarrollado es muy sencillo, basándose en la función Folder.Contents que permite acceder al contenido de la carpeta y navegar por éste... de manera más rápida y ágil que con la función Folder.Files.

Por supuesto, igualmente podremos automatizar el acceso a la ruta Web de OneDrive/SharePoint:
let
    //empleando los datos obtenidos en la consulta previa
    usuario=NombresUSER[Name]{0},
    //componemos nuestra ruta URL
    rutaWeb="https://ircalcerrada-my.sharepoint.com/personal/" & usuario & "_excelforo_com/",

    //https://ircalcerrada-my.sharepoint.com/personal/excelforo_excelforo_com/Documents
    //accedemos al contenido de la carpeta de SharePoint/OneDrive
    Origen = SharePoint.Contents(rutaWeb, [ApiVersion=15]),
    //y a la carpeta que nos interese...
    Origen2=Origen{[Name="Documents"]}[Content]
in
    Origen2


Recuerda habilitar los credenciales de usuario cuando lo solicite ;-)

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.