Criação de scripts para o Analytics Exchange

A execução dos scripts do Analytics não está limitada apenas ao Analytics. Você também pode convertê-los em scripts de análise e empacotá-los em aplicativos de análise para agendar e executar scripts no Analytics Exchange.

Do que você precisa?

Para concluir esse início rápido, você precisará do seguinte:

  • uma instalação do Cliente AX com uma conexão em funcionamento a uma instância do Servidor AX
  • uma instalação do Analytics com a mesma edição (Unicode ou não Unicode) da sua instalação do Analytics Exchange
  • acesso aos dados de amostra fornecidos com o Analytics

    Nota

    Por padrão, os projetos de dados de amostra são instalados em C:\Usuários\nome_de_usuário\Documentos\ACL Data\Arquivos de dados da amostra no sistema de arquivos local.

Execução de script no Servidor AX

O Analytics Exchange usa o Motor AX para executar scripts identificados como análises no Servidor AX. Após a conversão de um script em uma análise e sua importação para o servidor, cada execução de script de análise representa uma única tarefa, com seu próprio conjunto de resultados.

Quando uma análise é executada no Servidor AX:

  1. Uma nova pasta temporária é criada no servidor para a tarefa.
  2. A análise e todas as tabelas associadas são exportadas para um novo projeto do Analytics na pasta temporária.
  3. O Motor AX no servidor abre o projeto do Analytics, cria um novo log de comandos e executa o script de análise.
  4. Todos os arquivos, tabelas ou logs especificados pelo cabeçalho da análise são retidos em uma pasta Resultados, associada à execução da tarefa específica.
  5. A pasta e os arquivos temporários são excluídos do servidor.

Dica

Como o Motor AX executa scripts de análise em uma pasta temporária, use caminhos relativos para fazer referência a pastas e arquivos no servidor:

  • script no AnalyticsC:\ACL Data\MyProject\output\results
  • script no Analytics Exchangeoutput\results

Conversão de um script em uma análise

Os scripts do Analytics são convertidos em análises incluindo um cabeçalho de análise e removendo todas as funcionalidades do Analytics que não podem ser executadas no Servidor AX.

O seguinte script do Analytics é executado no Analytics e faz o seguinte:

  1. Importa dados do arquivo Escalas_salariais.xlsx dos dados de amostra ACL_Rockwood usando o comando IMPORT.
  2. Ordena os dados em uma expressão usando o comando SORT.
  3. Solicita ao usuário um número de registros a extrair usando o comando ACCEPT.
  4. Extrai o número de registros especificado pelo usuário da tabela ordenada usando o comando EXTRACT.
SET SAFETY OFF

COMMENT Importar dados do EXCEL para o projeto
IMPORT EXCEL TO escalas_salariais "C:\Usuários\nome_de_usuário\Documentos\acl_trabalho\escalas_salariais.fil" FROM "C:\Usuários\nome_de_usuário\Documentos\ACL Data\Arquivos de dados da amostra\ACL_Rockwood\Escalas_salariais.xlsx" TABLE "Escalassalariais$" 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 tabela importada e classificar pela diferença entre a tarifa por hora máxima e mínima
OPEN escalas_salariais
SORT ON (MAX_HOURLY - MIN_HOURLY)  D  TO "escalas_salariais_classificadas" OPEN

COMMENT solicitar ao usuário o número de registros a serem extraídos da tabela classificada
ACCEPT "Número de registros a extrair: " TO v_top

COMMENT extrair N maiores registros com base na diferença
EXTRACT FIELDS DEPARTMENT MAX_HOURLY MIN_HOURLY POSITION (MAX_HOURLY - MIN_HOURLY) AS "SALARY_D" IF RECNO() <= %v_top% TO "top_difference" OPEN

SET SAFETY ON

Adição do cabeçalho da análise

Comece convertendo o script em uma análise adicionando um cabeçalho da análise à parte superior do arquivo.

Um cabeçalho da análise é uma série de declarações incluídas em um bloco de comentários no início de um script. Após criar e testar um script em um projeto do Analytics, inclua um cabeçalho de análise para convertê-lo em um script de análise que pode ser executado no Analytics Exchange.

Os cabeçalhos de análise devem começar com a tag ANALYTIC, que identifica o script como uma análise:

COMMENT
//ANALYTIC TopWageGap
Importa um arquivo do EXCEL e extrai os N principais registros com base na lacuna de salários
END

Para obter mais informações sobre as tags de análise, consulte Cabeçalhos e tags da análise.

Alteração do comando IMPORT

Como o Motor AX executa scripts analíticos em uma pasta temporária, altere os caminhos absolutos do comando IMPORT para caminhos relativos de modo que o Motor AX possa localizar arquivos no servidor:

COMMENT Importar dados do EXCEL para o projeto
IMPORT EXCEL TO escalas_salariais "Escalas_salariais.fil" FROM "Escalas_salariais.xlsx" TABLE "Escalas_salariais$" 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 ""

