Excel ODBC SQL Server

ODBC Conectividad Abierta a una Base de Datos (Open DataBase Connectivity)

Aún me emociono al pensar cuando lo descubrí.

Ya no necesitaba «picar» o teclear mis datos en una Excel, ni tan siquiera exportar los datos del ERP al Excel.

Directamente desde Excel, Consultar al Origen de Base de Datos y obtener los datos al instante. Botón derecho, actualizar. Fin.

Olvídate del ERP y sus informes. Hay que acceder a la Base de Datos.

Sistema de Gestión de la Información

Todo Sistema de Información Empresarial consta de 3 capas, otro día escribiré de ello:

      • Infraestructura de servidor, sistema operativo, comunicaciones, etc.
      • La BBDD Base de Datos propiamente dicha.
      • El ERP o Programa de Gestión.

Como Empresa te digo, me da igual la infraestructura hoy es la que es, pero mañana estará en la nube, seguro.

El Programa de Gestión o ERP me permite introducir datos en la BBDD con cierta automatización y coherencia, con unas reglas de negocio más o menos establecidas, nada mas. Reglas son las que me permiten o no las altas, bajas o modificaciones de registros de facturas, asientos contables, etc.

Estos ERP suelen ser bastante deficientes para visualizar información, permiten obtener listados, exportar a Excel, reporting en general, pero en el momento en que aparecieron las herramientas de BI, los usuarios «consumen» la información en BI y no en el ERP.

Donde de verdad está el VALOR de tu empresa, es en los DATOS de la BBDD.

En esa capa intermedia. En las Tablas y Relaciones que forman la Base de Datos.

Insisto. la infraestructura y el ERP van y vienen, lo que debe perdurar es tu Modelo de Datos.

Trabajas muchos informes en Excel

Excel es una gran herramienta, consigues trabajar con datos de forma rápida y fácil. Y normalmente llegas a cualquier cosa que te propongas.

Aporta flexibilidad, hoy tratas los DATOS de una forma y mañana cambias una fórmula. No necesitas programar, dependes de ti mismo.

Sin embargo, trabajar con muchos datos en Excel es fuente de problemas. Puedes modificar datos sin darte cuenta, incluso romper la estructura de esos datos.

Para eso están las BBDD Bases de Datos.

Conecta a los datos y trabaja con ellos en Excel.

Es un primer paso, aprende a caminar antes de correr, Power BI.

Conexión ODBC a la Base de Datos.

Buscar la aplicación OBDC. Pulsa sobre el icono Windows y teclea ODBC

Normalmente tendrás un Sistema Operativo de 64 bits, con Excel de 64 bits, etc. Si es muy antiguo pues ya sabes… 32.

Aparecerá el Administrador de origen de datos ODBC, normalmente con algunos orígenes pre-cargados. Debes Agregar un controlador ODBC para tu Base de Datos, en mi caso es SQL Server y usare el Driver SQL Server Native Client 11. Si no lo tienes deberás instalarlo, reinicia después de instalar 😉

Normalmente el informático te puede ayudar en crear la conexión, los nombres y ubicaciones de las Bases de Datos, etc. Pero te explico:

Al darle a finalizar nos pide:

Nombre y Descripción: Aquí lo que quieras.

Servidor: localhost\SQL

En mi caso tengo un SQLExpress instalado en mi ordenador local. También funcionaría con 127.0.0.1\SQL (127.0.0.1 es la IPLocal de todos los PC)

Si la Base de Datos esta ubicada en un Servidor deberías poner NombreServidor\NombreInstancia. También funciona con IPServidor\NombreInstancia.

Para averiguar NombreServidor y NombreInstancia, llama a tu informático, bueno, espera, que igual le tienes que preguntar algo más…

Dale a siguiente y te pregunta ¿Quien eres para darte acceso?

Plan A: Prueba (circulo rojo) como usuario de windows, igual te deja si esta dado de alta.

Plan B: Accede como usuario SQL y dile al informático que te de usuario (id. de inicio de sesión, para ser técnicamente correctos en SQL) y contraseña

Ahora para una configuración estándar, siguiente, siguiente hasta el final.

Probar la conexión y ver las PRUEBAS COMPLETADAS CORRECTAMENTE

Vamos ahora al Excel.

Conectar desde EXCEL a la Base de Datos.

Debes saber que en las versiones actuales de Excel (yo uso Office 365 y el Excel se actualiza cada mes o menos) usan Microsoft Query para la importación de datos.

Menú Datos, Obtener Datos, Desde otras fuentes, Desde Microsft Query.

Podríamos usar Desde una Base de Datos, SI, pero ya no sería vía ODBC, sigamos.

Lo siguiente nos va a sonar porque al pinchar en «Desde Microsoft Query» aparece Elegir origen de datos, el que previamente hemos definido con la ODBC: MiNuevaConexion, seleccionar y Aceptar.

Microsoft Query tiene dos formas de presentar o interfaces para realizar la consulta.

La primera es esta pantalla: Asistente para consultas.

Pulsa en Cancelar, no me gusta usar el asistente, otro día lo pruebas.

Y luego ¿Desea continuar…? le dices Si.

Llegas a esta segunda forma de realizar la consulta en Microsoft Query:

