Creación de un script para automatizar un proceso de negocio
Con la creciente globalización, la evolución de los mercados y la presión regulatoria para mejorar los entornos de riesgo y control en condiciones comerciales cambiantes es fundamental que las organizaciones desarrollen programas de monitoreo continuo. Estos programas de monitoreo continuo suelen requerir el uso de scripts para automatizar procesos. En este artículo, discutimos cómo crear un script en Analytics para automatizar un proceso de negocios.
Este artículo ilustra cómo automatizar la revisión de las tarjetas de compra (Pcards, en inglés) utilizando un script de Analytics. Sin embargo, el mismo flujo de trabajo también se puede aplicar a una variedad de otros casos de uso en finanzas, sistemas, auditoría, cumplimiento y riesgos.
Nota
Para los fines de esta guía de soluciones, no es necesario entender en detalle la creación de scripts. Si desea obtener más información, consulte Creación de scripts en Analytics.
¿Dónde puedo crear scripts?
Puede crear scripts en Analytics.
La visión general
Un proyecto de Analytics almacena información de análisis de datos, incluidas tablas y scripts.
Un script importa, prepara, analiza y exporta datos a Resultados.
Luego puede tomar un script que ejecute ad hoc en Analytics, convertirlo en un script de estudio analítico (agregando un encabezado de estudio analítico) y cargar el script a Robots para ejecutar tareas de forma automática.
Pasos
¿Listo para una visita guiada?
Echemos un vistazo más de cerca a estas características en el contexto.
Nota
Si desea probar el flujo de trabajo presentado en esta guía de soluciones, puede descargar archivos de datos de Excel (Pcard_Holders (titulares de tarjetas de compra) y Pcard_Transactions (transacciones con tarjetas de compra)) y copiar y pegar el script de ejemplo en Analytics. Alternativamente, simplemente puede revisar el script para tener una idea general de lo que hace.
1. Cree un script
Los scripts pueden ser tan simples como para ejecutar un comando en un solo campo o tan complejos como para realizar todo el trabajo necesario para alcanzar los objetivos del análisis.
Consejo
Normalmente, la mejor práctica es segregar tareas en scripts separados. Para su comodidad, hemos presentado la importación, preparación, análisis y exportación de datos en un solo script.
Ejemplo
Escenario
Usted es un auditor interno en Vandelay Industries, el principal fabricante de látex del país. Para ayudar a los empleados de Vandelay a realizar pequeñas compras de suministros de oficina y equipo de computadora, la gerencia ha implementado un programa Pcard. El programa Pcard requiere una revisión de auditoría anual para asegurase que las transacciones cumplan con las políticas de Vandelay.
Desea utilizar un script para automatizar las tareas claves involucradas en la realización de un análisis. Tiene la intención de exportar datos de excepción y transacciones a Resultados para fines de reportes.
Proceso
Importación, preparación y análisis de datos de los scripts.
Primero, crea un proyecto de Analytics y agrega los dos archivos de datos de Excel a la misma ubicación donde se guarda el proyecto de Analytics. Luego, crea un solo script en Analytics llamado Pcard_Review (Revisión de tarjetas de compra) que:
- importa los archivos de datos de Excel requeridos para el análisis
- prepara los datos antes del análisis
- analiza datos e identifica Pcards que exceden sus límites mensuales
Finalmente, ejecuta el script en Analytics, que produce una serie de tablas de origen, preparadas y de resultados.
Generar scripts para la exportación de datos a Resultados
Vaya a Resultados y cree dos contenedores de datos:
- Colección Revisión de la tarjeta de compra
- Análisis Auditoría de tarjetas de compra 2018
Desde Analytics, usted exporta manualmente:
- r_EmployeesOverMonthlyLimit a una nueva tabla Empleados por encima del límite mensual en Resultados
- p_Pcard_Transactions_2018 a una nueva tabla Transacciones con tarjetas de compra 2018 en Resultados
Finalmente, copie la sintaxis EXPORT del log de Analytics en el script.
Nota
Primero exporta manualmente para obtener la sintaxis correcta del script. Una vez programado, la exportación de datos se puede repetir de forma automatizada. La sintaxis de EXPORT contiene los identificadores específicos de la tabla de Resultados que necesita para ejecutar la porción de exportación de datos del script. Puede copiar el script completo a continuación y reemplazar las dos instancias de "XXXXXX@us" con los identificadores únicos de la tabla de Resultados.
Resultado: script de revisión de Pcard
COMMENT
*************************************************
*** Nombre del script: Pcard_Review
*** Descripción: Este script hace lo siguiente:
*** 1 - Importa información de Pcard_Holders y Pcard_Transactions
*** 2 - Prepara las tablas anteriores para su análisis
*** 3 - Identifica empleados y tarjetas que excedan sus límites mensuales
***
*** Escrito por: Su nombre, Vandelay - Fecha de hoy
*** Versión: 1.0
*************************************************
END
SET SAFETY OFF
SET SESSION
CLOSE PRIMARY
CLOSE SECONDARY
COMMENT
**********************
** Esta porción del script importa la tabla Pcard_Holders y la tabla Pcards_Transactions requeridas para la revisión de Pcard.
**********************
END
SET FOLDER /Data/_1_Source_tables
COMMENT*** Importa los datos de Pcard_Transactions
IMPORT EXCEL TO s_Pcard_Transactions "Pcard_Transactions.fil" FROM "Pcard_Transactions.xlsx" TABLE "Pcard_Transactions$" CHARMAX 150 KEEPTITLE
COMMENT*** Importa los datos de Pcard_Holders
IMPORT EXCEL TO s_Pcard_Holders "s_Pcard_Holders.fil" FROM "Pcard_Holders.xlsx" TABLE "Pcard_Holders$" CHARMAX 150 KEEPTITLE
COMMENT
**********************
** Esta parte del script prepara los datos para su análisis.
**********************
END
SET FOLDER /Data/_2_Prepared_tables
COMMENT*** Armonice los campos de número de tarjeta en las tablas s_Pcard_Holders y s_Pcard_Transactions para que pueda usarlos como campo de clave en una combinación posterior
OPEN s_Pcard_Holders
DEFINE FIELD c_card_number COMPUTED STRING(card_number, 16)
OPEN s_Pcard_Transactions
DEFINE FIELD c_card_number COMPUTED STRING(card_number, 16)
COMMENT*** Extrae las fechas de 2018 en la tabla s_Pcard_Transactions y las envía a p_Pcard_Transactions_2018
OPEN s_Pcard_Transactions
EXTRACT FIELDS ALL IF BETWEEN(transaction_date; `20180101` ; `20181231 235959`) TO "p_Pcard_Transactions_2018"
OPEN p_Pcard_Transactions_2018
COMMENT*** Extrae los campos obligatorios en s_Pcard_Holders y los envía a p_Pcard_Holders
OPEN s_Pcard_Holders
EXTRACT FIELDS employee_number employee_name email_address c_card_number limit_transaction limit_monthly TO "p_Pcard_Holders"
OPEN p_Pcard_Holders
COMMENT
**********************
** Esta parte del script analiza los datos para identificar si las tarjetas de compras están excediendo sus límites mensuales. Si las tarjetas exceden los límites mensuales, significa que los controles fallan y se requiere un seguimiento y acciones correctivas.
**********************
END
SET FOLDER /Data/_3_Results_tables
COMMENT*** Cree un campo calculado para determinar el mes en que ocurrió cada transacción para poder identificar las tarjetas que exceden su límite mensual
OPEN p_Pcard_Transactions_2018
DEFINE FIELD c_month COMPUTED ZONED(MONTH(transaction_date),2)
COMMENT*** Agrupe las transacciones por tarjeta y mes para calcular el total mensual de cada tarjeta.
OPEN p_Pcard_Transactions_2018
SUMMARIZE ON c_card_number c_month SUBTOTAL transaction_amount TO "t_SumTransByCardMonth.fil" OPEN PRESORT
COMMENT*** Determina el límite mensual para cada tarjeta relacionando t_SumTransByCardMonth
OPEN p_Pcard_Holders
INDEX ON c_card_number TO "Pcard_Holders_on_card_number"
OPEN t_SumTransByCardMonth
DEFINE RELATION c_card_number WITH p_Pcard_Holders INDEX Pcard_Holders_on_card_number
COMMENT*** Filtra y extrae los asuntos en los que se excedió el límite mensual
OPEN t_SumTransByCardMonth
SET FILTER TO transaction_amount > p_Pcard_Holders.limit_monthly
EXTRACT FIELDS ALL TO "r_CardsOverMonthlyLimit.fil"
OPEN r_CardsOverMonthlyLimit
COMMENT*** Une a r_CardOverMonthlyLimit con la tabla p_Pcard_Holders para identificar a los empleados que excedieron su límite mensual.
OPEN r_CardsOverMonthlyLimit
OPEN p_Pcard_Holders SECONDARY
JOIN PKEY c_card_number FIELDS c_month c_card_number COUNT transaction_amount SKEY c_card_number WITH email_address employee_name employee_number limit_monthly TO "r_EmployeesOverMonthlyLimit" PRESORT SECSORT
CLOSE SECONDARY
OPEN "r_EmployeesOverMonthlyLimit"
COMMENT*** Une a r_CardOverMonthlyLimit con la tabla p_Pcard_Holders para identificar a los empleados que excedieron su límite mensual.
OPEN r_CardsOverMonthlyLimit
OPEN p_Pcard_Holders SECONDARY
JOIN PKEY c_card_number FIELDS c_month c_card_number COUNT transaction_amount SKEY c_card_number WITH email_address employee_name employee_number limit_monthly TO "r_EmployeesOverMonthlyLimit" PRESORT SECSORT
CLOSE SECONDARY
OPEN "r_EmployeesOverMonthlyLimit"
COMMENT
**********************
** Esta porción del script exporta datos a la aplicación Resultados.
**********************
END
COMMENT*** Exporta a Resultados los registros de los empleados que están por encima de su límite mensual
OPEN r_EmployeesOverMonthlyLimit
EXPORT FIELDS c_month c_card_number COUNT email_address employee_name employee_number limit_monthly transaction_amount ACLGRC TO "XXXXXX@us" OVERWRITE
COMMENT*** Exporta las transacciones de Pcard del 2018 a Resultados
OPEN p_Pcard_Transactions_2018
EXPORT FIELDS transaction_number transaction_date transaction_amount source_currency merchant_number merchant_name merchant_location MCC country_code c_month c_card_number billing_currency account_id ACLGRC TO "XXXXXX@us" OVERWRITE
2. Agregue un encabezado de estudio analítico al script
Un encabezado de estudio analítico es una serie de etiquetas encerradas en un bloque de comentario al principio de un script de Analytics. El encabezado de estudio analítico es obligatorio para todos los scripts de estudios analíticos que desee ejecutar en Robots.
Las etiquetas son comandos declarativos dentro del encabezado de estudio analítico que definen entradas, salidas e instrucciones para un script de estudio analítico. Las etiquetas permiten que el script de estudio analítico se ejecute sin intervención del usuario, ya sea de forma inmediata o programada.
Consejo
Un encabezado de estudio analítico proporciona instrucciones sobre cómo ejecutar el script de estudio analítico en Robots. Robots utiliza algunas etiquetas para recibir información y otras especifican qué debe producir el script de estudio analítico. Por ejemplo, es posible que deba indicar a Robots qué archivo necesita para una importación o qué tabla de resultados debe poner a disposición de los usuarios finales.
Ejemplo
Escenario
Actualmente, usted ejecuta el script de Analytics de manera ad hoc. Desea programar el script para que se ejecute de forma automatizada. Esto lo liberará de la ardua tarea de ejecutar manualmente el análisis.
Proceso
Usted convierte el script normal en un script de estudio analítico agregando un encabezado de estudio analítico a Pcard_Review que incluye las siguientes etiquetas:
- FILE especifica un archivo de Excel que proporciona entrada para un script de estudio analítico que se ejecuta en Robots
- PASSWORD crea un parámetro de entrada de contraseña para un script de estudio analítico
- RESULT LOG asegura que se genere un log cada vez que se ejecuta el script de estudio analítico
- RESULT TABLE asegura que haya una tabla de resultados disponible para los usuarios finales cuando el script de estudio analítico se ejecute correctamente en Robots
Dado que el encabezado del estudio analítico ahora contiene la etiqueta PASSWORD, usted también agrega la sintaxis de PASSWORD a la parte del script que exporta los datos a Resultados.
Nota
El parámetro de entrada de la contraseña y el parámetro de contraseña del comando EXPORT se enlazan usando el mismo identificador numérico:
//PASSWORD 1 Token de acceso de HighBond
,
,
,
EXPORT ... PASSWORD 1
,
,
,
EXPORT ... PASSWORD 1
Resultado: script de revisión de Pcard con encabezado de estudio analítico y sintaxis de PASSWORD actualizada
COMMENT
//ANALYTIC TYPE Análisis de Pcard_Review
Este análisis identifica todas las tarjetas y empleados que excedieron su límite mensual de tarjetas y exporta las excepciones y transacciones a Resultados.
//FILE Pcard_Holders.xlsx
//FILE Pcard_Transactions.xlsx
//PASSWORD 1 Token de acceso de HighBond
//RESULT TABLE r_CardsOverMonthlyLimit
//RESULT LOG
END
COMMENT
*************************************************
*** Nombre del script: Pcard_Review
*** Descripción: Este script hace lo siguiente:
*** 1 - Importa información de Pcard_Holders y Pcard_Transactions
*** 2 - Prepara las tablas anteriores para su análisis
*** 3 - Identifica empleados y tarjetas que excedan sus límites mensuales
***
*** Escrito por: Su nombre, Vandelay - Fecha de hoy
*** Versión: 1.0
*************************************************
END
SET SAFETY OFF
SET SESSION
CLOSE PRIMARY
CLOSE SECONDARY
COMMENT
**********************
** Esta porción del script importa la tabla Pcard_Holders y la tabla Pcards_Transactions requeridas para la revisión de Pcard.
**********************
END
SET FOLDER /Data/_1_Source_tables
COMMENT*** Importa los datos de Pcard_Transactions
IMPORT EXCEL TO s_Pcard_Transactions "Pcard_Transactions.fil" FROM "Pcard_Transactions.xlsx" TABLE "Pcard_Transactions$" CHARMAX 150 KEEPTITLE
COMMENT*** Importa los datos de Pcard_Holders
IMPORT EXCEL TO s_Pcard_Holders "s_Pcard_Holders.fil" FROM "Pcard_Holders.xlsx" TABLE "Pcard_Holders$" CHARMAX 150 KEEPTITLE
COMMENT
**********************
** Esta parte del script prepara los datos para su análisis.
**********************
END
SET FOLDER /Data/_2_Prepared_tables
COMMENT*** Armonice los campos de número de tarjeta en las tablas s_Pcard_Holders y s_Pcard_Transactions para que pueda usarlos como campo de clave en una combinación posterior
OPEN s_Pcard_Holders
DEFINE FIELD c_card_number COMPUTED STRING(card_number, 16)
OPEN s_Pcard_Transactions
DEFINE FIELD c_card_number COMPUTED STRING(card_number, 16)
COMMENT*** Extrae las fechas de 2018 en la tabla s_Pcard_Transactions y las envía a p_Pcard_Transactions_2018
OPEN s_Pcard_Transactions
EXTRACT FIELDS ALL IF BETWEEN(transaction_date; `20180101` ; `20181231 235959`) TO "p_Pcard_Transactions_2018"
OPEN p_Pcard_Transactions_2018
COMMENT*** Extrae los campos obligatorios en s_Pcard_Holders y los envía a p_Pcard_Holders
OPEN s_Pcard_Holders
EXTRACT FIELDS employee_number employee_name email_address c_card_number limit_transaction limit_monthly TO "p_Pcard_Holders"
OPEN p_Pcard_Holders
COMMENT
**********************
** Esta parte del script analiza los datos para identificar si las tarjetas de compras están excediendo sus límites mensuales. Si las tarjetas exceden los límites mensuales, significa que los controles fallan y se requiere un seguimiento y acciones correctivas.
**********************
END
SET FOLDER /Data/_3_Results_tables
COMMENT*** Cree un campo calculado para determinar el mes en que ocurrió cada transacción para poder identificar las tarjetas que exceden su límite mensual
OPEN p_Pcard_Transactions_2018
DEFINE FIELD c_month COMPUTED ZONED(MONTH(transaction_date),2)
COMMENT*** Agrupe las transacciones por tarjeta y mes para calcular el total mensual de cada tarjeta.
OPEN p_Pcard_Transactions_2018
SUMMARIZE ON c_card_number c_month SUBTOTAL transaction_amount TO "t_SumTransByCardMonth.fil" OPEN PRESORT
COMMENT*** Determina el límite mensual para cada tarjeta relacionando t_SumTransByCardMonth
OPEN p_Pcard_Holders
INDEX ON c_card_number TO "Pcard_Holders_on_card_number"
OPEN t_SumTransByCardMonth
DEFINE RELATION c_card_number WITH p_Pcard_Holders INDEX Pcard_Holders_on_card_number
COMMENT*** Filtra y extrae los asuntos en los que se excedió el límite mensual
OPEN t_SumTransByCardMonth
SET FILTER TO transaction_amount > p_Pcard_Holders.limit_monthly
EXTRACT FIELDS ALL TO "r_CardsOverMonthlyLimit.fil"
OPEN r_CardsOverMonthlyLimit
COMMENT*** Une a r_CardOverMonthlyLimit con la tabla p_Pcard_Holders para identificar a los empleados que excedieron su límite mensual.
OPEN r_CardsOverMonthlyLimit
OPEN p_Pcard_Holders SECONDARY
JOIN PKEY c_card_number FIELDS c_month c_card_number COUNT transaction_amount SKEY c_card_number WITH email_address employee_name employee_number limit_monthly TO "r_EmployeesOverMonthlyLimit" PRESORT SECSORT
CLOSE SECONDARY
OPEN "r_EmployeesOverMonthlyLimit"
COMMENT*** Une a r_CardOverMonthlyLimit con la tabla p_Pcard_Holders para identificar a los empleados que excedieron su límite mensual.
OPEN r_CardsOverMonthlyLimit
OPEN p_Pcard_Holders SECONDARY
JOIN PKEY c_card_number FIELDS c_month c_card_number COUNT transaction_amount SKEY c_card_number WITH email_address employee_name employee_number limit_monthly TO "r_EmployeesOverMonthlyLimit" PRESORT SECSORT
CLOSE SECONDARY
OPEN "r_EmployeesOverMonthlyLimit"
COMMENT
**********************
** Esta porción del script exporta datos a la aplicación Resultados.
**********************
END
COMMENT*** Exporta a Resultados los registros de los empleados que están por encima de su límite mensual
OPEN r_EmployeesOverMonthlyLimit
EXPORT FIELDS c_month c_card_number COUNT email_address employee_name employee_number limit_monthly transaction_amount ACLGRC TO "XXXXXX@us" OVERWRITE PASSWORD 1
COMMENT*** Exporta las transacciones de Pcard del 2018 a Resultados
OPEN p_Pcard_Transactions_2018
EXPORT FIELDS transaction_number transaction_date transaction_amount source_currency merchant_number merchant_name merchant_location MCC country_code c_month c_card_number billing_currency account_id ACLGRC TO "XXXXXX@us" OVERWRITE PASSWORD 1
3. Cargue el script en Robots
Una vez que haya creado un script de estudio analítico en Analytics, puede cargarlo en un robot en la aplicación Robots para probar y configurar la automatización de tareas que necesita. La acción de cargar scripts desde Analytics a Robots recibe el nombre de confirmación y envío de scripts.
Consejo
Puede utilizar herramientas en Analytics para validar la sintaxis del encabezado del estudio analítico para asegurarse de que sea correcta. Realice la validación antes de confirmar y enviar los scripts a Robots para que el script analítico no falle cuando se ejecuta.
Ejemplo
Escenario
Desea ejecutar el script de estudio analítico de forma automatizada en la aplicación Robots. Necesita cargar el script en la aplicación Robots para comenzar.
Proceso
Desde el menú principal de Analytics, seleccione Archivo > Confirmar y enviar scripts. Seleccione su organización, especifique el nombre de Pcard Review 2018 para el nuevo robot y haga clic en Crear.
Finalmente, ingrese el siguiente mensaje de confirmación y haga clic en Aceptar:
Esta es la carga inicial de Pcard_Review, un script que se utiliza para automatizar la revisión de Pcards.
Resultado
Ha cargado correctamente el script del estudio analítico en un robot.
¿Qué sigue?
Aprenda cómo ejecutar el script del estudio analítico de forma automatizada
La aplicación Robots se utiliza para automatizar tareas repetitivas utilizando scripts incorporados en Analytics y liberar tiempo y recursos para que usted y su equipo realicen trabajos de naturaleza más estratégica.
Para descubrir más, consulte Programación de un análisis.
Inscríbase en un curso de Academia
Continúe desarrollando su conocimiento sobre los conceptos presentados en este artículo en ACL 270.
La Academia es el centro de recursos de capacitación en línea de Diligent. Los usuarios con una suscripción de Diligent One tienen acceso a los cursos de la Academia sin ningún costo. Para obtener más información, consulte Academia.