¿Conoces cómo optimizar tus procesos ETL? ¿Sabes cómo manipular metadatos? ¿Has oído hablar del Turbo Integrador de TM1? Con novedosas funciones de control de procesos, carga de datos o seguridad, esta herramienta TM1 tiene mucho que ofrecer. Entre sus funcionalidades más destacadas se encuentran:
Manipulación de cubos: que permite crearlos, recrearlos y actualizarlos.
Propagación de datos tras elegirlos desde múltiples tipos de fuente, como ASCII, ODBC, Cube View o Dimension Subset.
Escritura de funciones de reglas de negocio en el área avanzada, para mejorar el procesamiento de datos.
Ejecución de procesos y su calendarización, gracias a la funcionalidad Chores.
El Turbo Integrador de TM1 implica dejar de trabajar manualmente y comenzar a disfrutar del automatismo, con todo lo que ello implica en cuanto a:
Minimización de errores.
Velocidad.
Actualización.
Aumento de la calidad.
Para conocer más a fondo las funciones de Turbo Integrador TM1 puede accederse a este enlace.
El Turbo Integrador de TM1 es rápido y cuenta con una potencia significativa a la hora de cargar datos en TM1, sin embargo, su lenguaje de scripting puede ocasionar algunos problemas. El motivo es que presenta cuatro secciones de codificación (prólogo, metadatos, datos y epílogo), necesarias para cumplir sus funciones de:
Carga de datos procedentes de una fuente externa.
Manipulación de metadatos dentro de TM1 para su actualización.
Reconstrucción de dimensiones de metadatos dentro de TM1.
No todas estas funciones requieren la inclusión de un código y ello conlleva a no ajustarse a las mejores prácticas en lo referente al desarrollo de aplicaciones. En concreto, el problema principal es la carencia de subrutinas. Este elemento es necesario para definir funciones separadas y/o procedimientos que permitan llevar a cabo la repetición de tareas, estableciéndolas en base a una simple función o una llamada de procedimiento.
Pero, cuando se presenta una única pieza del código que requiere de su ejecución repetidas veces en distintas secciones de un proceso del Turbo Integrador TM1, las secciones relevantes del mismo han de repetirse también durante el dicho proceso. De hecho, puede suceder también que esta misma funcionalidad genérica sea requerida a lo largo de diferentes procesos, como la limpieza de cubos, provocando la repetición del código. Ello implica algunas desventajas:
Aumento de la complejidad de los procesos.
Aumento del tamaño de código.
Mayor coste de mantenimiento y testing.
Falta de consistencia.
Incremento de tiempo de desarrollo.
Además de un impedimento para la portabilidad.
No obstante, estos inconvenientes tienen solución y es muy sencilla. Basta con crear un proceso de Turbo Integrador separado para cada pieza de código más usada y considerarlo como un proceso parte del proceso principal.
Operando de este modo, la escritura del código no pierde flexibilidad en ningún momento y puede equipararse a un lenguaje que soporta subrutinas, sin serlo. Esta sencilla solución aporta la simplicidad que se buscaba, al eliminar la repetición de código de los procesos de Turbo Integrador de TM1 y consiguiendo que sean mucho más claros y fáciles de comprender.
Como resultado, se gana en consistencia y se reduce el tamaño de código y, con él, los costes de mantenimiento y ciclos de pruebas. Mejoran también el logging y la portabilidad, disminuyendo el tiempo de desarrollo requerido. Y además se consigue alcanzar la compartibilidad de código que permitirá que éste sea compartido de forma muy sencilla, gracias a lo bien documentado que queda cada proceso en base a nombres y parámetros.
Post relacionados: