Criação de scripts para o Analytics Exchange
A execução dos scripts do ACL não está limitada apenas ao ACL 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 ACL Analytics com a mesma edição (Unicode ou não Unicode) sua instalação do Analytics Exchange
- acesso aos dados de amostra que vêm com o ACL 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:
- Uma nova pasta temporária é criada no servidor para a tarefa.
- A análise e todas as tabelas associadas são exportadas para um novo projeto do ACL na pasta temporária.
- O Motor AX no servidor abre o projeto do ACL, cria um novo log de comandos e executa o script de análise.
- 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.
- 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 ACL AnalyticsC:\ACL Data\MyProject\output\results
- script no Analytics Exchangeoutput\results
Conversão de um script em uma análise
Os scripts do ACL são convertidos em análises incluindo um cabeçalho da análise e removendo todas as funcionalidades do ACL Analytics que não podem ser executadas no Servidor AX.
O seguinte script do ACL é executado no ACL Analytics e faz o seguinte:
- Importa dados do arquivo Escalas_salariais.xlsx dos dados de amostra ACL_Rockwood usando o comando IMPORT.
- Ordena os dados em uma expressão usando o comando SORT.
- Solicita ao usuário um número de registros a extrair usando o comando ACCEPT.
- 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 ACL, inclua um cabeçalho da 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 ACL 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 OK: DELETE 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