Escritura de scripts para Analytics Exchange

Los scripts de Analytics no se limitan a la ejecución en Analytics únicamente. Al convertirlos en scripts de estudios analíticos y empaquetarlos en aplicaciones de análisis, también puede programar y ejecutar scripts en Analytics Exchange.

¿Qué se necesita?

Para completar este inicio rápido, se necesita lo siguiente:

  • una instalación de AX Cliente con una conexión activa a una instancia del Servidor de AX
  • una instalación de Analytics con la misma edición (Unicode o no Unicode) que su instalación de Analytics Exchange
  • acceso a los datos de muestra que vienen con Analytics

    Nota

    De forma predeterminada, los proyectos con datos de muestra se instalan en C:\Usuarios\nombre_de_usuario\Documentos\ACL Data\Archivos de datos de muestra en su sistema de archivos local.

Ejecución de scripts en Servidor de AX

Analytics Exchange utiliza el Motor de AX para ejecutar scripts identificados como estudios analíticos en el Servidor de AX. Una vez que un script se convierte en un estudio analítico y se importa al servidor, cada ejecución del script de estudio analítico representa un trabajo único, con su propio conjunto de resultados.

Cuando un estudio analítico se ejecuta en el Servidor de AX:

  1. Se crea una nueva carpeta temporal en el servidor para el trabajo.
  2. El estudio analítico y todas las tablas asociadas se exportan al nuevo proyecto de Analytics en la carpeta temporal.
  3. El Motor de AX del servidor abre el proyecto de Analytics, crea un nuevo log de comandos y ejecuta el script del estudio analítico.
  4. Todos los archivos, las tablas o los logs que especifica el encabezado de estudio analítico se conservan en una carpeta de Resultados que se asocia con la ejecución específica del trabajo.
  5. La carpeta y los archivos temporales se eliminan del servidor.

Consejo

Como el Motor de AX ejecuta los scripts de estudio analítico en una carpeta temporal, utilice las rutas relativas para hacer referencia a los archivos y las carpetas del servidor:

  • script en AnalyticsC:\ACL Data\MiProyecto\salida\resultados
  • script en Analytics Exchangesalida\resultados

Conversión de un script en un estudio analítico

Los scripts de Analytics se convierten en estudios analíticos incluyendo un encabezado de estudio analítico y quitando todas las funciones de Analytics que no se ejecutan en el Servidor de AX.

El siguiente script de Analytics se ejecuta en Analytics y realiza lo siguiente:

  1. Importa datos del archivo escalas_de_pagos.xlsx de los datos de muestra ACL_Rockwood mediante el comando IMPORT.
  2. Ordena los datos de una expresión utilizando el comando SORT.
  3. Solicita al usuario una serie de registros a extraer utilizando el comando ACCEPT.
  4. Extrae la cantidad de registros que el usuario especifica de la tabla ordenada mediante el comando EXTRACT.
SET SAFETY OFF

COMMENT Importar datos de EXCEL al proyecto
IMPORT EXCEL TO escalas_de_pagos "C:\Usuarios\nombre_de_usuario\Documentos\acl_de_trabajo\escalas_de_pagos.fil" FROM "C:\Usuario\nombre_de_usuario\Documentos\Datos de ACL\Archivos de datos de muestra\ACL_Rockwood\Escalas_de_pagos.xlsx" TABLE "Escalas_de_pago$" KEEPTITLE FIELD "DEPARTMENT" C WID 19 AS "" FIELD "POSITION" C WID 25 AS "" FIELD "MIN_HOURLY" N WID 6 DEC 2 AS "" FIELD "MAX_HOURLY" N WID 6 DEC 2 AS ""

COMMENT Abrir la tabla importada y ordenarla por la diferencia entre la tarifa horaria máxima y mínima
OPEN escalas_de_pagos
SORT ON (MAX_HOURLY - MIN_HOURLY)  D  TO "escalas_de_pagos_ordenadas" OPEN