Selecciona:

      1. La Base de datos (en este caso se llama, quique)
      2. El Propietario (normalmente dbo)
      3. Y aparecen las tablas que forman la Base de Datos

Vamos a seleccionar por ejemplo la tabla FacturasLineas y Agregar.

La tabla queda incorporada a la consulta, muestra todos los campos que la forman, ¿ves mas oscuros los campos clave?

Recuerda Cerrar en cuadro de dialogo Agregar tablas para poder continuar.

El siguiente paso es decidir qué campos queremos traer desde la tabla de la Base de Datos SQL Server hasta nuestra hoja Excel.

Hacemos doble click en el campo que nos interese, uno a uno, o bien directamente en el (*) en lenguaje Query significa todos los campos.

Ahora ya solo nos queda Devolver datos a la hoja Excel. Para ello click en el botón con una puerta abierta y la flecha indicando la salida y fin.

Simplemente queda decirle donde queremos los datos en Excel.

Finalmente obtienes los datos de la Base de Datos en Excel.

Este proceso se realiza cuando defines la conexión y la consulta por primera vez.

Guarda el Libro EXCEL con el nombre que quieras.

Cuando lo abras en este u otro equipo que tenga esta conexión ODBC, con el botón contrario sobre los datos de la tabla importada con ODBC, es decir sobre las celdas azules, tienes la opción de Actualizar los datos. Fin.

Tablas y Relaciones, Consultas y Sentencias SQL

Entender estos conceptos es fundamental para avanzar en análisis de DATOS.

Tablas y Relaciones

Las facturas tienen un encabezado y unas líneas, son 2 tablas distintas y están relacionadas por el número de factura.

No se pueden ver en una única tabla, porque una única factura tiene distintas líneas.

Las tablas tienen campos (columnas) y registros (líneas).

En el encabezado o cabecera de factura suele estar los campos:

      • La serie y el número de factura
      • La fecha de la factura
      • El cliente y sus condiciones particulares para esta factura

En las líneas de factura suele estar los campos:

      • La serie y el número de factura, (que es como se relaciona con la cabecera)
      • El número de línea o posición
      • El artículo o concepto
      • La cantidad
      • El precio

Todo lo demás son cálculos:

      • El importe de cada línea = cantidad x precio
      • El importe total = suma (importes de cada línea)

A la relación entre estas 2 tablas se le llama de uno a muchos, es decir:

Un registro en la cabecera (una llave) a Muchos registros en líneas (símbolo infinito)

Una consecuencia obvia de este tipo de relación entre tablas es la forma de verlas en Excel.

a) Una tabla en cada hoja

b) Una tabla con todas las líneas, en la que se repiten (fecha y cliente) de la cabecera

A las tablas también se las llama “entidades” por este motivo a los modelos de datos también se les llama modelos entidad-relación.

Como se crean las Tablas

Las Tablas o entidades y sus relaciones definen toda la BBDD Base de Datos

Al crear una tabla se definen sus campos (que luego serán columnas) con el tipo de dato que albergará, básicamente pueden ser números enteros (int), decimales, texto (char) o fechas, aunque hay algunos tipos más, no es relevante ahora.

Vemos que la tabla FacturasCabecera tiene una Clave Única (símbolo llave) en SerieFactura

Por otro lado, la tabla FacturasLineas tiene una Clave Única Compuesta los campos: SerieFactura + NumeroLinea.

Los campos clave de una tabla, no pueden contener valores nulos.

Vistas o Consultas

Hemos dicho que las tablas albergan DATOS “Reales”

Ahora vamos a explicar que son las Vistas. En otras aplicaciones, Access por ejemplo las llama Consultas.

Las Vistas tienen datos calculados o virtuales. Esos datos NO existen más que en los campos de los que se calculan. NO están grabados en ninguna tabla de la BBDD.

Volvamos al ejemplo de las Facturas.

Podemos crear una Vista llamada vFacturasLineas que contenga, además de los datos de la tabla FacturasLineas un campo Importe = Cantidad x Precio. Esta Vista se define como:

SELECT
SerieFactura, NumeroLinea, Articulo, Cantidad, Precio, Cantidad*Precio AS Importe
FROM
FacturasLineas

Sentencias SQL

SELECT, Selecciona o Consulta una serie de campos de una o varias tablas

Estas sentencias son equivalentes: el (*) equivale a: todos los campos de la(s) tabla(s)

SELECT * FROM FacturasLineas (FROM = tabla origen)

SELECT SerieFactura, NumeroLinea, Articulo, Cantidad, Precio FROM FacturasLineas

UPDATE, Modifica una serie de campos de una o varias tablas

Esta es una sola sentencia
UPDATE FacturasCabecera SET Cliente = 22 WHERE SerieFactura=101

Esta es la misma sentencia escrita en varias líneas y explicada
UPDATE FacturasCabecera
SET Cliente = 22 (SET = cambia el campo)
WHERE SerieFactura=101 (WHERE = donde)

DELETE, Borra registros de una tabla

Esta sentencia borra los registros donde SerieFactura sea igual a 101
DELETE FROM FacturasCabecera WHERE SerieFactura=101

Con estos conceptos claros no tendrás inconveniente en seguir otras explicaciones algo mas avanzadas.