Alternativa para conectar Power Bi a OneDrive

Ciertamente parece sencillo conectarse a un OneDrive pues todo debería ser nativo, tener un conector e incluso podemos hacerlo desde la Web. Ciertamente me ocurrió que quería más flexibilidad en el modo de conexión a drive para poder explotarlo lo mayor posible desde Power Bi Desktop y que se actualice sin necesidad de un gateway. Para ello voy a enseñarles como conectar a OneDrive for business y OneDrive Personal con el conector de Excel.

El procedimiento en Power Bi es idéntico para los dos. Lo que cambiará es el modo de conseguir el link de acceso.

OneDrive para la empresa o Sharepoint

Vamos a navegar por la web o local (en caso que lo tengamos sincronizados) hasta el archivo que deseemos conectar. El ejemplo estará dado con un excel. Una vez que estemos en el archivo vamos a abrirlo con excel local.

En el menu de Archivo seleccionamos el siguiente botón:

image

La ruta se verá algo así: "https://[Empresa]-my.sharepoint.com/personal/ibarrau_[Empresa]/Documents/Pruebas%20Propias/PaisPciaDeptoLatiLon.xlsx?web=1

Antes de poder disponer del enlace, deberemos borrar el ?web=1 para que termine la dirección en xlsx.

OneDrive - Personal

Este caso es un poco más engorroso. Deberemos construir una URL propia a partir de valores que encontremos navegando en los archivos. La dirección a construir es algo así:

https://onedrive.live.com/download?resid=AAXXXX&authkey=AAXXXXXXX&em=x&app=Excel

Donde todo aquello que está en negrita vamos a reemplazarlo. La forma de obtener esos valores puede variar según el tipo de suscripción de onedrive personal que tengan. No funciona igual en todos los casos. Para conocer estas formas abramos nuestro onedrive personal y busquemos el archivo.

Para la primera alternativa daremos click derecho al archivo e insertar o embed.

image

Ésta opción generará un código html que nos ayudará a encontrar dichos valores:

<iframe src="https://onedrive.live.com/embed?cid=FC0C3DA0437DBE5A&resid=FC0C3DA0437DBE5A%217492&authkey=EOYoRrNlXisI6BY&em=2" width="402" height="346" frameborder="0" scrolling="no"></iframe>

Para la segunda alternativa vamos a dar click en "Share" o "Compartir" el archivo de excel.

Esto genera un enlace que comienza con 1drv. Copiemos y peguemos ese enlace en un navegador web para obtener un enlace como el siguiente:

https://onedrive.live.com/edit?id=FC0C3DE0157DVE3A!77979&resid=FA0C3DF0332DBE5A!71979&ithint=file%2cxlsx&authkey=!BOaAGc3bhiBgaas&wao=2&cid=fc0c3de0437dbe5a

Como pueden apreciar ese enlace tiene los valores que buscamos pintados en negrita listos para reemplazar.

La elección de cual usar es suya. Si aplican un método y no encuentran los valores de resid y de authkey, entonces intenten el otro modo.

Power Bi Desktop

Lo primero que haremos será abrir un Power Bi y Obtener Datos con el conector de excel. Elijamos cualquier de nuestra computadora y daremos "Editar" para dirigirnos al editor de consulta. Desde allí chequeamos en el menú Vista la "Barra de Fórmulas" para modificar unas líneas. Si seguimos todo igual tendremos el siguiente código.

image

Para conectarnos al excel de la web, vamos a hacer unos cambios. Primero borraremos la palabra "File" para reemplazarla por "Web" y luego copiaremos la cadena antes descrita entre las comillas de la dirección del archivo.

image

De esta forma podremos conectar a cualquiera archivo de OneDrive o Sharepoint como si fuera un excel. Por usar Web.Content no necesitará gateway cuando lo publiquemos a service.

¿Ya probaste conectarte?