COMMENT pedirle al usuario el número de registros que se deben extraer de la tabla ordenada
ACCEPT "Número de registros que se deben extraer: " TO v_valor_máx

COMMENT extraer la N cantidad de registros superiores según la diferencia
EXTRACT FIELDS DEPARTMENT MAX_HOURLY MIN_HOURLY POSITION (MAX_HOURLY - MIN_HOURLY) AS "SALARY_D" IF RECNO() <= %v_valor_máx% TO "diferencia_superior" OPEN

SET SAFETY ON

Agregar el encabezado del estudio analítico

Comience a convertir el script en un estudio analítico mediante el agregado de un encabezado de estudio analítico en la parte superior del archivo.

Un encabezado de estudio analítico es una serie de declaraciones encerradas dentro de un bloque de comentario al principio de un script. Una vez que cree y pruebe un script en un proyecto de Analytics, incluya un encabezado de estudio analítico para convertirlo en un script de estudio analítico que se ejecuta en Analytics Exchange:

Los encabezados de estudio analítico deben comenzar con la etiqueta ANALYTIC que identifica el script como un estudio analítico.

COMMENT
//ANALYTIC BrechaMáximaSalario
Importa un archivo EXCEL y extrae los primeros N registros basados en la brecha salarial
END

Si desea obtener más información acerca de los estudios analíticos, consulte Etiquetas y encabezados de estudios analíticos.

Cambio del comando IMPORT

Debido a que Motor de AX ejecuta los scripts de los estudios analíticos en una carpeta temporal, cambie las rutas absolutas del mandato IMPORT a rutas relativas para que Motor de AX pueda localizar archivos en el servidor:

COMMENT Importar datos de EXCEL al proyecto
IMPORT EXCEL TO escalas_de_pagos "Escalas_de_pagos.fil" FROM "Escalas_de_pagos.xlsx" TABLE "Escalasdepagos$" KEEPTITLE FIELD "DEPARTMENT" C WID 19 AS "" FIELD "POSITION" C WID 25 AS "" FIELD "MIN_HOURLY" N WID 6 DEC 2 AS "" FIELD "MAX_HOURLY" N WID 6 DEC 2 AS ""

También debe agregar la etiqueta FILE al encabezado para especificar el archivo de entrada Escalas_de_pagos.xlsx:

COMMENT
//ANALYTIC BrechaMáximaSalario
Importa un archivo EXCEL y extrae los primeros N registros basados en la brecha salarial
//FILE Escalas_de_pagos.xlsx
END

Motor de AX busca los archivos de entrada en la subcarpeta Archivos relacionados en Servidor de AX cuando se ejecuta el análisis. Si desea obtener más información, consulte FILE.

Quitar interacción con el usuario

Como el script de estudio analítico se ejecuta en el servidor y sin interacción con el usuario, debe quitar los comandos que solicitan información al usuario durante la ejecución. Compruebe escenarios de scripts de Analytics comunes antes de importar el script al Servidor de AX:

  • comandos interactivos para aceptar la información del usuario que se suele introducir en un cuadro de diálogo, reemplace los siguientes comandos por parámetros de entrada: PAUSE, ACCEPT, DIALOG, PASSWORD
  • sobrescritura de los archivos para sobrescribir los archivos sin confirmación, agregue SET SAFETY OFF al principio del script. Después puede restaurar la seguridad utilizando SET SAFETY ON al final del script
  • diálogos de confirmación para evitar la aparición de diálogos de confirmación después de los comandos DELETE o RENAME, use el parámetro OKDELETE table.fmt OK

En este caso, debe quitar el comando ACCEPT y reemplazarlo con un parámetro que se establece en AX Cliente cuando se programa o ejecuta el estudio analítico:

COMMENT Abrir la tabla importada y ordenarla por la diferencia entre la tarifa horaria máxima y mínima
OPEN escalas_de_pagos
SORT ON (MAX_HOURLY - MIN_HOURLY)  D  TO "escalas_de_pagos_ordenadas" OPEN

