Obtención de datos de orígenes de datos relacionales

Completado

Si su organización usa una base de datos relacional para ventas, puede usar Power BI Desktop para conectarse directamente a la base de datos en lugar de usar archivos planos exportados.

El hecho de conectar Power BI a la base de datos le ayudará a supervisar el progreso del negocio e identificar las tendencias, de modo que pueda pronosticar cifras de ventas, planear presupuestos y establecer indicadores y objetivos de rendimiento.   Power BI Desktop puede conectarse a muchas bases de datos relacionales que están en la nube o en un entorno local.

Escenario

El equipo de ventas de Tailwind Traders le ha pedido que se conecte a la base de datos de SQL Server local de la organización y que obtenga los datos de ventas en Power BI Desktop para poder crear informes de ventas.

Conexión a los datos de una base de datos relacional

Puede usar la característica Obtener datos de Power BI Desktop y seleccionar la opción aplicable para la base de datos relacional. En este ejemplo, seleccionaría la opción SQL Server, tal como se muestra en la captura de pantalla siguiente.

Sugerencia

Junto al botón Obtener datos se encuentran opciones de acceso rápido al origen de datos, como SQL Server.

El siguiente paso consiste en escribir el nombre del servidor de base de datos y un nombre de base de datos en la ventana Base de datos SQL Server.  Las dos opciones del modo de conectividad de datos son Importar (opción recomendada y seleccionada de forma predeterminada) y DirectQuery. En general, seleccionará Importar. También hay otras opciones avanzadas disponibles en la ventana Base de datos SQL Server, puedo puede omitirlas por ahora.

Una vez que haya agregado los nombres del servidor y de la base de datos, se le pedirá que inicie sesión con un nombre de usuario y una contraseña. Tendrá tres opciones de inicio de sesión:

  • Windows: use la cuenta de Windows (credenciales de Azure Active Directory).

  • Base de datos: use las credenciales de la base de datos.   Por ejemplo, SQL Server tiene su propio sistema de inicio de sesión y autenticación, que se usa a veces.   Si el administrador de la base de datos le ha proporcionado un inicio de sesión único para la base de datos, es posible que tenga que escribir esas credenciales en la pestaña Base de datos.

  • Cuenta de Microsoft: use las credenciales de la cuenta de Microsoft.  Esta opción suele usarse para los servicios de Azure.

Elija una opción de inicio de sesión, escriba su nombre de usuario y contraseña y seleccione Conectar.

Selección de los datos para importar

Una vez que la base de datos se conecta a Power BI Desktop, en la ventana Navegador se muestran los datos que están disponibles en el origen de datos (en este ejemplo, la base de datos SQL). Puede seleccionar una tabla o entidad para obtener una vista previa de su contenido y asegurarse de que se cargan los datos correctos en el modelo de Power BI.

Active las casillas de las tablas que quiere incluir en Power BI Desktop y seleccione la opción Cargar o Transformar datos.

  • Cargar: cargue automáticamente los datos en un modelo de Power BI en su estado actual.

  • Transformar datos: abra los datos en Microsoft Power Query, donde puede realizar acciones como eliminar filas o columnas innecesarias, agrupar los datos, quitar errores y muchas otras tareas relacionadas con la calidad de los datos.

Importación de los datos mediante la escritura de una consulta SQL

Otra manera de importar datos consiste en escribir una consulta SQL para especificar solo las tablas y las columnas que se necesitan.

Para escribir una consulta SQL, en la ventana Base de datos SQL Server, escriba los nombres del servidor y de la base de datos y, luego, seleccione la flecha situada junto a Opciones avanzadas para expandir esta sección y ver las opciones. En el cuadro Instrucción SQL, escriba la instrucción de consulta y seleccione Aceptar. En este ejemplo, usará la instrucción SQL Select para cargar las columnas ID, NAME y SALESAMOUNT desde la tabla SALES.

Modificación de la configuración del origen de datos

Después de crear una conexión a un origen de datos y de cargar los datos en Power BI Desktop, puede regresar en cualquier momento y cambiar la configuración de conexión.  Esta acción suele ser necesaria cuando lo requiere una directiva de seguridad de la organización, por ejemplo, si es necesario actualizar la contraseña cada 90 días.  Puede cambiar el origen de datos, editar los permisos o borrarlos.