Você também deve adicionar a tag FILE o cabeçalho para especificar o arquivo de entrada Pay_scales.xlsx:

COMMENT
//ANALYTIC TopWageGap
Importa um arquivo do EXCEL e extrai os N principais registros com base na lacuna de salários
//FILE Pay_scales.xlsx 
END

O Motor AX procura arquivos de entrada na subpasta Arquivos relacionados no Servidor AX quando a análise é executada. Para obter mais informações, consulte FILE.

Remover interação do usuário

Como o script de análise é executado no servidor, sem interação com o usuário, todos os comandos que solicitam informações do usuário durante a execução devem ser removidos. Verifique os cenários comuns de script do Analytics antes de importá-lo para o Servidor AX:

  • comandos interativos para aceitar entradas do usuário, normalmente inseridas em uma caixa de diálogo; substitua os comandos a seguir com parâmetros de entrada: PAUSE, ACCEPT, DIALOG e PASSWORD
  • sobrescrita de arquivos para sobrescrever arquivos sem confirmação, adicione SET SAFETY OFF no início do script e desfaça isso no final do script com SET SAFETY ON
  • diálogos de confirmação para evitar caixas de diálogo de confirmação após os comandos DELETE ou RENAME, use o parâmetro OKDELETE tabela.fmt OK

Nesse caso, você deve remover o comando ACCEPT e substituí-lo por um parâmetro definido no Cliente AX quando a análise estiver programada para execução:

COMMENT Abrir tabela importada e classificar pela diferença entre a tarifa por hora máxima e mínima
OPEN escalas_salariais
SORT ON (MAX_HOURLY - MIN_HOURLY)  D  TO "escalas_salariais_classificadas" OPEN

COMMENT extrair N maiores registros com base na diferença
EXTRACT FIELDS DEPARTMENT MAX_HOURLY MIN_HOURLY POSITION (MAX_HOURLY - MIN_HOURLY) AS "SALARY_D" IF RECNO() <= %v_top% TO "top_difference" OPEN

Você deve adicionar o parâmetro ao cabeçalho da análise usando a tag PARAM para que possa definir o valor para v_top do Cliente AX:

COMMENT
//ANALYTIC TopWageGap
Importa um arquivo do EXCEL e extrai os N principais registros com base na lacuna de salários
//FILE Pay_scales.xlsx 
//PARAM v_top N v_top
O número de registros a serem extraídos
END

Quando você executa ou programa a análise a partir do Cliente AX, é solicitado a você um valor numérico que o Motor AX então usa sempre que %v_top% é exibido na análise. Para obter mais informações, consulte PARAM.

Salvando resultados analíticos

Da mesma forma que você usa tags de análise para definir entradas de análise, também pode usar declarações de tag de análise para definir tabelas e arquivos de saída, salvos na subpasta Resultados no Servidor AX. Somente itens especificados usando a tag RESULT no cabeçalho da análise são retidos, enquanto qualquer outra tabela, arquivo ou log é descartado após o trabalho de análise ser concluído:

COMMENT
//ANALYTIC TopWageGap
Importa um arquivo do EXCEL e extrai os N principais registros com base na lacuna de salários
//FILE Pay_scales.xlsx 
//RESULT LOG
//RESULT TABLE top_difference
//PARAM v_top N v_top
O número de registros a serem extraídos
END

O log e a tabela top_difference são agora salvos como resultados e ficam disponíveis no Cliente Web AX após cada execução da análise no Servidor AX. Para obter mais informações, consulte RESULT.

A análise completa

Agora você pode importar a análise completa, junto com o arquivo do MS Excel relacionado para uma pasta no Servidor AX. Quando a análise é executada, você especifica o número de registros a extrair, e uma tabela e um arquivo de log são retidos como resultados disponíveis no Cliente Web AX:

COMMENT
//ANALYTIC TopWageGap
Importa um arquivo do EXCEL e extrai os N principais registros com base na lacuna de salários
//FILE Pay_scales.xlsx 
//RESULT LOG
//RESULT TABLE top_difference
//PARAM v_top N v_top
O número de registros a serem extraídos
END

SET SAFETY OFF

COMMENT Importar dados do EXCEL para o projeto
IMPORT EXCEL TO escalas_salariais "Escalas_salariais.fil" FROM "Escalas_salariais.xlsx" TABLE "Escalas_salariais$" 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 tabela importada e classificar pela diferença entre a tarifa por hora máxima e mínima
OPEN escalas_salariais
SORT ON (MAX_HOURLY - MIN_HOURLY)  D  TO "escalas_salariais_classificadas" OPEN

COMMENT extrair N maiores registros com base na diferença
EXTRACT FIELDS DEPARTMENT MAX_HOURLY MIN_HOURLY POSITION (MAX_HOURLY - MIN_HOURLY) AS "SALARY_D" IF RECNO() <= %v_top% TO "top_difference" OPEN

SET SAFETY ON
Ajuda do Cliente do Analytics Exchange 14.1