COMMENT extraer la N cantidad de registros superiores según la diferencia
EXTRACT FIELDS DEPARTMENT MAX_HOURLY MIN_HOURLY POSITION (MAX_HOURLY - MIN_HOURLY) AS "SALARY_D" IF RECNO() <= %v_valor_máx% TO "diferencia_superior" OPEN

Debe agregar el parámetro al encabezado del estudio analítico utilizando la etiqueta PARAM para poder establecer el valor de valor_máx desde AX Cliente:

COMMENT
//ANALYTIC BrechaMáximaSalario
Importa un archivo EXCEL y extrae los primeros N registros basados en la brecha salarial
//FILE Escalas_de_pagos.xlsx
//PARAM v_valor_máx N v_valor_máx
Cantidad de registros que se deben extraer
END

Al ejecutar o programar el estudio analítico desde AX Cliente, se le solicitará un valor numérico que Motor de AX luego utilizará siempre que % valor_máx% aparezca en el estudio analítico. Si desea obtener más información, consulte PARAM.

Guardado de los resultados de los estudios analíticos

Así como usa etiquetas de estudio analítico para definir las entradas de los estudios analíticos, también utiliza declaraciones de etiquetas de estudios analíticos para definir las tablas de salida y los archivos que se guardan en las carpetas deResultados y Datos en el Servidor de AX. Solo se conservan los elementos que se especifican mediante la etiqueta RESULT en el encabezado del estudio analítico, mientras que cualquier otra tabla, archivo o registro se descarta después de que se completa el trabajo del estudio analítico:

COMMENT
//ANALYTIC BrechaMáximaSalario
Importa un archivo EXCEL y extrae los primeros N registros basados en la brecha salarial
//FILE Escalas_de_pagos.xlsx
//RESULT LOG
//RESULT TABLE máx_diferencia
//PARAM v_valor_máx N v_valor_máx
Cantidad de registros que se deben extraer
END

El log y la tabla máx_diferencia ahora se guardan como resultados y están disponibles en Cliente Web AX después de cada ejecución del estudio analítico en Servidor de AX. Si desea obtener más información, consulte RESULT.

El estudio analítico completo

Ahora puede importar el estudio analítico completo junto con el archivo MS Excel relacionado a una carpeta en Servidor de AX. Cuando se ejecuta el estudio analítico, se especifica la cantidad de registros que se extraerán y se conserva una tabla y un archivo de registro como resultados que están disponibles en Cliente Web AX:

COMMENT
//ANALYTIC BrechaMáximaSalario
Importa un archivo EXCEL y extrae los primeros N registros basados en la brecha salarial
//FILE Escalas_de_pagos.xlsx
//RESULT LOG
//RESULT TABLE máx_diferencia
//PARAM v_valor_máx N v_valor_máx
Cantidad de registros que se deben extraer
END

SET SAFETY OFF

COMMENT Importar datos de EXCEL al proyecto
IMPORT EXCEL TO escalas_de_pagos "Escalas_de_pagos.fil" FROM "Escalas_de_pagos.xlsx" TABLE "Escalasdepagos$" KEEPTITLE FIELD "DEPARTMENT" C WID 19 AS "" FIELD "POSITION" C WID 25 AS "" FIELD "MIN_HOURLY" N WID 6 DEC 2 AS "" FIELD "MAX_HOURLY" N WID 6 DEC 2 AS ""

COMMENT Abrir la tabla importada y ordenarla por la diferencia entre la tarifa horaria máxima y mínima
OPEN escalas_de_pagos
SORT ON (MAX_HOURLY - MIN_HOURLY)  D  TO "escalas_de_pagos_ordenadas" OPEN

COMMENT extraer la N cantidad de registros superiores según la diferencia
EXTRACT FIELDS DEPARTMENT MAX_HOURLY MIN_HOURLY POSITION (MAX_HOURLY - MIN_HOURLY) AS "SALARY_D" IF RECNO() <= %v_valor_máx% TO "diferencia_superior" OPEN

SET SAFETY ON
Ayuda de Analytics Exchange 14.1 Cliente