Este proyecto está diseñado para apoyar en la consulta recurrente de información económica de INEGI. Para lograr esto, se usa la API que INEGI proporciona a los usuarios. Este programa está hecho en VBA porque pretendo que todo el proceso de recolección, tratamiento, análisis y presentación de datos se realice dentro de un ambiente conocido por la mayoría de usuarios: Excel.
-
Recomiendo revisar la página de INEGI que explica aspectos relevantes de su API, como los parámetros de la consulta: https://www.inegi.org.mx/servicios/api_indicadores.html
-
De igual forma, en el siguiente link directo se puede solicitar el Token: https://www.inegi.org.mx/app/desarrolladores/generatoken/Usuarios/token_Verify
-
Por último, aclaro que personalmente prefiero usar la página del Banco de Información Económica (BIE) de INEGI para buscar la información y obtener las claves (identificadores) de los datos.
-
Durante el desarrollo del código se utiliza el objeto MSXML2 para trabajar con los datos en formato XML. Para más información se puede consultar las siguientes páginas: ServerXMLHTTP y DOMDocument.
IMPORTANTE: para poder trabajar con los objetos que se declaran en el código, es indispensable habilitar la referencia Microsoft XML, v6.0 de la pestaña de herramientas (Tools) dentro de VBA.
En el archivo Module1.bas se puede encontrar el Módulo de VBA que contiene el código para utilizar la API de INEGI.
Este código se puede dividir en tres secciones.
-
En la primera parte se declara el Token como una constante privada, lo que permite que esté disponible en todo el módulo.
Private Const inegi_token As String = "[Token]"
El Token lo pueden generar ingresando en el segundo link en la documentación. Una vez que ingresen a la página deben introducir un correo electrónico en el que INEGI enviará el Token.
-
En la segunda parte se construye una función que realiza el procedimiento de consulta y almacenamiento de información. Esta función depende de una única variable ("clave"), la cual se define en la subrutina posterior.
Function API_INEGI(clave)
-
En la última sección se crea una subrutina donde se declara a la variable "clave" y se utiliza como insumo en la función. Posteriormente se imprimen los datos en Excel.
Sub pib()
Para conocer la "clave" de los datos pueden apoyarse del Constructor de Consultas de la página de la API de INEGI o pueden acceder a la pestaña de Metadados al revisar los indicadores directamente del BIE:
Por lo tanto, una vez declarado el Token y la clave dentro del código, se puede consultar la información usando la API de INEGI. Recomiendo que asignen a un botón la subrutina (macro) para tener un control desde Excel.
La lógica del código permite aumentar el número de consultas al declarar una lista con claves que junto con un ciclo for permitirá realizar varias consultas de información.
También es posible crear varias subrutinas que se pueden ejecutar en distintas hojas de Excel. Se puede insertar un botón con la macro asignada y realizar las consultas repetidas veces.
Todo depende de las necesidades del proyecto o de las especificaciones de los usuarios para hacerlo más fácil de manejar.
-
Optimizar y automatizar la consulta de información que publica periódicamente INEGI.
-
Facilitar la comprensión de métodos y objetos en VBA para el uso de la API de INEGI.
-
Construir un código que sirva como base para un proyecto que involucre analizar las condiciones económicas de México con información disponible en INEGI.
Como una explicación adicional, he subido un video a YouTube en el que platico cómo usar el código en VBA para obtener información económica de INEGI a través de su API. Espero que de esta forma puedan aclararse algunas dudas sobre cómo cargar el Module1.bas así como dónde se deben declarar las variables.
Cualquier comentario, pregunta o sugerencia son bien recibidas para mejorar el contenido de este proyecto.