En la pestaña Inicio, seleccione Transformar datos y, luego, la opción Configuración del origen de datos.

En la lista de orígenes de datos que se muestra, seleccione el origen de datos que quiere actualizar.  Después, puede hacer clic con el botón derecho en ese origen de datos para ver las opciones de actualización disponibles, o bien puede usar los botones de la opción de actualización que aparecen en la parte inferior izquierda de la ventana.  Seleccione la opción de actualización que necesite, cambie la configuración según sea necesario y aplique los cambios.

También puede cambiar la configuración del origen de datos desde Power Query. Seleccione la tabla y, luego, la opción Configuración del origen de datos en la cinta Inicio. También puede ir al panel Configuración de la consulta en el lado derecho de la pantalla y seleccionar el icono de configuración situado junto a Origen (o hacer doble clic en Seleccionar origen). En la ventana que aparece, actualice los detalles del servidor y de la base de datos y, luego, seleccione Aceptar.

Una vez que haga los cambios, seleccione Cerrar y aplicar para aplicarlos a la configuración del origen de datos.

Escritura de una instrucción SQL

Como ya se ha indicado, puede importar datos en el modelo de Power BI mediante una consulta SQL.  SQL, o Lenguaje de consulta estructurado, es un lenguaje de programación normalizado que se usa para administrar bases de datos relacionales y realizar diversas operaciones de administración de datos.

Considere una base de datos con una tabla grande que se compone de los datos de ventas a lo largo de varios años. Los datos de ventas a partir de 2009 no son pertinentes para el informe que está creando. En esta situación, SQL es beneficioso porque permite cargar solo el conjunto de datos necesario. Para ello, se especifican columnas y filas concretas en la instrucción SQL y, luego, se importan en el modelo semántico.  También se pueden combinar tablas diferentes, ejecutar cálculos específicos, crear instrucciones lógicas y filtrar datos en la consulta SQL.

En el ejemplo siguiente se muestra una consulta simple en la que se seleccionan los elementos ID, NAME y SALESAMOUNT de la tabla SALES.

La consulta SQL empieza con una instrucción Select, que le permite elegir los campos específicos que quiere extraer de la base de datos.  En este ejemplo, le interesa cargar las columnas ID, NAME y SALESAMOUNT.

SELECT
ID
, NAME
, SALESAMOUNT
FROM

FROM especifica el nombre de la tabla de la que quiere extraer los datos. En este caso, es la tabla SALES. El ejemplo siguiente es la consulta SQL completa:

SELECT
ID
, NAME
, SALESAMOUNT
FROM
SALES

Al usar una consulta SQL para importar datos, procure evitar el uso del carácter comodín (*) en la consulta. Si usa el carácter comodín (*) en la instrucción SELECT, importará todas las columnas que no necesita de la tabla especificada.

En el ejemplo siguiente se muestra la consulta con el carácter comodín.

SELECT *
FROM
SALES

El carácter comodín (*) importará todas las columnas de la tabla Sales. No se recomienda este método porque producirá una redundancia en el modelo semántico, lo que conllevará problemas de rendimiento y requerirá pasos adicionales a fin de normalizar los datos para la creación de informes.

Todas las consultas deben tener también una cláusula WHERE. Esta cláusula filtrará las filas de modo que solo se seleccionen los registros filtrados que le interesen. En este ejemplo, si quiere obtener datos de ventas recientes a partir del 1 de enero de 2020, agregue una cláusula WHERE. La consulta evolucionada tendría un aspecto similar al siguiente.

SELECT
ID
, NAME
, SALESAMOUNT
FROM
SALES
WHERE
OrderDate >= ‘1/1/2020’

Se recomienda no hacerlo directamente en Power BI. En su lugar, considere la posibilidad de escribir una consulta como esta en una vista. Una vista es un objeto de una base de datos relacional, similar a una tabla. Las vistas tienen filas y columnas y pueden contener casi todos los operadores del lenguaje SQL. Si Power BI usa una vista, cuando recupera datos, participa en el plegado de consultas, una característica de Power Query. El plegado de consultas se explicará más adelante, pero, en pocas palabras, Power Query optimiza la recuperación de datos en función de cómo se vayan a usar más adelante.