#Novedades Power BI Octubre’19. Archivos PBIDS

#Novedades Power BI Octubre’19. Archivos PBIDS

Una de las novedades aparecidas en la última actualización de octubre es la inclusión de un nuevo tipo de archivo soportado por Power BI Desktop: .pbids

El archivo (.pbids) no es más que una estructura de conexión creada como un json que nos va a permitir, al ejecutarla, conectarnos directamente a un origen de datos previamente configurado en el propio json.

El objetivo es simplificar la experiencia de obtención de datos, pudiendo crear un archivo de conexión para las conexiones de uso común en la organización.

Cuando se abre un archivo PBIDS con Power BI Desktop, se solicitarán (si no están cacheadas en memoria) las credenciales de autentificación que fueran necesarias y luego aparecerá el cuadro de diálogo de navegación en el que el usuario deberá seleccionar la tabla o tablas que desea cargar al modelo.

Os muestro algunos ejemplos que aparecen en la documentación de los json de conexiones:

1º Conexión a una carpeta:

{

  «version»: «0.1»,

  «connections»: [

    {

      «details»: {

        «protocol»: «folder»,

        «address»: {

            «path»: «folder-path-here»

        }       }     }   ] }

https://docs.microsoft.com/en-us/power-bi/desktop-data-sources#using-pbids-files-to-get-data

2º Conexión a un archivo:

{

  «version»: «0.1»,

  «connections»: [

    {

      «details»: {

        «protocol»: «file»,

        «address»: {

            «path»: «path-here»

        }       }     }   ] }

https://docs.microsoft.com/en-us/power-bi/desktop-data-sources#using-pbids-files-to-get-data

Aunque en la documentación viene como ejemplo de archivos txt, admite cualquier origen de archivo como por ejemplo Excel.

3º Conexión a sql server:

{

  “version”: “0.1”,

  “connections”: [

    {

      “details”: {

        “protocol”: “tds”,

        “address”: {

          “server”: “server-name-here”,

          “database”: “db-name-here (optional)”

        }

      },

      “options”: {},

      “mode”: “Import”

    }   ] } }

https://docs.microsoft.com/en-us/power-bi/desktop-data-sources#using-pbids-files-to-get-data

En la línea de “options” puede incluirse una query de la siguiente forma: “options”: {Query: “select * from tabla”},

Incluyendo en el modelo directamente la tabla seleccionada.


OJO!! Hay que tener en cuenta que cuando pongamos la ruta de la carpeta o de un archivo, cada vez que utilicemos la barra “\” hay que sustitirla por doble barra “\\”

Vamos a poner un ejemplo concreto. Quiero acceder a un Excel de mi escritorio que se llama “prueba.xls”. Para crear el archivo .PBIDS abro el notepad , copio el código de la conexión de protocolo file y sustituyo el path-here por la ruta completa del Excel y lo guardo como .PBIDS

Fíjense en la doble barra al introducir la ruta

Al abrir el archivo prueba.pbids directamente me abre el navegador con la estructura de tablas del Excel:

Entre las limitaciones que encuentro actualmente al uso de los pbids, es que no se pueden configurar más de un origen de datos, de momento. Pero es no obstante una vía más de automatización de las conexiones que puede resultar interesante.

Francisco Mullor Cabrera

4 comentarios

Antonio Publicado el7:23 am - 28/10/2019

Muy util y muy buena novedad la de este mes, y muy bien explicada. Viendo esto me surge una duda:
Supongo que para conectarnos a un sql server y realizar una select especifica, esta se tiene que añadir en el apartado de ‘ options”: {} ‘ ¿no?

    FranM Publicado el7:54 am - 28/10/2019

    Pues no está nada claro ese asunto y estoy investigándolo.
    Lo único que pone en la documentación es lo siguiente:
    The original blog (and corresponding docs) say:
    «The .PBIDS file does not include authentication information and table and schema information.»
    Por lo que de ello se desprende que no existe la posibilidad de acceder al sistema de tablas y schemas directamente, sino simplemente hacer la conexión para entrar en la navegación.
    En todo caso en cuanto averigüe algo lo pondré por aquí.
    Un saludo

    FranM Publicado el11:08 am - 28/10/2019

    Pues te puedo confirmar (lo he probado con éxito) que efectivamente el «options» sirve para incluir una query:
    «options»: {Query: «select * from tabla»},
    Esto funciona perfectamente.
    El problema radica en que no se puede de momento traer más de una tabla en una conexión, pero espero que esto lo cambien y puedan configurarse pronto más de una tabla por conexión.

      Antonio Publicado el8:51 am - 04/11/2019

      Perfecto. Muchas gracias por la comprobación!!

Deja una respuesta