Você está na página 1de 966

Referência de scripting do ACL

Versão: 14.1
Publicado quarta-feira, 19 de junho de 2019

© 2019 ACL Services Ltd. dba Galvanize


Índice

Índice
Índice 3
Introdução 13
Conceitos básicos dos scripts do Analytics 14
Comentários 19
Tipos de dados 21
Expressões 22
Definição de campos calculados com expressões 24
Funções 26
Variáveis 28
Estruturas de controle 30
Agrupamento e loops 33
As 30 principais funções do Analytics 41
Comandos 53
Comando ACCEPT 54
Comando ACCESSDATA 59
Comando ACTIVATE 66
Comando AGE 68
Comando APPEND 73
Comando ASSIGN 81
Comando BENFORD 84
Comando CALCULATE 88
Comando CLASSIFY 90
Comando CLOSE 95
Comando CLUSTER 97
Comando COMMENT 100
Comando COUNT 102
Comando CREATE LAYOUT 105
Comando CROSSTAB 107
Comando CVSEVALUATE 111
Comando CVSPREPARE 115

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 3 de 966
Índice

Comando CVSSAMPLE 119


Comando DEFINE COLUMN 122
Comando DEFINE FIELD 125
Comando DEFINE FIELD . . . COMPUTED 132
Comando DEFINE RELATION 138
Comando DEFINE REPORT 141
Comando DEFINE TABLE DB 142
Comando DEFINE VIEW 146
Comando DELETE 148
Comando DIALOG 152
Comando DIRECTORY 160
Comando DISPLAY 165
Comando DO REPORT 170
Comando DO SCRIPT 171
Comando DUMP 173
Comando DUPLICATES 175
Comando ESCAPE 180
Comando EVALUATE 182
Comando EXECUTE 186
Comando EXPORT 193
Comando EXTRACT 203
Comando FIELDSHIFT 208
Comando FIND 211
Comando FUZZYDUP 213
Comando FUZZYJOIN 218
Comando GAPS 224
Comando GROUP 228
Comando HELP 235
Comando HISTOGRAM 236
Comando IF 240
Comando IMPORT ACCESS 242
Comando IMPORT DELIMITED 245
Comando IMPORT EXCEL 253

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 4 de 966
Índice

Comando IMPORT GRCPROJECT 259


Comando IMPORT GRCRESULTS 264
Comando IMPORT LAYOUT 271
Comando IMPORT MULTIDELIMITED 273
Comando IMPORT MULTIEXCEL 281
Comando IMPORT ODBC 288
Comando IMPORT PDF 292
Comando IMPORT PRINT 301
Comando IMPORT SAP 310
Comando IMPORT XBRL 317
Comando IMPORT XML 321
Comando INDEX 325
Comando JOIN 328
Comando LIST 335
Comando LOCATE 338
Comando LOOP 341
Comando MERGE 343
Comando NOTES 347
Comando NOTIFY 349
Comando OPEN 352
Comando OUTLIERS 355
Comando PASSWORD 363
Comando PAUSE 365
Comando PREDICT 367
Comando PRINT 370
Comando PROFILE 372
Comando QUIT 374
Comando RANDOM 375
Comando RCOMMAND 378
Comando REFRESH 385
Comando RENAME 389
Comando REPORT 391
Comando RETRIEVE 395

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 5 de 966
Índice

Comando SAMPLE 397


Comando SAVE 406
Comando SAVE LAYOUT 408
Comando SAVE LOG 413
Comando SAVE TABLELIST 415
Comando SAVE WORKSPACE 417
Comando SEEK 419
Comando SEQUENCE 421
Comando SET 424
Comando SIZE 435
Comando SORT 440
Comando STATISTICS 445
Comando STRATIFY 449
Comando SUMMARIZE 454
Comando TOP 461
Comando TOTAL 462
Comando TRAIN 464
Comando VERIFY 469
Funções 472
Função ABS( ) 473
Função AGE( ) 474
Função ALLTRIM( ) 479
Função ASCII( ) 481
Função AT( ) 483
Função BETWEEN( ) 486
Função BINTOSTR( ) 494
Função BIT( ) 496
Função BLANKS( ) 498
Função BYTE( ) 500
Função CDOW( ) 502
Função CHR( ) 505
Função CLEAN( ) 507
Função CMOY( ) 509

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 6 de 966
Índice

Função COS( ) 512


Função CTOD( ) 514
Função CTODT( ) 521
Função CTOT( ) 527
Função CUMIPMT( ) 532
Função CUMPRINC( ) 534
Função DATE( ) 536
Função DATETIME( ) 540
Função DAY( ) 545
Função DBYTE( ) 548
Função DEC( ) 550
Função DHEX( ) 553
Função DICECOEFFICIENT( ) 555
Função DIGIT( ) 561
Função DOW( ) 563
Função DTOU( ) 566
Função EBCDIC( ) 569
Função EFFECTIVE( ) 571
Função EOMONTH( ) 573
Função EXCLUDE( ) 576
Função EXP( ) 578
Função FILESIZE( ) 580
Função FIND( ) 582
Função FINDMULTI( ) 586
Função FREQUENCY( ) 591
Função FTYPE( ) 593
Função FVANNUITY( ) 596
Função FVLUMPSUM( ) 599
Função FVSCHEDULE( ) 602
Função GETOPTIONS( ) 604
Função GOMONTH( ) 606
Função HASH( ) 609
Função HEX( ) 614

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 7 de 966
Índice

Função HOUR( ) 616


Função HTOU( ) 618
Função INCLUDE( ) 620
Função INSERT( ) 622
Função INT( ) 624
Função IPMT( ) 625
Função ISBLANK( ) 627
Função ISDEFINED( ) 629
Função ISFUZZYDUP( ) 631
Função LAST( ) 636
Função LEADING( ) 638
Função LENGTH( ) 640
Função LEVDIST( ) 642
Função LOG( ) 646
Função LOWER( ) 648
Função LTRIM( ) 650
Função MAP( ) 652
Função MASK( ) 656
Função MATCH( ) 658
Função MAXIMUM( ) 665
Função MINIMUM( ) 668
Função MINUTE( ) 671
Função MOD( ) 674
Função MONTH( ) 676
Função NOMINAL( ) 679
Função NORMDIST( ) 681
Função NORMSINV( ) 683
Função NOW( ) 684
Função NPER( ) 685
Função OCCURS( ) 688
Função OFFSET( ) 690
Função OMIT( ) 692
Função PACKED( ) 696

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 8 de 966
Índice

Função PI( ) 698


Função PMT( ) 700
Função PPMT( ) 703
Função PROPER( ) 705
Função PROPERTIES( ) 707
Função PVANNUITY( ) 711
Função PVLUMPSUM( ) 714
Função PYDATE( ) 717
Função PYDATETIME( ) 719
Função PYLOGICAL( ) 721
Função PYNUMERIC( ) 723
Função PYSTRING( ) 725
Função PYTIME( ) 727
Função RAND( ) 729
Função RATE( ) 731
Função RDATE( ) 734
Função RDATETIME( ) 737
Função RECLEN( ) 740
Função RECNO( ) 741
Função RECOFFSET( ) 743
Função REGEXFIND( ) 745
Função REGEXREPLACE( ) 753
Função REMOVE( ) 761
Função REPEAT( ) 764
Função REPLACE( ) 766
Função REVERSE( ) 770
Função RJUSTIFY( ) 771
Função RLOGICAL( ) 772
Função RNUMERIC( ) 775
Função ROOT( ) 778
Função ROUND( ) 780
Função RSTRING( ) 782
Função RTIME( ) 785

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 9 de 966
Índice

Função SECOND( ) 788


Função SHIFT( ) 790
Função SIN( ) 792
Função SOUNDEX( ) 794
Função SOUNDSLIKE( ) 798
Função SPLIT( ) 801
Função STOD( ) 805
Função STODT( ) 809
Função STOT( ) 814
Função STRING( ) 818
Função SUBSTR( ) 821
Função TAN( ) 824
Função TEST( ) 826
Função TIME( ) 828
Função TODAY( ) 833
Função TRANSFORM( ) 834
Função TRIM( ) 836
Função UNSIGNED( ) 838
Função UPPER( ) 840
Função UTOD( ) 842
Função VALUE( ) 846
Função VERIFY( ) 849
Função WORKDAY( ) 851
Função YEAR( ) 855
Função ZONED( ) 857
Função ZSTAT( ) 861
Análises 864
Scripts de análise 865
Cabeçalhos e das tags da análise 868
ANALYTIC 871
FILE 873
TABLE 875
FIELD 877

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 10 de 966
Índice

PARAM 879
PASSWORD 891
DATA 894
RESULT 899
PUBLISH 904
Desenvolvimento de análises 905
Adição de cabeçalhos de análise 909
Práticas recomendadas para o desenvolvimento de análises 913
Empacotamento de aplicativos de análise 919
Amostras de scripts de análise (aplicativo de análise) 922
Anexo 927
Requisitos do sistema 928
Instalando o ACL para Windows 931
Configuração do Python para uso com o Analytics 933
Edição Unicode vs. edições não Unicode 936
Conversão de análises para Unicode 937
Verificação de compatibilidade com Unicode 940
Execução de scripts do R no Servidor AX 943
Execução de scripts do Python no Servidor AX 948
Códigos de erro do mecanismo de análise 953
Variáveis criadas por comandos do Analytics 960
Palavras-chave reservadas 965

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 11 de 966
Introdução

Introdução

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 13 de 966
Introdução

Conceitos básicos dos scripts do


Analytics
O ACLScript é uma linguagem de comando que permite programar e automatizar comandos do Analy-
tics. A estrutura e os componentes do ACLScript são simples, mas altamente eficientes.
Nota
Se você não tem nenhuma experiência anterior com scripts, sugerimos que visite a Aca-
demia para obter algum treinamento básico antes de usar este conteúdo. Para cursos
sobre scripts e uso do Analytics, acesse www.highbond.com.

Comandos
Cada linha em um script executa um comando do ACLScript e inicia com o nome do comando. Um
comando é uma instrução para executar uma operação no Analytics.
O nome do comando é seguido por um ou mais parâmetros, especificados como nome_parâmetro valor_
parâmetro.
Dica
Dependendo do comando, alguns parâmetros são obrigatórios e outros opcionais. Você
não precisa especificar os parâmetros opcionais. Se omitidos, o comando será exe-
cutado sem eles. No entanto, se você omitir um parâmetro obrigatório, o Analytics usará
o valor padrão para esse parâmetro.

Exemplo usando o comando CLASSIFY


O exemplo a seguir mostra o comando CLASSIFY com os seguintes parâmetros:
l ON – especifica o campo da tabela a ser usado como base de classificação
l SUBTOTAL – especifica campos opcionais para calcular o subtotal na saída
l TO – especifica a tabela onde serão gravados os resultados do comando CLASSIFY
Note como cada parâmetro é seguido por um ou mais valores de parâmetro:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 14 de 966
Introdução

Notas importantes sobre a sintaxe do comando


l a primeira palavra de uma linha de script deve ser um nome de comando
l para a maioria dos comandos, a ordem dos parâmetros após o nome do comando não é importante
l a maioria dos comandos exige a abertura da tabela de destino antes de executar o comando; acres-
cente OPEN nome_tabela antes desses comandos

Comentários
Como qualquer linguagem de script, o ACLScript permite a adição de comentários com a palavra-chave
COMMENT. Use comentários para facilitar a compreensão do seu código e para comunicar-se com qual-
quer pessoa que tente ler, usar ou compreender o script. O ACLScript permite dois tipos de comentários:
l comentários de uma linha: todo o texto após COMMENT é ignorado até alcançar o final da linha
l blocos de comentários de várias linhas: começam com COMMENT e cada linha subsequente é
ignorada até alcançar a palavra-chave END ou uma linha em branco
Para obter mais informações e exemplos, consulte "Comentários" Na página 19.

Tipos de dados
O ACLScript permite quatro tipos de dados básicos:
l lógico: é o tipo de dados mais simples. Os dados lógicos expressam um valor de verdade, que pode
ser verdadeiro ou falso
l numérico: contém dígitos de 0 a 9 e, opcionalmente, um sinal negativo e um ponto decimal
l caractere: uma série de um ou mais caracteres
l datahora: um valor de data, datahora ou hora expresso em um formato permitido
Cada tipo de dados é tratado de forma diferente pelo Analytics e pode ser usado em diversos comandos e
funções. Para obter mais informações sobre tipos de dados, consulte "Tipos de dados" Na página 21.

Expressões
Uma expressão em qualquer instrução que tem um valor. A forma mais simples de expressão é uma literal
como 2 ou "teste". No entanto, as expressões normalmente são cálculos e podem ser tão complexas
quanto você conseguir imaginar, usando qualquer combinação válida de operadores, condições, funções e
valores:

((2 + (3 - 2)) * 2) > ROOT(9;0)

As expressões normalmente são usadas no Analytics para preencher campos calculados ou como entrada
para lógica condicional. Para obter mais informações sobre expressões, consulte "Expressões" Na
página 22.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 15 de 966
Introdução

Funções
As funções são rotinas incorporadas que aceitam um número específico de parâmetros e retornam um
único valor. Use funções para manipular conteúdo e variáveis de campo usadas em comandos.
Nota
As funções não modificam dados de campos. Elas geram e retornam um novo valor com
base em um cálculo ou algoritmo que usa dados de campos ou variáveis como entrada.
Use o valor retornado pela função como entrada para um comando.
As funções iniciam com o nome da função, seguido imediatamente por um parêntese de abertura, uma
lista de zero ou mais valores passados para a função como argumentos separados por ponto e vírgula e
um parêntese de fechamento.

Exemplo
A função BETWEEN(valor; mín; máx) recebe três argumentos e retorna verdadeiro se o valor está no
intervalo ou falso se o valor está fora do intervalo:
l valor – a expressão ou valor a testar
l mín – o valor mínimo do intervalo
l máx – o valor máximo do intervalo

BETWEEN(valor; 500; 5000)

Para obter mais informações sobre funções, consulte "Funções" Na página 26.

Variáveis
Uma variável é um local de armazenamento temporário usado para manter um valor. As variáveis têm um
identificador associado que permite referenciar e trabalhar com o valor armazenado na memória do com-
putador.
O ACLScript usa o comando ASSIGN para criar uma variável e atribuir-lhe um valor ao mesmo tempo:

ASSIGN v_age_in_years = 3

Para simplificar, você pode omitir a palavra-chave ASSIGN. No entanto, ASSIGN é usado implicitamente
e o mesmo comando é executado:

v_age_in_years = 3

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 16 de 966
Introdução

Nota
O ACLScript não permite valores nulos. Todas as variáveis devem ter um valor associado
de um dos tipos de dados compatíveis. O interpretador de scripts avalia o tipo de dados
usando o formato e o qualificador de dados usados para atribuir o valor. Para obter mais
informações, consulte "Tipos de dados" Na página 21.

Utilizar variáveis
Após criar uma variável, você poderá referenciá-la em qualquer lugar onde referencia nomes de campos
ou variáveis. Você também pode atribuir um novo valor à variável usando o comando ASSIGN.

EXTRACT RECORD TO 'result.fil' IF age > v_age_in_years


v_age_in_years = 5

Você também pode usar interpolação de cadeias ou substituição de variáveis para incluir uma variável em
um literal de cadeia, colocando o nome da variável entre caracteres %. Quando o Analytics encontra a vari-
ável substituída, troca o espaço reservado pelo seu valor correspondente:

ASSIGN v_table = erp_data


OPEN %v_table%

Para obter mais informações sobre variáveis, consulte "Variáveis" Na página 28.

Estruturas de controle
Uma estrutura de controle é um componente de um script que decide a direção a tomar com base nos parâ-
metros fornecidos. O ACLScript oferece lógica condicional e estruturas de loop.

Lógica condicional
O ACLScript implementa lógica condicional como um comando IF e como um parâmetro opcional em diver-
sos comandos da linguagem.
Dica
Use o comando IF para controlar se um comando é executado ou não, e use o parâmetro
IF para decidir qual a tabela usada na execução de um comando.

Comando IF

IF v_contador > 10 CLASSIFY ON número_cliente

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 17 de 966
Introdução

Parâmetro IF

CLASSIFY ON número_cliente IF estado = 'SP'

Loop
O comando LOOP fornece a estrutura de controle de loops no ACLScript. Esse comando processará as
instruções dentro do loop enquanto a expressão do teste de controle for avaliada como verdadeira.
Para obter mais informações sobre estrutura de controle, consulte "Estruturas de controle" Na página 30

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 18 de 966
Introdução

Comentários
Como uma linguagem de script, o ACLScript permite a adição de comentários com a palavra-chave
COMMENT. Use comentários para facilitar a compreensão do seu código e para comunicar-se com qual-
quer pessoa que tente ler, usar ou compreender o script.

Tipos de comentário
O ACLScript permite dois tipos de comentários:
l comentários de uma linha: todo o texto após COMMENT é ignorado até alcançar o final da linha
l blocos de comentários de várias linhas: começam com COMMENT e cada linha subsequente é
ignorada até alcançar a palavra-chave END ou uma linha em branco

Comentários de uma linha


Use comentários de uma linha para descrever etapas individuais no script ou para descrever variáveis:

COMMENT *** a data de início para o período de análise


v_data_inicial = `20150101`

Blocos de comentários de várias linhas


Use blocos de comentários de várias linhas para descrever scripts ou seções de scripts.

COMMENT
**********************
** Esta seção do script prepara dados para importação
**********************
END

Blocos de comentários de cabeçalho


É uma boa prática incluir um bloco de comentários de cabeçalho com informações importantes sobre o
script no início de cada script:

COMMENT
************************************************************
*** Nome do script: {ID_aplicativo}{Nome do script}
*** Parâmetros: {Descrição detalhada}

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 19 de 966
Introdução

*** Saída: {Descrever parâmetros}


*** Criado por: {Nome}, ABC Corporation, {Mês AAAA}
*** Modificado por: {Nome}, ABC Corporation, propósito e lógica do script
*** Versão: 1.1.1 {vers_apl.vers_script.corr.defeito}
************************************************************
END

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 20 de 966
Introdução

Tipos de dados
O ACLScript permite quatro tipos de dados básicos: lógico, numérico, caractere e datahora.

Tipo Descrição Limite Qualificador Exemplos

Caractere Uma série de um ou mais caracteres. 32.767 Apóstrofos ou aspas o 'John Doe'
bytes o "John Doe"

Numérico Os valores numéricos contêm dígitos 22 dígitos Sem qualificador o 100


de 0 a 9 e, opcionalmente, um sinal o -5
negativo e um ponto decimal. o 5.01
o 22222.1232

Datahora Um valor de data, datahora ou hora o Mínim- o Apóstrofos invertidos o `20160101`


expresso em um formato permitido. o= o "t" à esquerda, ou um o `141231`
1900- único espaço em o `t2359`
01-01 branco, para valores o `20141231T23595-
o Máxim- de tempo 9`
o= o `20141231
9999- 235959`
12-31

Lógico O tipo de dados mais simples. Os o T Sem qualificador ASSIGN v_verdade =


dados lógicos expressam um valor de o F 5 > 4 é avaliado como
verdade de verdadeiro ou falso. T
Operadores de comparação como
"=", ">" e "<" retornam valores lógicos.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 21 de 966
Introdução

Expressões
Uma expressão em qualquer instrução que tem um valor. A forma mais simples de expressão é uma lite-
ral. No entanto, as expressões podem ser tão complexas quanto você conseguir imaginar, usando qual-
quer combinação correta de operadores, condições, funções e valores.

Componentes de uma expressão


Valores literais
Um valor literal é um valor escrito exatamente da forma como deve ser interpretado, como o literal de
caracteres 'meu valor'. Para obter mais informações sobre literais, consulte "Tipos de dados" Na página
anterior.

Operadores
Os operadores são símbolos que instruem o interpretador de scripts a executar avaliações aritméticas, de
cadeia, de comparação ou lógicas nos valores especificados:

Tipo do operador na ordem de pre- Operadores na ordem de pre-


cedência cedência Exemplos

Parênteses o () especifica precedência (5 + 3) * 2


o Operador de função ()

Unário o NOT lógico v_verdade = NOT (3 < 2)


o - negação

Aritmético o ^ exponenciação 1+5-3*2


o * multiplica, / divide
o + adiciona, - subtrai
Nota
Operadores mul-
tiplicativos têm pre-
cedência igual entre si e
são avaliados da
esquerda para a direita.
Operadores aditivos têm
precedência igual entre si
e são avaliados da
esquerda para a direita.

Cadeia + concatena "Este é" + " meu script"

Comparativo o < menor que IF valor <> 100


o > maior que

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 22 de 966
Introdução

Tipo do operador na ordem de pre- Operadores na ordem de pre-


cedência cedência Exemplos

o = igualdade
o >= maior ou igual a
o <= menor ou igual a
o <> diferente
Nota
Operadores comparativos
têm precedência igual
entre si e são avaliados
da esquerda para a
direita.

Binário lógico o AND ou & IF valor > 5 AND valor < 10


o OR ou |

Funções
As expressões são avaliadas usando os valores retornados pelas funções. As funções são executadas
com a maior precedência entre os componentes da expressão. Para obter mais informações sobre fun-
ções, consulte "Funções" Na página 26.

Exemplos de expressões
Avaliado como 6
(2 + (3 - 2)) * 2

Avaliado como verdadeiro


((2 + (3 - 2)) * 2) > ROOT(9;0)

Avaliado como 'Tutorial do ACLScript'


'Tutorial' + ' do' + ' ACLS' + 'cript'

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 23 de 966
Introdução

Definição de campos calculados com


expressões
Use campos calculados para criar campos de dados adicionais na tabela aberta no momento com uma
expressão. Um campo calculado é um campo anexado à tabela aberta e preenchido como valor da
expressão especificada.

Sintaxe do campo calculado


DEFINE FIELD nome COMPUTED expressão

l nome: especifica o nome do campo calculado a criar


l expressão: o cálculo usado para gerar o valor do campo

Amostra de campo calculado


DEFINE FIELD c_nome_completo COMPUTED nome + ' ' + sobrenome

Dica
Acrescente o prefixo c_ aos nomes de campos calculados para identificá-los como dados
calculados em vez de dados da origem.

Definição de valores de campos calculados


condicionais
Você também pode usar condições em campos calculados para definir o valor em diferentes casos:

DEFINE FIELD total_c COMPUTED

valor * taxa_imp_sp IF estado = 'SP'


valor * taxa_imp_rj IF estado = 'SC' OR estado = 'ES'
valor * taxa_geral

Quando a primeira expressão condicional for avaliada como verdadeira, o valor especificado para esse
caso será usado. Nesse exemplo, valor * taxa_geral é o valor padrão usado quando nenhuma das
expressões condicionais é avaliada como verdadeira.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 24 de 966
Introdução

Nota
Você precisa adicionar uma linha vazia entre o comando de linha e as condições, a menos
que inclua os parâmetros IF, WIDTH, PIC ou AS no comando DEFINE FIELD. Para obter
mais informações, consulte "Comando DEFINE FIELD . . . COMPUTED" Na página 132.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 25 de 966
Introdução

Funções
As funções são rotinas incorporadas que aceitam um número específico de parâmetros e retornam um
único valor. Use funções para manipular conteúdo e variáveis de campo usadas em comandos.
Nota
As funções não modificam dados de campos. Elas geram e retornam um novo valor com
base em um cálculo ou algoritmo que usa dados de campos ou variáveis como entrada.
Use o valor retornado pela função como entrada para um comando.

Sintaxe da função
As funções iniciam com o nome da função, seguido imediatamente por um parêntese de abertura, uma
lista de zero ou mais valores passados para a função como argumentos separados por ponto e vírgula e
um parêntese de fechamento.

Exemplo
A função BETWEEN(valor; mín; máx) recebe três argumentos e retorna verdadeiro se o valor está no
intervalo ou falso se o valor está fora do intervalo:
l valor – a expressão ou valor a testar
l mín – o valor mínimo do intervalo
l máx – o valor máximo do intervalo

BETWEEN(valor; 500; 5000)

Argumentos da função
Um argumento de uma função é um valor de entrada específico passado à função.
Os argumentos da função são passados à função por meio de uma lista de argumentos. Essa lista con-
tém valores literais, variáveis ou expressões avaliadas como valores do tipo de dados parâmetro, sepa-
rados por vírgula. Para obter mais informações sobre como trabalhar com tipos de dados, consulte "Tipos
de dados" Na página 21.
Nota
Se o projeto opera com formatos de número europeus, ou se você está criando scripts
que são portáteis entre regiões, separe os argumentos da função com um espaço, em
vez de vírgula, a menos que esteja passando um valor numérico com sinal. As funções
que aceitam valores numéricos com sinal exigem um delimitador específico.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 26 de 966
Introdução

Funções vs. comandos


A distinção entre comandos e funções é sutil, mas essencial para usar o ACLScript:

Funções Comandos

Usam campos, valores ou registros como entrada e Usam tabelas como entrada e geram novos registros e
geram um novo valor, que é retornado. tabelas.

Usadas em expressões, campos calculados, valores de Usados para analisar dados, importar dados e gerar resul-
parâmetros de comando, variáveis e filtros para auxiliar e tados.
modificar a execução do comando.

Não podem ser uma etapa independente em um script. Podem ser uma etapa independente em um script.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 27 de 966
Introdução

Variáveis
Uma variável é um local de armazenamento temporário usado para manter um valor. As variáveis têm um
identificador associado que permite referenciar e trabalhar com o valor armazenado na memória do com-
putador.

Como as variáveis funcionam no ACLScript


Criação de variável e atribuição de um valor
O ACLScript usa o comando ASSIGN para criar uma variável e atribuir-lhe um valor ao mesmo tempo:

ASSIGN v_age_in_years = 3

Para simplificar, você pode omitir a palavra-chave ASSIGN. No entanto, ASSIGN é usado implicitamente
e o mesmo comando é executado:

v_age_in_years = 3

Nota
O ACLScript não permite valores nulos. Todas as variáveis devem ter um valor associado
de um dos tipos de dados compatíveis. O interpretador de scripts avalia o tipo de dados
usando o formato e o qualificador de dados usados para atribuir o valor. Para obter mais
informações, consulte "Tipos de dados" Na página 21.

Utilizar variáveis
Após criar uma variável, você poderá referenciá-la em qualquer lugar onde referencia nomes de campos
ou variáveis. Você também pode atribuir um novo valor à variável usando o comando ASSIGN.

EXTRACT RECORD TO 'result.fil' IF age > v_age_in_years


v_age_in_years = 5

Você também pode usar interpolação de cadeias ou substituição de variáveis para incluir uma variável em
um literal de cadeia, colocando o nome da variável entre caracteres %. Quando o Analytics encontra a
variável substituída, troca o espaço reservado pelo seu valor correspondente:

ASSIGN v_table = erp_data


OPEN %v_table%

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 28 de 966
Introdução

Tipos de variáveis
O Analytics usa os tipos de variáveis a seguir:
l variáveis criadas pelo sistema: criadas automaticamente após a execução de um comando
l variáveis permanentes: permanecem na memória do computador até que você as exclua e per-
sistem após o fechamento do projeto do Analytics
Nota
Para definir uma variável permanente, acrescente o prefixo '_' ao identificador: _v_
nome_empresa = 'Acme'.
l variáveis de sessão: permanecem na memória do computador até que você as exclua ou feche o
projeto do Analytics

Identificadores de variáveis
Os identificadores de variáveis não distinguem maiúsculas de minúsculas e seguem determinadas con-
venções a respeito do tipo da variável:
l identificadores de variáveis geradas pelo sistema usam maiúsculas: PASTADESAÍDA
l identificadores de variáveis permanentes devem ter um prefixo '_': _v_permanente
l identificadores de variáveis de sessão usam o formato v_nomedavariável por convenção, mas o uso
dessa convenção não é obrigatório

Exibição de valores de variáveis


Durante o desenvolvimento ou depuração do script, pode ser necessário rastrear valores de variáveis ao
longo da execução do script. Para capturar valores de variáveis no arquivo de log do script, use o comando
DISPLAY:

DISPLAY v_período_em_anos

Quando o script encontra esse comando, grava o comando no arquivo de log. Para exibir o valor da vari-
ável nessa fase da execução do script, clique na entrada no log.
Dica
Você também pode usar variáveis como auxílio de depuração, inserindo pontos de inter-
rupção no script e inspecionando os valores das variáveis na guia Variáveis do
Navegador.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 29 de 966
Introdução

Estruturas de controle
Uma estrutura de controle é um componente de um script que decide a direção a tomar com base nos
parâmetros fornecidos. O ACLScript oferece lógica IF condicional e estruturas de loop.

Lógica condicional usando IF


O ACLScript implementa lógica condicional como um comando IF e como um parâmetro opcional em
diversos comandos da linguagem:
l comando: controla se um comando é executado ou não
l parâmetro: decide quais registros de uma tabela são afetados pela execução do comando

O comando IF
Ao usar o comando IF, especifique uma expressão condicional, seguida pelo comando a executar se a
expressão for avaliada como verdadeira:

IF v_contador > 10 CLASSIFY ON número_cliente

Essa estrutura condicional controla qual código é executado. Portanto, você pode usar o comando IF
quando precisa processar uma tabela inteira com base na expressão de teste. Se a expressão for ava-
liada como verdadeira, o comando será executado em todos os registros da tabela. Para obter mais infor-
mações sobre o comando IF, consulte "Comando IF" Na página 240.

Parâmetro IF
Muitos comandos aceitam um parâmetro IF opcional que pode ser usado para filtrar os registros pro-
cessados pelo comando:

CLASSIFY ON número_cliente IF estado = 'SP'

Quando essa instrução for executada, o script classificará todos os registros da tabela em que o valor do
campo estado for 'SP'.

Loop
O comando LOOP
O comando LOOP fornece a estrutura de controle de loops no ACLScript.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 30 de 966
Introdução

Nota
O comando LOOP deve ser executado dentro do comando GROUP e não pode ser exe-
cutado isoladamente.
Esse comando processará as instruções dentro do loop enquanto a expressão WHILE especificada for ver-
dadeira:

ASSIGN v_contador = 10
GROUP
LOOP WHILE v_contador > 0
v_total = v_total + valor
v_contador = v_contador - 1
END
END

Essa estrutura interage 10 vezes e adiciona o valor do campo valor à variável v_total. Ao final de cada inte-
ração, a variável v-contador é decrementada em 1 e testada na expressão WHILE. Quando a expressão
for avaliada como falsa, o loop encerrará e o script prosseguirá.
Na conclusão do loop, a variável v_total contém a soma dos campos valor dos 10 registros.
Para obter mais informações sobre loops, consulte "Comando LOOP" Na página 341.

LOOPING com um subscript


Algumas vezes, o comando LOOP não oferece a funcionalidade exata de looping necessária. Nesse caso,
você também pode chamar um script do Analytics separado para executar um loop usando o comando DO
SCRIPT: DO SCRIPT nomeScript WHILE testeCondicional.
É possível usar um dos métodos a seguir para controlar o fim do loop:
l sinalizador: o loop continua até que a variável lógica de sinalizador seja definida como FALSE
l contador: o loop continua até que uma variável incrementada ou decrementada ultrapasse um limite
condicional
Para obter mais informações sobre a chamada de subscripts, consulte "Comando DO SCRIPT" Na
página 171.

Exemplo
Você precisa importar todos os arquivos CSV da pasta C:\dados para o projeto. É possível usar o
comando DIRECTORY para obter uma lista de arquivos da pasta. No entanto, não é possível usar o
comando IMPORT dentro da estrutura GROUP. Você precisa de outra forma de fazer o looping na tabela
criada por DIRECTORY.
Para isso, crie um script principal que:
1. Executa o comando DIRECTORY e salva os resultados em uma tabela.
2. Obtenha o número de registros na tabela para uso como contador.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 31 de 966
Introdução

3. Chame um subscript uma vez por registro na tabela para executar o comando IMPORT com o regis-
tro atual.

Script principal

COMENT Script principal

DIRECTORY "C:\dados\*.csv" TO T_Tabela_Para_Loop


OPEN T_Tabela_Para_Loop
COUNT
v_Num_Registros = COUNT1
v_Contador = 1
DO SCRIPT Subscript_Importação WHILE v_Contador <= v_Num_Registros

Subscript de importação

COMMENT Subscript_importação

OPEN T_Tabela_Para_Loop
LOCATE RECORD v_Contador

COMMENT o código para importar o arquivo CSV do registro deve estar aqui...

ASSIGN v_Contador = v_Contador + 1

As variáveis são compartilhadas entre todos os scripts executados no projeto. Portanto, os scripts prin-
cipais chamam o subscript até que o valor de v_Contador exceda o valor de v_Num_Registros. A cada
vez que o subscript é executado, incrementa v_Contador.
Essa estrutura permite chamar o comando IMPORT para cada registro durante o loop pela tabela.
Quando o script principal concluir, todos os arquivos CSV da pasta C:\dados terão sido importados.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 32 de 966
Introdução

Agrupamento e loops
Os comandos GROUP e LOOP oferecem duas formas de execução repetida de uma série de comandos.
GROUP executa uma única iteração de um ou mais comandos em cada registro. LOOP executa várias ite-
rações de uma série de comandos em um único registro e somente pode ser usada dentro de um bloco de
GROUP.

Um exemplo simples de GROUP


Você tem uma tabela de dados de fatura denominada Trans_Cp. Usando esses dados, você precisa para
calcular um total acumulado dos valores da fatura:

Número_For- Nome_For- Cidade_For- Número_ Data_ Valor_ Custo_


necedor necedor necedor Fatura Fatura Fatura Quantidade Unidade

11663 Indústrias Pode- Belo Hori- 5981807 2000- 618,30 90 6,87


rosas zonte 11-17

13808 NOVATECH Campinas 2275301 2000- 6705,12 976 6,87


Atacadista 11-17

12433 Koro Inter- Itajaí 6585673 2000- 7955,46 1158 6,87


national 11-17

Para calcular esse valor, use o comando GROUP. Dentro de cada interação de GROUP, você:
1. Calcula o total acumulado até o registro atual.
2. Extrai o número, o valor, a data e o total acumulado da fatura para uma tabela de resultados.

OPEN Trans_Cp

COMMENT define o valor inicial do total acumulado como zero


ASSIGN v_total_acumulado = 0,00

COMMENT itera cada registro da tabela para calcular e extrair o total acumulado
GROUP
ASSIGN v_total_acumulado = v_total_acumulado + Valor_Fatura
EXTRACT Número_Fatura, Valor_Fatura, Data_Fatura, v_total_acumulado AS "Total acumulado"
TO resultados1
END

Na execução do script, os comandos dentro do bloco de GROUP são processados para cada registro da
tabela, do início ao fim da tabela, e o total acumulado é calculado e extraído. Se pudéssemos acompanhar
a execução do GROUP, teríamos o seguinte:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 33 de 966
Introdução

Primeira iteração de GROUP: total acumulado = 0,00 +


618,30
O GROUP adiciona o valor da fatura do primeiro registro ao total acumulado inicial de 0,00 e extrai os cam-
pos para a tabela de resultados:

Número_For- Nome_For- Cidade_For- Número_ Data_ Valor_ Custo_


necedor necedor necedor Fatura Fatura Fatura Quantidade Unidade

11663 Indústrias Pode- Belo Hori- 5981807 2000- 618,30 90 6,87


rosas zonte 11-17

13808 NOVATECH Campinas 2275301 2000- 6705,12 976 6,87


Atacadista 11-17

12433 Koro Inter- Itajaí 6585673 2000- 7955,46 1158 6,87


national 11-17

Segunda iteração de GROUP: total acumulado = 618,30 +


6705,12
O bloco de GROUP adiciona o valor da fatura do segundo registro ao novo total acumulado de 618,30 e
extrai os campos para a tabela de resultados:

Número_For- Nome_For- Cidade_For- Número_ Data_ Valor_ Custo_


necedor necedor necedor Fatura Fatura Fatura Quantidade Unidade

11663 Indústrias Pode- Belo Hori- 5981807 2000- 618,30 90 6,87


rosas zonte 11-17

13808 NOVATECH Campinas 2275301 2000- 6705,12 976 6,87


Atacadista 11-17

12433 Koro Inter- Itajaí 6585673 2000- 7955,46 1158 6,87


national 11-17

Terceira iteração de GROUP: total acumulado = 7323,42 +


7955,46
O bloco de GROUP adiciona o valor da fatura do terceiro registro ao novo total acumulado de 7323,42 e
extrai os campos para a tabela de resultados:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 34 de 966
Introdução

Número_For- Nome_For- Cidade_For- Número_ Data_ Valor_ Custo_


necedor necedor necedor Fatura Fatura Fatura Quantidade Unidade

11663 Indústrias Pode- Belo Hori- 5981807 2000- 618,30 90 6,87


rosas zonte 11-17

13808 NOVATECH Campinas 2275301 2000- 6705,12 976 6,87


Atacadista 11-17

12433 Koro Inter- Itajaí 6585673 2000- 7955,46 1158 6,87


national 11-17

Tabela de resultados final


Após o processamento do registro final da tabela pelo GROUP, você terá a seguinte tabela de resultados:

Número_Fatura Valor_Fatura Data_Fatura Total_acumulado

5981807 618,30 2000-11-17 618,30

2275301 6705,12 2000-11-17 7323,42

6585673 7955,46 2000-11-17 15278,88

Processamento de casos diferentes usando


GROUP IF
Usando a mesma tabela Trans_Cp acima, agora você precisa calcular os totais acumulados para três tipos
de faturas:
l Valor alto (maior ou igual a 1000,00)
l Valor médio (entre 100,00 e 1000,00)
l Valor baixo (menor que 100,00)
O COMANDO GROUP oferece uma estrutura IF/ELSE para processar casos diferentes. Você informa as
expressões condicionais a serem testadas. Se um registro for avaliado como verdadeiro, os comandos den-
tro do bloco serão executados.

Como os casos são testados


Os casos são testados de cima para baixo e um registro pode ser processado por apenas um bloco
IF/ELSE. O primeiro caso que for avaliado como verdadeiro para o registro processará esse registro:
1. Quando o GROUP processa o primeiro registro, testa a primeira condição IF (Valor_Fatura >=
1000). Se a condição for avaliada como verdadeira, o código desse caso será executado e nenhum
outro caso será testado.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 35 de 966
Introdução

2. Se o primeiro caso for avaliado como falso, a próxima condição ELSE IF (Valor_Fatura >= 100)
será testada. Da mesma forma, se esse teste for avaliado como verdadeiro, o código desse caso
será executado e nenhum outro caso será testado.
3. Finalmente, se nenhum dos casos IF ou ELSE IF for avaliado como verdadeiro, o caso padrão no
bloco ELSE processará o registro.
Nota

Se um registro for avaliado como verdadeiro em mais de um caso, será processado ape-
nas pelo primeiro bloco IF/ELSE testado. Os registros nunca são processados por mais
de um bloco IF/ELSE em um comando GROUP.

OPEN Trans_Cp

COMMENT define valores iniciais para os totais acumulados


ASSIGN v_total_acumulado_alto = 0,00
ASSIGN v_total_acumulado_medio = 0,00
ASSIGN v_total_acumulado_baixo = 0,00

COMMENT usa GROUP IF para executar comandos ASSIGN e EXTRACT diferentes, dependendo
do valor da fatura
GROUP IF Valor_Fatura >= 1000
ASSIGN v_total_acumulado_alto = v_total_acumulado_alto + Valor_Fatura
EXTRACT Número_Fatura, Valor_Fatura, Data_Fatura, v_total_acumulado_alto AS "Total acu-
mulado" TO resultados_alto
GROUP IF Valor_Fatura >= 100
ASSIGN v_total_acumulado_medio = v_total_acumulado_medio + Valor_Fatura
EXTRACT Número_Fatura, Valor_Fatura, Data_Fatura, v_total_acumulado_medio AS "Total acu-
mulado" TO resultados_medio
ELSE
ASSIGN v_total_acumulado = v_total_acumulado_baixo + Valor_Fatura
EXTRACT Número_Fatura, Valor_Fatura, Data_Fatura, v_total_acumulado_baixo AS "Total acu-
mulado" TO resultados_baixo
END

Quando o script é executado, o comando GROUP testa o valor da fatura de cada registro. Dependendo
do valor, o registro será usado para atualizar um dos três totais acumulados (alto, médio, baixo), gerando
três tabelas de resultados.

LOOP dentro de um GROUP


Ao usar GROUP para processar registros de uma tabela, você pode usar um comando LOOP para exe-
cutar diversos comandos várias vezes em um único registro. O LOOP é uma segunda iteração dentro da
iteração de GROUP e é executado até que uma condição de teste especificada seja avaliada como falsa.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 36 de 966
Introdução

Usando LOOP para dividir um campo


Você tem a seguinte tabela com dados de fatura e precisa isolar informações específicas para valores de
fatura por departamento. Uma fatura pode ser relacionada a mais de um departamento, e os códigos de
departamento são armazenados em formato delimitado por vírgulas na tabela:

Número_Fornecedor Número_Fatura Data_Fatura Valor_Fatura Código_Departamento

11663 5981807 2000-11-17 618,30 CCD,RDR

13808 2275301 2000-11-17 6705,12 CCD

12433 6585673 2000-11-17 7955,46 CCD,LMO,RDR

Para extrair os valores de fatura por departamento, você:


1. Usa um comando GROUP para processar a tabela registro a registro.
2. Calcula o número de departamentos (n) associados a cada registro.
3. Usa o comando LOOP para iterar o registro n vezes para extrair dados de cada departamento asso-
ciado ao registro.
Nota
Você precisa incrementar a variável v_contador dentro de LOOP. Caso contrário, o teste
WHILE será sempre avaliado como verdadeiro e o script entrará em um loop infinito. É pos-
sível incluir um comando SET LOOP nos scripts para evitar loops infinitos. Para obter mais
informações, consulte "Comando SET" Na página 424.

COMMENT Use GROUP para contar as vírgulas em cada campo de código de departamento como
forma de identificar quantos departamentos estão associados a ao registro Execute um "LOOP" em
cada registro para cada código do campo, extraindo cada código em seu próprio registro END GROUP
v_quantidade_departamentos = OCCURS(Código_Departamento;',') v_contador = 0 LOOP WHILE
v_contador <= v_quantidade_departamentos v_dept = SPLIT(Código_Departamento; ','; (v_contador
+ 1)) EXTRACT FIELDS Número_Fatura; Valor_Fatura; v_dept AS "Departamento" TO resultado1 v_
contador = v_contador + 1 END END

Na execução do script, os comandos dentro do bloco de GROUP são processados para cada registro da
tabela, do início ao fim da tabela. Para cada registro, o comando LOOP itera o registro uma vez por código
departamento na lista delimitada por vírgulas e extrai um registro. Se pudéssemos acompanhar a exe-
cução do GROUP e do Loop, teríamos o seguinte:

Primeira iteração de GROUP: 2 iterações de LOOP


Número_Fornecedor Número_Fatura Data_Fatura Valor_Fatura Código_Departamento

11663 5981807 2000-11-17 618,30 CCD,RDR

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 37 de 966
Introdução

Número_Fornecedor Número_Fatura Data_Fatura Valor_Fatura Código_Departamento

13808 2275301 2000-11-17 6705,12 CCD

12433 6585673 2000-11-17 7955,46 CCD,LMO,RDR

Para o primeiro registro na tabela, o valor de v_quantidade_departamentos é 1. Portanto, LOOP itera


duas vezes:
1. Para a primeira iteração do LOOP:
l v_contador = 0

l v_depart = CCD

O registro a seguir é extraído e o valor de v_contador é incrementado para 1. Portanto, LOOP itera
novamente:

5981807 618,30 CCD

2. Para a segunda interação do LOOP:


l v_contador = 1

l v_depart = RDR

O registro a seguir é extraído e o valor de v_contador é incrementado para 2. Portanto, LOOP itera
novamente e GROUP prossegue para o próximo registro:

5981807 618,30 RDR

Segunda iteração de GROUP: 1 iterações de LOOP


Número_Fornecedor Número_Fatura Data_Fatura Valor_Fatura Código_Departamento

11663 5981807 2000-11-17 618,30 CCD,RDR

13808 2275301 2000-11-17 6705,12 CCD

12433 6585673 2000-11-17 7955,46 CCD,LMO,RDR

Para o segundo registro na tabela, o valor de v_quantidade_departamentos é 0. Portanto, LOOP itera


uma vez:
l v_contador = 0
l v_depart = CCD
O registro a seguir é extraído e o valor de v_contador é incrementado para 1. Portanto, LOOP itera nova-
mente e GROUP prossegue para o próximo registro:

2275301 6705,12 CCD

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 38 de 966
Introdução

Terceira iteração de GROUP: 3 iterações de LOOP


Número_Fornecedor Número_Fatura Data_Fatura Valor_Fatura Código_Departamento

11663 5981807 2000-11-17 618,30 CCD,RDR

13808 2275301 2000-11-17 6705,12 CCD

12433 6585673 2000-11-17 7955,46 CCD,LMO,RDR

Para o terceiro registro na tabela, o valor de v_quantidade_departamentos é 2. Portanto, LOOP itera três
vezes:
1. Para a primeira iteração do LOOP:
l v_contador = 0

l v_depart = CCD

O registro a seguir é extraído e o valor de v_contador é incrementado para 1. Portanto, LOOP itera
novamente:

6585673 7955,46 CCD

2. Para a segunda interação do LOOP:


l v_contador = 1

l v_depart = LMO

O registro a seguir é extraído e o valor de v_contador é incrementado para 2. Portanto, LOOP itera
novamente:

6585673 7955,46 LMO

3. Para a terceira iteração do LOOP:


l v_contador = 2

l v_depart = RDR

O registro a seguir é extraído e o valor de v_contador é incrementado para 3. Portanto, LOOP itera
novamente e GROUP prossegue para o próximo registro:

6585673 7955,46 CCD

Tabela de resultados final


Depois que GROUP processou cada registro da tabela e LOOP iterou por todos os códigos de depar-
tamento, você terá a seguinte tabela de resultados:

Número_Fatura Valor_Fatura Departamento

5981807 618,30 CCD

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 39 de 966
Introdução

Número_Fatura Valor_Fatura Departamento

5981807 618,30 RDR

2275301 6705,12 CCD

6585673 7955,46 CCD

6585673 7955,46 LMO

6585673 7955,46 RDR

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 40 de 966
Introdução

As 30 principais funções do Analytics


As 30 principais funções do ACLScript são úteis para várias tarefas diferentes. Use essas funções regu-
larmente para ajudar a preparar, analisar, converter e harmonizar dados em scripts.

Remoção de espaço à esquerda e à direta


Muitas vezes, os campos de caracteres em tabelas do Analytics contêm espaços à direita ou à esquerda
porque a largura dos campos tem comprimento fixo. Quando for necessário executar uma operação
usando os dados de um campo de caracteres, você poderá remover esses espaços para que a cadeia con-
tenha apenas os dados reais.

ALLTRIM( )
Retorna uma cadeia com os espaços iniciais e finais removidos da cadeia de entrada.
Nota
É uma prática recomendada usar ALLTRIM() em qualquer campo de caractere que você
estiver usando como entrada para outra função para que nenhum espaço à direita ou à
esquerda afete o valor retornado.

Exemplo
O campo Número_Fornecedor contém o valor " 1254". É necessário remover esse espaço extra de
Número_Fornecedor para que seja possível harmonizar o campo com os dados em outra tabela.

COMMENT retorna "1254"


ALLTRIM(Número_Fornecedor)

Sincronização de maiúsculas e minúsculas


A comparação de cadeias no Analytics diferencia maiúsculas de minúsculas. Portanto, é útil sincronizar as
maiúsculas e minúsculas de todos os dados em um campo antes de executar qualquer comparação, asso-
ciação ou relação usando os dados.

UPPER( )
Retorna uma cadeia com caracteres alfabéticos convertidos em maiúsculas.

Exemplo
O campo Sobrenome contém o valor "Fernando". Você precisa transformar esse valor em maiúsculas para

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 41 de 966
Introdução

compará-lo com o valor em maiúsculas de outra tabela.

COMMENT retorna "FERNANDO"


UPPER(Sobrenome)

LOWER( )
Retorna uma cadeia com caracteres alfabéticos convertidos em minúsculas.

Exemplo
O campo Sobrenome contém o valor "Fernando". Você precisa transformar esse valor em minúsculas
para compará-lo com o valor em minúsculas de outra tabela.

COMMENT retorna "fernando"


LOWER(Sobrenome)

PROPER( )
Retorna uma cadeia com o primeiro caractere de cada palavra em letra maiúscula e os caracteres res-
tantes em minúsculas.

Exemplo
O campo Sobrenome contém o valor "fernando". Você precisa exibi-lo como um nome próprio na saída.

COMMENT retorna "Fernando"


PROPER(Sobrenome)

Cálculo e separação de cadeias de carac-


teres
Quando você precisa extrair um segmento de dados de uma cadeia maior, ou testar algumas infor-
mações sobre a cadeia, como seu comprimento ou conteúdo, use estas funções.

SUBSTR( )
Retorna uma subcadeia especificada de uma cadeia.

Exemplo
O campo Código_Conta_LR contém o valor "001-458-873-99". Você precisa extrair os três primeiros

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 42 de 966
Introdução

bytes, ou caracteres, da cadeia.

COMMENT retorna "001"


ASSIGN v_pos_inicial = 1
ASSIGN v_comprimento = 3
SUBSTR(Código_Conta_LR; v_pos_inicial; v_comprimento)

LAST( )
Retorna um número especificado de caracteres do final de uma cadeia.

Exemplo
O campo Código_Conta_LR contém o valor "001-458-873-99". Você precisa extrair os dois últimos bytes,
ou caracteres, da cadeia.

COMMENT retorna "99"


ASSIGN v_núm_caracteres = 2
LAST(Código_Conta_LR; v_núm_caracteres)

SPLIT( )
Retorna um segmento especificado de uma cadeia.

Exemplo
O campo Código_Conta_LR contém o valor "001-458-873-99". Você precisa extrair o segundo segmento
de código da cadeia.

COMMENT retorna "458"


ASSIGN v_delimitador = "-"
ASSIGN v_núm_segmentos = 2
SPLIT(Código_Conta_LR; v_delimitador; v_núm_segmentos)

AT( )
Retorna um número especificando a localização inicial de uma determinada ocorrência de uma subcadeia
dentro de um valor de caracteres.

Exemplo
O campo Código_Conta_LR contém o valor "001-458-873-99". Você precisa determinar a posição de byte
inicial do valor "458" para testar se o segundo segmento do código de LR é "458" (posição inicial "5").

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 43 de 966
Introdução

COMMENT retorna "5"


ASSIGN v_ocorrência = 1
ASSIGN v_subcadeia = "458"
AT(v_ocorrência; v_subcadeia; Código_Conta_LR)

OCCURS( )
Retorna a contagem de quantas vezes um trecho de cadeia ocorre em um valor de caracteres espe-
cificado.

Exemplo
O campo Código_Conta_LR contém o valor "001-458-873-99". Você precisa determinar se o código de
LR está formatado corretamente, garantindo que os dados contêm três caracteres hífen.

COMMENT retorna "3"


ASSIGN v_subcadeia = "-"
OCCURS(Código_Conta_LR; v_subcadeia)

LENGTH( )
Retorna o número de caracteres em uma cadeia.

Exemplo
O campo Código_Conta_LR contém o valor "001-458-873-99". Você precisa determinar se o código de
LR está formatado corretamente, garantindo que os dados contêm 14 caracteres.

COMMENT retorna "14"


LENGTH(Código_Conta_LR)

Convertendo tipos de dados


Dependendo da origem de dados e das instruções de importação que geraram a tabela do Analytics,
pode ser necessário converter valores em um campo de um tipo de dados em outro para permitir uma
operação. Por exemplo, para executar aritmética em dados importados como caracteres ("12345"), é
necessário convertê-los para numéricos.

STRING( )
Converte um valor numérico em uma sequência de caracteres.

Exemplo

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 44 de 966
Introdução

O campo Valor_Fatura contém o valor 12345,67. Você precisa converter isso em dados de caracteres.

COMMENT retorna "12345,67"


ASSIGN v_comprimento_cadeia = 8
STRING(Valor_Fatura; v_comprimento_cadeia)

VALUE( )
Converte uma sequência de caracteres em um valor numérico.
Dica
VALUE() é usado frequentemente com ZONED() para adicionar zeros à esquerda.

Exemplo
O campo Valor_Fatura contém o valor "12345,67". Você precisa converter isso em dados numéricos.

COMMENT retorna 12345,67


VALUE(Valor_Fatura)

CTOD( )
Converte um valor em caractere ou numérico de data em uma data. Também é possível extrair a data de
um valor de datahora em formato de caracteres ou numérico e retorná-lo como uma data. Abreviação de
"Caractere para Data".

Exemplo
O campo Data_Envio contém o valor "April 25, 2016". Você precisa converter isso em dados datahora.

COMMENT retorna `20160425`


ASSIGN v_formato_data = "mmm dd, yyyy"
CTOD(Data_Envio; v_formato_data)

DATE( )
Extrai a data a partir de uma data ou datahora específica e retorna como sequência de caracteres. Tam-
bém pode retornar a data atual do sistema operacional.

Exemplo
O campo Data_Envio contém o valor `20160425`. Você precisa converter isso em dados de caracteres.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 45 de 966
Introdução

COMMENT retorna "04/25/2016"


ASSIGN v_formato_data = "MM/DD/YYYY"
DATE(Data_Envio; v_formato_data)

Adição de zeros à esquerda


Converte dados numéricos em dados de caracteres e adiciona zeros à esquerda na saída quando é
necessário harmonizar campos que exigem em zeros à esquerda.

ZONED( )
Converte dados numéricos em dados de caracteres e adiciona zeros à esquerda na saída.

Exemplo
O campo Número_Funcionário contém o valor "254879". Você precisa converter o valor para uma cadeia
de 10 dígitos com zeros à esquerda.
Dica

Você precisa usar a função VALUE() para converter os caracteres em dados numéricos
antes de usar o numeral como entrada para ZONED().

COMMENT retorna "0000254879"


ASSIGN v_comprimento_cadeia = 10
ASSIGN v_núm_decimais = 0
ZONED(VALUE(Número_Funcionário; v_núm_decimais); v_comprimento_cadeia)

BINTOSTR( )
Retorna os dados de caracteres Unicode convertidos de dados de caracteres ZONED ou EBCDIC. Abre-
viação de "Binário para Cadeia".
Nota
Somente para a edição Unicode. Para edições não Unicode, consulte ZONED() acima.

Exemplo
O campo Número_Funcionário contém o valor "254879". Você precisa converter o valor para uma cadeia
de 10 dígitos com zeros à esquerda.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 46 de 966
Introdução

Dica

Você precisa usar a função VALUE() para converter os caracteres em dados numéricos
antes de usar o numeral como entrada para ZONED(). Então, você usa BINTOSTR() para
converter os dados ASCII retornados de ZONED() em Unicode.

COMMENT retorna "0000254879"


ASSIGN v_comprimento_cadeia = 10
ASSIGN v_núm_decimais = 0
ASSIGN v_tipo_cadeia = "A"
BINTOSTR(ZONED(VALUE(Número_Funcionário; v_núm_decimais); v_comprimento_cadeia); v_
tipo_cadeia)

Extração de partes de datahora


Use essas funções para isolar e extrair componentes específicos de um valor datahora.

MONTH( )
Extrai o mês de uma data ou datahora específica e retorna o mês como valor numérico (1 a 12).

Exemplo
O campo Data_Transação contém o valor `20160815 100252`. Você precisa extrair o mês como dados de
caracteres com um zero à esquerda.

COMMENT retorna "08"


ASSIGN v_comprimento_cadeia = 2
ZONED(MONTH(Data_Transação); v_comprimento_cadeia)

DAY( )
Extrai o dia de um mês a partir de uma data ou datahora específica e retorna o dia como valor numérico (1 a
31).

Exemplo
O campo Data_Transação contém o valor `20160815 100252`. Você precisa extrair o dia como dados de
caracteres.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 47 de 966
Introdução

COMMENT retorna "15"


ASSIGN v_comprimento_cadeia = 2
STRING(DAY(Data_Transação); v_comprimento_cadeia)

YEAR( )
Extrai o ano de uma data ou datahora específica e retorna como valor numérico usando o formato AAAA.

Exemplo
O campo Data_Transação contém o valor `20160815 100252`. Você precisa extrair o ano como valor
numérico.

COMMENT retorna 2016


YEAR(Data_Transação)

HOUR( )
Extrai a hora de uma hora ou datahora específica e retorna como valor numérico usando o relógio 24
horas.

Exemplo
O campo Data_Transação contém o valor `20160815 100252`. Você precisa extrair a hora como valor
numérico.

COMMENT retorna 10
HOUR(Data_Transação)

MINUTE( )
Extrai os minutos de uma hora ou datahora específica e retorna como valor numérico.

Exemplo
O campo Data_Transação contém o valor `20160815 100252`. Você precisa extrair os minutos como
valor numérico.

COMMENT retorna 2
MINUTE(Data_Transação)

SECOND( )
Extrai os segundos de uma hora ou datahora específica e retorna como valor numérico.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 48 de 966
Introdução

Exemplo
O campo Data_Transação contém o valor `20160815 100252`. Você precisa extrair os segundos como
valor numérico.

COMMENT retorna 52
SECOND(Data_Transação)

CDOW( )
Retorna o nome do dia da semana para uma data ou datahora especificada. Abreviação de "Caractere Dia
da Semana".

Exemplo
O campo Data_Transação contém o valor `20160815 100252`. Você precisa extrair o nome do dia como
dados de caracteres.

COMMENT retorna "Seg"


CDOW(Data_Transação; 3)

CMOY( )
Retorna o nome do mês do ano para uma data ou datahora especificada. Abreviação de "Caractere para o
Mês do Ano".

Exemplo
O campo Data_Transação contém o valor `20160815 100252`. Você precisa extrair o nome do mês como
dados de caracteres.

COMMENT retorna "Ago"


CMOY(Data_Transação; 3)

Manipulação de cadeias de caracteres


Remova ou substitua segmentos de campos de caracteres usando essas funções.

INCLUDE( )
Retorna uma cadeia que inclui apenas os caracteres especificados.

Exemplo

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 49 de 966
Introdução

O campo Endereço contém o valor "12345 ABC Corporation". Você precisa extrair o número do ende-
reço e excluir o nome da empresa.

COMMENT retorna "12345"


ASSIGN v_caracteres_a_retornar = "0123456789"
INCLUDE(Endereço; v_caracteres_a_retornar)

EXCLUDE( )
Retorna uma cadeia que exclui os caracteres especificados.

Exemplo
O campo Endereço contém o valor "12345 ABC Corporation". Você precisa extrair o nome da empresa e
excluir o número do endereço.

COMMENT retorna "ABC Corporation"


ASSIGN v_caracteres_a_excluir = "0123456789"
EXCLUDE(Endereço; v_caracteres_a_excluir)

REPLACE( )
Substitui todas as instâncias de uma cadeia de caracteres especificada por uma nova cadeia de carac-
teres.

Exemplo
O campo Endereço contém o valor "12345 Acme&Sons". Você precisa substituir o caractere "&" pela pala-
vra " and ".

COMMENT retorna "12345 Acme and Sons"


ASSIGN v_caractere_destino = "&"
ASSIGN v_caractere_substituição = " and "
REPLACE(Endereço; v_caractere_destino; v_caractere_substituição)

OMIT( )
Retorna uma cadeia com um ou mais subcadeias especificadas removidas.

Exemplo
O campo Endereço contém o valor "12345 Fake St". Você precisa extrair o endereço sem o sufixo de rua
("St").

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 50 de 966
Introdução

COMMENT retorna "12345 Fake"


ASSIGN v_caracteres_a_omitir = "St"
OMIT(Endereço; v_caracteres_a_omitir)

REVERSE()
Retorna uma cadeia com os caracteres na ordem invertida.

Exemplo
O campo Linha_Relatório contém o valor "001 Correção 5874,39 CR ". Você precisa reverter o valor e omi-
tir qualquer espaço à esquerda ou à direita.

COMMENT retorna "RC 93,4785 oãçerroC 100"


REVERSE(ALLTRIM(Linha_Relatório))

BLANKS( )
Retorna uma cadeia que contém um número especificado de espaços em branco.

Exemplo
Você precisa criar um campo calculado para um nome de região com base em um valor no campo código_
região. Você deve garantir que o valor padrão especificado no final do comando tenha um tamanho pelo
menos igual ao valor de entrada mais longo.

COMMENT BLANKS retorna uma cadeia com 8 caracteres " "


ASSIGN v_comprimento = 8
DEFINE FIELD região COMPUTED

"Sul" IF código_região = 1
"Norte" IF código_região = 2
"Leste" IF código_região = 3
"Oeste" IF código_região = 4
BLANKS(v_comprimento)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 51 de 966
Comandos

Comandos

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 53 de 966
Comandos

Comando ACCEPT
Cria uma caixa de diálogo que solicita interativamente um ou mais valores de entrada de script dos usu-
ários. Cada valor de entrada é armazenado em uma variável nomeada de caracteres.
Nota
Não é seguro usar o comando ACCEPT para inserir senhas. Em vez disso, use
"Comando PASSWORD" Na página 363.
O comando ACCEPT não é permitido em análises do Servidor AX.
Você pode criar uma caixa de diálogo interativa mais avançada com o "Comando
DIALOG" Na página 152.

Sintaxe
ACCEPT {texto_mensagem <FIELDS categoria_item_projeto> TO nome_variável} <...n>

Parâmetros
Nome Descrição

texto_men- O rótulo exibido na caixa de diálogo para solicitar informações. Deve ser uma cadeia entre aspas ou
sagem uma variável de caracteres.
Para inserir várias solicitações, separe-os com vírgulas. Embora não obrigatório, o uso de vírgulas faci-
lita a leitura do script:

ACCEPT "Especifique uma data inicial:" TO v_data_inicial, "Especifique uma data final:" TO v_
data_final

FIELDS Cria uma lista suspensa de itens o projeto para a entrada do usuário, em vez de uma caixa de texto. O
categoria_ usuário pode selecionar um único item, campo ou variável na lista.
item_pro-
categoria_item_projeto indica os tipos de item a serem exibidos na lista. Por exemplo, a especificação
jeto
de xf exibe todas as tabelas do projeto na lista. Coloque categoria_item_projetos entre aspas:
opcional
FIELDS "xf"

Para ver os códigos usados para especificar as categorias, consulte "Códigos para categorias de item
de projeto" Na página 57.
Você pode especificar mais de um código na mesma solicitação, mas não é possível misturar itens de
projeto, campos ou variáveis.

TO nome_ O nome da variável de caracteres a ser usada para armazenar a entrada do usuário. A variável será cri-

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 54 de 966
Comandos

Nome Descrição

variável ada, caso ela não exista.


Se a variável já existir, seu valor atual será exibido na caixa de diálogo como o valor padrão.
Nota
Não é possível usar caracteres que não estejam em inglês, como "é", em nomes de
variáveis que serão usadas na substituição de variáveis. Nomes de variáveis com
caracteres que não sejam em inglês provocam falhas no script.
O comando ACCEPT cria somente variáveis de caracteres. Se precisar da entrada de
outro tipo de dado, você deverá converter a variável de caractere para o tipo neces-
sário no processamento subsequente em um script. Para obter mais informações, con-
sulte "Tipo de dados de entrada" Na página 58.

Exemplos
Solicitação para o usuário selecionar a tabela do Analytics a ser aberta
Você precisa de uma caixa de diálogo que solicita que o usuário selecione o nome da tabela a ser aberta. O
script abre a tabela selecionada pelo usuário:

ACCEPT "Selecione a tabela a abrir:" FIELDS "xf" TO v_nome_tabela


OPEN %v_nome_tabela%

Os sinais de porcentagem são obrigatórios porque indicam que o nome da tabela a ser aberta está arma-
zenado na variável v_nome_tabela. Se os sinais de porcentagem forem omitidos, o script tentará abrir uma
tabela denominada "v_nome_tabela".

Uso de várias caixas de diálogo para coletar entradas obrigatórias


Você quer criar uma caixa de diálogo separada para cada valor que deve ser inserido pelo usuário do
script.
Use uma cadeia com uma única solicitação em cada instância do comando ACCEPT. O script gera caixas
de diálogo separadas para especificação de cada um dos seguintes itens:
l um nome de tabela
l um campo para amostragem
l um intervalo de amostragem
l um valor inicial aleatório

ACCEPT "Digite o nome da tabela para análise" TO v_nome_tabela


OPEN %v_nome_tabela%
ACCEPT "Selecione o campo para amostra" FIELDS "N" TO v_campo_para_amostra
ACCEPT "Digite o intervalo de amostragem" TO v_intervalo_amostragem

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 55 de 966
Comandos

ACCEPT "Digite o valor inicial aleatório" TO v_valor_inicial_aleatório


SAMPLE ON %v_campo_para_amostra% INTERVAL v_intervalo_amostragem FIXED v_valor_ini-
cial_aleatório RECORD TO Amostra_saída OPEN

Quando o script for executado


1. A primeira caixa de diálogo solicita o nome da tabela.
2. A segunda caixa de diálogo, com FIELDS "N", solicita uma seleção de campo em uma lista sus-
pensa de campos numéricos.
3. A terceira caixa de diálogo solicita o valor do intervalo.
4. A quarta caixa de diálogo solicita o valor de início aleatório.

Uso de uma única caixa de diálogo com várias solicitações para coletar as
entradas necessárias
Você quer criar uma única caixa de diálogo para todos os valores que devem ser inseridos pelo usuário
do script.
Use várias solicitações, separadas por vírgulas, no comando ACCEPT para solicitar que o usuário
informe os vários valores de entrada. A mesma caixa de diálogo contém solicitações para a data inicial e a
data final de um intervalo de datas:

ACCEPT "Especifique uma data inicial:" TO v_data_inicial, "Especifique uma data final:" TO v_data_
final

Observações
Interatividade
Use ACCEPT para criar um script interativo. Quando o comando ACCEPT é processado, o script é pau-
sado e uma caixa de diálogo é exibida solicitando informações do usuário que o Analytics usa pos-
teriormente no processamento.
É possível criar caixas de diálogo separadas que solicitam um item de cada vez ou criar uma que solicita
vários itens.

Comparação entre DIALOG e ACCEPT


O comando DIALOG permite criar uma caixa de diálogo interativa mais avançada, que pode ter um ou
mais dos seguintes tipos de controles:
l caixa de texto
l caixa de seleção
l botões de opção

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 56 de 966
Comandos

l lista suspensa de valores personalizados


l lista de Itens do projeto
Você também pode personalizar o layout da caixa de diálogo. Para obter mais informações, consulte
"Comando DIALOG" Na página 152.

Códigos para categorias de item de projeto


Use os seguintes códigos para especificar a categoria do item do projeto a ser exibido em uma lista sus-
pensa.

Categorias de projeto

Código Categoria

xf Tabelas

xb Scripts

xi Índices

xr Exibições e relatórios

xw Áreas de trabalho

Categorias de campo

Código Categoria

C Campos de caractere

N Campos numéricos

D Campos de datahora

L Campos lógicos

Categorias de variável

Código Categoria

c Variáveis de caractere

n Variáveis numéricas

d Variáveis de datahora

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 57 de 966
Comandos

Código Categoria

l Variáveis lógicas

Tipo de dados de entrada


ACCEPT armazena a entrada do usuário em uma ou mais variáveis de caracteres. Se você precisar de
entradas numéricas ou datahora, poderá usar as funções VALUE( ) ou CTOD( ) para converter o con-
teúdo da variável de caracteres em um valor numérico ou datahora:

SET FILTER TO BETWEEN(%v_campo_data%; CTOD(%v_data_inicial%); CTOD(%v_data_


final%))

No exemplo, as datas inicial e final desse filtro são armazenadas como valores de caractere. Elas devem
ser convertidas em valores de dada para serem usadas com um campo de data que usa um tipo de dados
Datetime.
Delimitar o nome da variável com símbolos de porcentagem (%) substitui o valor do caractere contido pela
variável pelo nome da variável. A função CTOD( ) converte em seguida o valor do caractere em um valor
de data.

Posição do comando ACCEPT


É recomendável colocar todos os comandos ACCEPT no início de um script, se possível. Se você solicitar
todas as entradas no início, o script poderá ser executado sem interferências assim que o usuário digitar
as informações necessárias.
Nota
Você não pode usar o comando ACCEPT dentro do comando GROUP.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 58 de 966
Comandos

Comando ACCESSDATA
Importa dados de diversas origens de dados compatíveis com ODBC.
O comando assume a forma ACCESSDATA64 ou ACCESSDATA32, dependendo do driver do ODBC que
você estiver usando (64 ou 32 bits).

Sintaxe
{ACCESSDATA64 | ACCESSDATA32} {CONNECTOR | ODBC {"Driver"|"Dsn"|"File"}} NAME valor
<USER id_do_usuário> <PASSWORD num | PROMPT_PASSWORD> TO nome_tabela CHARMAX
comprimento_máx_do_campo MEMOMAX comprimento_máx_do_campo <ALLCHARACTER>
SOURCE (configurações_da_conexão) <HASH(valor_de_origem, campos)>
SQL_QUERY
(sintaxe_SQL)
END_QUERY

Parâmetros
Nome Descrição

CONNECTOR | ODBC O tipo de conexão ODBC que você deseja fazer:


{"Driver"|"Dsn"|"File"} o CONNECTOR: – conecte usando um conector de dados nativo do Analytics
o ODBC "Driver": – conecte usando um driver ODBC do Windows instalado no seu com-
putador
o ODBC "Dsn": – conecte usando um DSN (nome de origem de dados) salvo em seu
computador
o ODBC "File": – conecte usando um DSN em arquivo (um arquivo .dsn salvo)

NAME valor O nome do conector de dados do Analytics, do driver ODBC ou do DSN.


Por exemplo:
o NAME "Amazon Redshift"
o NAME "Microsoft Access Driver (*.mdb, *.accdb)"
o NAME "My Excel DSN"
o NAME "excel.dsn"

USER id_do_usuário O ID de usuário para origens dos dados que exigem um ID de usuário.
opcional

PASSWORD num | Para origens de dados que exigem uma senha:


PROMPT_PASSWORD o PASSWORD num: use a definição de senha numerada
opcional o PROMPT_PASSWORD: exibe uma solicitação de senha
A solicitação de senha também permite que o id_do_usuário seja alterado.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 59 de 966
Comandos

Nome Descrição

Se usar PASSWORD num, você deverá especificar uma definição de senha criada ante-
riormente. Para obter mais informações, consulte "Comando PASSWORD" Na
página 363 e "Comando SET" Na página 424.
Dica
O uso do comando PASSWORD com PASSWORD num é semelhante ao
uso do parâmetro PROMPT_PASSWORD. As duas abordagens solicitam
ao usuário uma senha. PROMPT_PASSWORD tem o benefício de per-
mitir a atualização do id_do_usuário.

TO nome_tabela A localização para onde enviar os resultados do comando:


o nome_tabela: salva os resultados em uma tabela do Analytics
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o projeto
do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos, sem
contar a extensão .FIL. O nome pode incluir o caractere de sublinhado
( _ ) mas nenhum outro caractere especial e nenhum espaço. O nome
não pode começar com um número.

CHARMAX tamanho_ O tamanho máximo em caracteres de qualquer campo na tabela do Analytics originada
máximo_do_campo como dados caractere no arquivo de dados de origem que você está importando.
O valor padrão é 50. Dados que ultrapassem o comprimento máximo do campo são trun-
cados quando importados para o Analytics.

MEMOMAX tamanho_ O comprimento máximo, em caracteres, do texto, anotação ou campos de memorando


máximo_do_campo que você está importando.
O valor padrão é 100. Dados que ultrapassem o comprimento máximo do campo são
truncados quando importados para o Analytics.

ALLCHARACTER Atribui automaticamente o tipo de dados caractere a todos os campos importados.


opcional Depois que os dados estiverem no Analytics, você poderá atribuir tipos de dados dife-
rentes, como Numérico ou DataHora, aos campos, e especificar detalhes do formato.
Dica
ALLCHARACTER é útil na importação de uma tabela que contém valores
numéricos de identificação. Você pode usar ALLCHARACTER para evitar
que o Analytics atribua automaticamente o tipo de dados numérico a valo-
res que deveriam usar o tipo de dados caractere.

SOURCE configurações_ As configurações de conexão (cadeia de conexão) exigidas para conectar à origem de

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 60 de 966
Comandos

Nome Descrição

de_conexão dados.

HASH(valor_de_origem; Importa os campos especificados como valores de hash criptográfico. Os valores de


campos) hash são transformações unidirecionais e não podem ser decodificados após a impor-
tação dos campos:
opcional
o valor_de_origem: uma cadeia alfanumérica, concatenada aos valores dos dados de
origem, para fortalecer o hashing dos valores nos campos. Insira o valor do hash
como uma cadeia entre aspas.
O valor de origem é limitado a 128 caracteres. Não use nenhum dos seguintes carac-
teres: ( ) "
o campos: uma lista de um ou mais campos onde o hash será aplicado. Insira os cam-
pos como uma cadeia entre aspas e separe cada campo com uma vírgula.
Você deve especificar o nome do campo exibido na visualização da janela Acesso a
Dados e na área de preparação, e não o nome do campo na origem de dados.
Nota
O nome do campo exibido na visualização da janela Acesso a Dados
é o valor do alias do campo na consulta SQL ("nome_campo" AS
"alias"). Você deve usar o valor do alias para fazer referência a cam-
pos.

HASH("QZ3x7"; "SSN_NO, CC_NO, Last_Name")

Para obter informações sobre a comparação entre valores com hash aplicado durante a
importação e valores com hash aplicado no ACLScript, consulte "Comparação entre
dados com hash aplicado pelo ACCESSDATA e dados com hash aplicado pela função
ACLScript HASH( )" Na página 65.

SQL_QUERY (sintaxe_ A instrução de importação do SQL.


SQL) END_QUERY
Tudo dentro dos parênteses é parte da consulta SQL e deve ter uma sintaxe SQL válida.

Exemplos
Importação de dados usando um conector de dados nativo do Analytics
Você precisa importar dados do serviço de dados de nuvem Amazon Redshift. Para fazer isso, você pre-
cisa do conector de dados para Amazon Redshift do Analytics:

ACCESSDATA64 CONNECTOR NAME "Amazon Redshift" USER "usuário_do_ACL" PROMPT_


PASSWORD TO "Entitlement_History.FIL" CHARMAX 50 MEMOMAX 100
SOURCE( bool-
sas-

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 61 de 966
Comandos

char-
=0;c-
ache-
size-
=100-
;da-
taba-
se=-
usa-
ge;-
decla-
refet-
chmode=0;maxbytea=255;maxlongvarchar=8190;maxvarchar=255;port=5439;servername=acl_
test.-
high-
bond.-
com;-
singlerowmode=1;sslmode=require;textaslongvarchar=0;usemultiplestatments=0;useunicode=1)
SQL_QUERY(
SELECT
"histórico_de_direitos"."organização" AS "organização",
"histórico_de_direitos"."email_do_usuário" AS "email_do_usuário",
"histórico_de_direitos"."id_do_plano" AS "id_do_plano",
"histórico_de_direitos"."a_partir_de" AS "a_partir_de",
"histórico_de_direitos"."até" AS "até"
FROM
"prm"."histórico_de_direitos" "histórico_de_direitos"
)) END_QUERY

Importação de dados usando um driver ODBC do Windows


Você precisa importar dados de um banco de dados do Microsoft Access. Para isso, você usa um driver
ODBC do Windows para conectar-se ao MS Access e concluir a importação:

ACCESSDATA32 ODBC "Driver" NAME "Driver do Microsoft Access (*.mdb)" TO "Faturas.FIL"


CHARMAX 50 MEMOMAX 100
SOURCE( dbq=C:\Users\lachlan_murray\Documents\ACL Data\Arquivos de dados de amos-
tra\Sample.mdb;defaultdir=C:\Users\lachlan_murray\Documents\ACL Data\Arquivos de dados de
amostra;driverid=281;fil=MS Access;-
max-
buf-
fersize=2048;maxscanrows=8;pagetimeout=5;safetransactions=0;threads=3;usercommitsync=Yes)
SQL_QUERY(
SELECT

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 62 de 966
Comandos

`Cliente`.`ID_Cliente` AS `ID_Cliente`,
`Cliente`.`Empresa` AS `Empresa`,
`Cliente`.`Endereço` AS `Endereço`,
`Cliente`.`Cidade` AS `Cidade`,
`Cliente`.`Região` AS `Região`,
`Cliente`.`Código_Postal` AS `Código_Postal`,
`Cliente`.`País` AS `País`,
`Cliente`.`Telefone` AS `Telefone`,
`Pedidos`.`ID_Pedido` AS `ID_Pedido`,
`Pedidos`.`ID_Cliente` AS `ID_Cliente_Pedidos`,
`Pedidos`.`ID_Prod` AS `ID_Prod`,
`Pedidos`.`Data_do_Pedido` AS `Data_do_Pedido`,
`Pedidos`.`Quantidade` AS `Quantidade`,
`Produto`.`ID_Prod` AS `ID_Prod_Produto`,
`Produto`.`Nome_do_Prod` AS `Nome_do_Prod`,
`Produto`.`Preço_Unitário` AS `Preço_Unitário`,
`Produto`.`Descrição` AS `Descrição`,
`Produto`.`Peso_Frete` AS `Peso_Frete`
FROM
(`Cliente` `Cliente`
INNER JOIN
`Pedidos` `Pedidos`
ON `Cliente`.`ID_Cliente` = `Pedidos`.`ID_Cliente`
)
INNER JOIN
`Produto` `Produto`
ON `Pedidos`.`ID_Produto` = `Produto`.`ID_Produto`
WHERE
(
`Cliente`.`Região` = 'RJ'
OR `Cliente`.`Região` = 'PR'
)
) END_QUERY

Importação de dados usando um DSN do Windows (nome de origem de


dados)
Você precisa importar dados de um arquivo do Microsoft Access. Para isso, você usa um DSN do Windows
para conectar-se ao Excel e concluir a importação:

ACCESSDATA32 ODBC "Dsn" NAME "Arquivos do Excel" TO "Trans_Abril_15_data_limite.FIL"


CHARMAX 50 MEMOMAX 100
SOURCE( dbq=C:\Users\lachlan_murray\Documents\ACL Data\Arquivos de dados de

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 63 de 966
Comandos

amostra\Trans_Abril.xls;defaultdir=C:\Users\lachlan_murray\Documents\ACL Data\Arquivos de
dados de amostra;driverid=1046;maxbuffersize=2048;pagetimeout=5)
SQL_QUERY(
SELECT
`Trans_Abr_`.`CARDNUM` AS `CARDNUM`,
`Trans_Abr_`.`AMOUNT` AS `AMOUNT`,
`Trans_Abr_`.`TRANS_DATE` AS `TRANS_DATE`,
`Trans_Abr_`.`CODES` AS `CODES`,
`Trans_Abr_`.`CUSTNO` AS `CUSTNO`,
`Trans_Abr_`.`DESCRIPTION` AS `DESCRIPTION`
FROM
`Trans_Abr$` `Trans_Abr_`
WHERE
(
`Trans_Abr_`.`TRANS_DATE` <= {ts '2003-04-15 00:00:00'}
)
) END_QUERY

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda
do Analytics.

Criando configurações de conexão ODBC e instruções de


importação SQL
As configurações de conexão do ODBC e as instruções de importação do SQL são frequentemente lon-
gas e complexas, como mostrado nos exemplos.
A forma mais fácil de criar essas partes do comando ACCESSDATA é primeiro usar uma janela Acesso a
Dados no Analytics para conectar-se à origem de dados de destino e importar os dados. Você pode,
então, copiar todo o comando ACCESSDATA do log, incluindo as configurações de conexão e instrução
de importação, e personalizar o comando conforme necessário.

Valor de senha suprimido


Quando você usa a janela Acesso a Dados no Analytics para executar o comando ACCESSDATA e for-
nece uma senha, o valor da senha não é gravado no log. Em vez disso, o parâmetro PROMPT_
PASSWORD é substituído.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 64 de 966
Comandos

Arquivos de log do ACCESSDATA


Dois arquivos de log registram as transações associadas ao comando ACCESSDATA, e podem ser usa-
dos para solucionar problemas se houver falha em uma conexão de dados:
l ServerDataAccess.log: registra todas as atividades e erros anteriores à importação dos dados
Localização: C:\Usuários\<conta do usuário>\AppData\Local\ACL\ACL for Win-
dows\Data Access\ServerDataAccess.log
Nota
O "Server" em ServerDataAccess.log faz referência ao componente de acesso
a dados do Analytics executando localmente no computador onde o Analytics está
instalado.
l DataAccess.log: registra informações sobre a operação de importação e o projeto do Analytics para
onde você está importando os dados
Localização: ..\<pasta de projeto do Analytics>\DataAccess.log

Comparação entre dados com hash aplicado pelo


ACCESSDATA e dados com hash aplicado pela função
ACLScript HASH( )
Embora não seja possível ler os valores brutos dos dados com hash aplicado, eles podem ser úteis para
combinar ou analisar dados.
Se quiser comparar valores com hash aplicado por ACCESSDATA durante a importação com valores com
hash aplicado usando a função HASH( ) do ACLScript, você deverá converter todos os campos numéricos
ou datahora do Analytics em valores de caracteres e eliminar todos os espaços à esquerda e à direita antes
de aplicar o hash aos dados.
Os campos de datahora devem usar os seguintes formatos na conversão em caracteres:
l Datahora: "AAAA-MM-DD hh:mm:ss"
l Data: "AAAA-MM-DD"
l Hora: "hh:mm:ss"
O exemplo a seguir usa as funções STRING( ) e ALLTRIM( ) para converter um campo numérico de
número de cartão de crédito em dados de caracteres antes de aplicar hash ao valor usando a função HASH
( ) do ACLScript:

COMMENT Função HASH do ACL usada após a importação de dados


HASH(ALLTRIM(STRING(CC_No; 16)); "QZ3x7")

Após aplicar hash aos valores do Analytics, você poderá compará-los com os valores com hash aplicado na
importação pelo comando ACCESSDATA.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 65 de 966
Comandos

Comando ACTIVATE
Adiciona definições de campos armazenadas em uma área de trabalho do Analytics ao conjunto existente
de definições de campos em um layout da tabela do Analytics.

Sintaxe
ACTIVATE <WORKSPACE> nome_da_área_de_trabalho <OK>

Parâmetros
Nome Descrição

WORKSPACE nome_da_ O nome da área de trabalho para ativar.


área_de_trabalho

OK Exclui ou sobrescreve itens sem solicitar confirmação da ação.


opcional Se houver um campo na tabela com um nome idêntico a um campo na área de tra-
balho ativada, ele será sobrescrito sem confirmação. Você não pode substituir um
campo que seja referenciado por um campo calculado.

Exemplos
Ativação de uma área de trabalho no projeto do Analytics
Ative a área de trabalho ComplexFormulas :

ACTIVATE WORKSPACE FórmulasComplexas OK

Ativação de uma área de trabalho salva como um arquivo (.wsp) na mesma


pasta do projeto do Analytics
Ative a área de trabalho ComplexFormulas , salva em um arquivo .wsp:

ACTIVATE WORKSPACE FórmulasComplexas.WSP OK

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 66 de 966
Comandos

Observações
Como funciona?
O ACTIVATE disponibiliza as definições de campo de área de trabalho para a tabela ativa. Quando você
ativa uma área de trabalho, seus campos permanecem disponíveis para uso com a tabela ativa até que ela
seja fechada.

Editar layouts de tabelas


Os campos da área de trabalho serão adicionados permanentemente ao layout da tabela se:
l você editar o layout da tabela após ativar uma área de trabalho
l você efetuar uma alteração que faça com que o layout da tabela seja salvo
Depois que os campos da área de trabalho forem salvos no layout da tabela, você poderá:
1. Usar o comando DEFINE COLUMN para adicionar os campos a uma exibição.
2. Usar o comando SAVE para salvar as alterações.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 67 de 966
Comandos

Comando AGE
Agrupa os registros em períodos de vencimento com base nos valores de um campo data ou datahora.
Conta os registros em cada período e subtotaliza os campos numéricos especificados em cada período.

Sintaxe
AGE <ON> campo_data <CUTOFF data_limite> <INTERVAL dias <;...n>> <SUPPRESS>
<SUBTOTAL campo_numérico <...n> |SUBTOTAL ALL> <IF teste> <WHILE teste> <FIRST inter-
valo|NEXT intervalo> <TO {SCREEN|nome_arquivo|GRAPH|PRINT}> <KEY campo_quebra>
<HEADER texto_cabeçalho> <FOOTER texto_rodapé> <APPEND> <LOCAL> <STATISTICS>

Parâmetros
Nome Descrição

ON campo_data O nome do campo de data ou datahora ou a expressão para ordenação por período.
Embora você possa estipular o vencimento em um campo datahora, apenas a parte da
data referente aos valores de datahora será levada em consideração. A parte referente
à hora é ignorada. Você não pode estipular o vencimento apenas em dados de hora.

CUTOFF data_limite A data com a qual os valores em campo_data serão comparados.


opcional Você precisa especificar data_limite como uma cadeia sem aspas no formato
AAMMDD ou AAAAMMDD, independentemente do formato do campo de data. Por
exemplo: CUTOFF 20141231
Se você omitir CUTOFF, a data atual do sistema será usada como data limite.

INTERVAL dias <;...n> Os intervalos de data (ou seja, o número de dias) a utilizar no cálculo dos períodos de
vencimento.
opcional
dias representa o início de cada período de vencimento contado retroativamente a par-
tir da data_limite:
o o primeiro valor de dias identifica o início do primeiro período de vencimento
o um primeiro valor de dias igual a "0" especifica que o primeiro período de ven-
cimento deve começar na data_limite especificada
o o último valor de dias identifica o fim do último período de vencimento
Você deve especificar os intervalos como cadeia sem aspas com valores separados
por ponto e vírgula:

INTERVAL
0,90,180,270,365

Os períodos de vencimento padrão são 0; 30; 60; 90; 120 e 10.000 dias. Um intervalo

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 68 de 966
Comandos

Nome Descrição

de 10.000 dias é utilizado para separar os registros com datas provavelmente invá-
lidas.
Caso necessário, os intervalos de datas podem ser personalizados para refletir outros
relatórios internos periodizados.

SUPPRESS Suprime as datas fora dos períodos de vencimento da saída do comando.


opcional

SUBTOTAL campo_numé- Um ou mais campos numéricos ou expressões a serem subtotalizadas para cada
rico <...n> | SUBTOTAL grupo.
ALL
Vários campos devem ser separados por espaço. Especifique ALL para subtotalizar
opcional todos os campos numéricos da tabela.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes
em uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número
opcional de registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até
alcançar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

TO SCREEN | nome_ A localização para onde enviar os resultados do comando:


arquivo | GRAPH | PRINT o SCREEN: exibe os resultados na área de exibição do Analytics
o nome_arquivo: salva os resultados em um arquivo
Especifique nome_arquivo como uma cadeia entre aspas com uma extensão de
arquivo apropriada. Por exemplo: TO "Saída.TXT"
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma
pasta diferente já existente:
l TO "C:\Saída.TXT"
l TO "Resultados\Saída.TXT"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 69 de 966
Comandos

Nome Descrição

o GRAPH: exibe os resultados em um gráfico na área de exibição do Analytics


o PRINT: envia os resultados para a impressora padrão

KEY campo_quebra O campo ou expressão que agrupa cálculos de subtotal. Um subtotal é calculado cada
vez que o valor de campo_quebra muda.
opcional
campo_quebra deve ser um campo ou expressão de caracteres. Apenas um campo
pode ser especificado, mas é possível usar uma expressão que contém mais que um
campo.

HEADER texto_cabeçalho O texto a ser inserido na parte superior de cada página de um relatório.
opcional texto_cabeçalho deve ser especificado como uma cadeia entre aspas. O valor substitui
a variável de sistema HEADER do Analytics.

FOOTER texto_rodapé O texto a ser inserido na parte inferior de cada página de um relatório.
opcional texto_rodapé deve ser especificado como uma cadeia entre aspas. O valor substitui a
variável de sistema FOOTER do Analytics.

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional Nota
Você deve garantir que a estrutura da saída do comando e o arquivo
existente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua
estrutura. Se a estrutura da saída e do arquivo existente não cor-
responderem, o resultado poderá ser dados misturados, ausentes ou
incorretos.

LOCAL Salva o arquivo de saída no mesmo local que o projeto do Analytics.


opcional Nota
Aplicável apenas na execução de um comando em uma tabela de ser-
vidor com um campo de saída que é uma tabela do Analytics.

STATISTICS Nota
opcional Somente pode ser usado se SUBTOTAL também for especificado.
Calcula valores médios, mínimos e máximos para todos os campos de SUBTOTAL.

Exemplos
Vencimentos de faturas com subtotal de valores
Você quer calcular os vencimentos de uma tabela de contas a receber com base no campo Data_Fatura

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 70 de 966
Comandos

e calcular o subtotal do campo Valor_Fatura.


As faturas são agrupadas em períodos de 30 dias:
l da data limite até 29 dias anteriores
l de 30 dias anteriores até 59 dias anteriores
l e assim por diante
Os resultados incluem o valor total pendente de faturas para cada período:

OPEN Ar
AGE ON Data_Fatura CUTOFF 20141231 INTERVAL 0;30;60;90;120;10000 SUBTOTAL Valor_
Fatura TO SCREEN

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Períodos de vencimento
O comando AGE agrupa os registros em períodos de vencimento com base nos valores de um campo data
ou datahora. Os resultados de saída contêm um único registro para cada período contendo a contagem dos
registros da tabela de origem que pertencem ao período.

Medição de intervalo
Períodos de vencimento são baseados em intervalos de datas (isto é, números de dias) contados para trás
na linha do tempo, a partir da data do sistema ou a partir da data de corte que você especificar, como uma
data final do período fiscal.

Períodos futuros
É possível criar períodos de vencimento mais recentes que a data limite especificando valores negativos
como intervalos de datas. Por exemplo, o comando a seguir cria períodos de vencimento antes e depois da
data limite:

INTERVAL -60;-30;0;30;60;90

Essa abordagem cria um perfil de dados de todos os registros em uma tabela usando pontos no tempo dife-
rentes.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 71 de 966
Comandos

Casos de uso comuns


Entre os usos comuns do vencimento inclui-se avaliar tendências de vendas, consultar volumes de tran-
sações e agrupar faturas pela quantidade de dias ultrapassados.
O Analytics cria automaticamente um ou dois períodos de vencimento para as datas que não per-
tencerem aos períodos de vencimento especificados, contanto que o SUPPRESS não esteja sendo uti-
lizado.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 72 de 966
Comandos

Comando APPEND
Combina registros de duas ou mais tabelas do Analytics anexando-os em uma nova tabela do Analytics.

Sintaxe
APPEND tabela_1; tabela_2; <...n> TO nome_tabela <COMMONFIELDS> <OPEN> <ASCHAR>
<ALLCHAR>

Parâmetros
Nome Descrição

tabela_1; tabela_2; <...n> As tabelas a serem anexadas.


Os registros de cada tabela são anexados na ordem na qual você especifica as tabelas.
A tabela de saída contém os registros da tabela_1, seguidos dos registros da tabela_2, e
assim por diante.
As tabelas de origem podem ter estruturas de registro diferentes ou idênticas e podem
ser ordenadas ou não ordenadas.

TO nome_tabela A localização para onde enviar os resultados do comando:


o nome_tabela: salva os resultados em uma tabela do Analytics
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o projeto
do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos, sem
contar a extensão .FIL. O nome pode incluir o caractere de sublinhado
( _ ) mas nenhum outro caractere especial e nenhum espaço. O nome
não pode começar com um número.

COMMONFIELDS Somente os campos comuns a todas as tabelas sendo anexadas são incluídos na tabela
de saída.
opcional
Se você omitir COMMONFIELDS, todos os campos de todas as tabelas serão incluídos
na tabela de saída. Valores em branco são exibidos na tabela de saída quando não exis-
tir nenhum campo nas tabelas de origem.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 73 de 966
Comandos

Nome Descrição

Dica
Para ver diagramas e capturas de tela ilustrando as duas opções, con-
sulte Anexando tabelas.
Nota
O comando APPEND não é compatível com a anexação de campos cal-
culados. Para obter mais informações, consulte "Campos calculados não
são compatíveis" Na página 78.

O que torna os campos comuns?


Para campos serem considerados comuns, eles precisam:
o ocorrer em cada tabela de origem
o ter um nome físico idêntico
o pertencer à mesma categoria de dados:
l Caractere
l Numérico
l Datahora
l Lógico

Nome idêntico, categoria de dados diferente


Se dois campos tiverem um nome idêntico, mas pertencerem a diferentes categorias de
dados, uma mensagem de erro será exibida e o comando APPEND não será executado.
A mensagem de erro contém todos os conflitos de categoria de dados no conjunto de
tabelas especificado por APPEND. A mensagem é salva no log de comando.
Nota
Você pode evitar essa situação usando ASCHAR ou ALLCHAR para har-
monizar categorias de dados.

OPEN Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o
comando criar uma tabela de saída.
opcional

ASCHAR Harmoniza campos com nomes idênticos, mas categorias de dados diferentes, con-
vertendo campos não caractere para a categoria de dados de caractere.
opcional
Por exemplo, você anexa duas tabelas em que o campo ID_Funcionário é definido como
dados de caractere em uma tabela e dados numéricos na outra tabela. O campo numé-
rico ID_Funcionário é convertido em dados de caractere e os dois campos são anexados
sem causar erro.
ASCHAR é ignorado se ALLCHAR também é especificado.

ALLCHAR Converte todos os campos não caractere para a categoria de dados de caractere em
todas as tabelas sendo anexadas.
opcional
Essa conversão global para dados de caractere garante que todos os campos com
nomes idênticos serão anexados sem causar erro.
Nota
Após a anexação, você pode alterar a categoria de dados de todo um
campo anexado, caso necessário para os dados contidos no campo.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 74 de 966
Comandos

Exemplos
Anexar três tabelas de transações mensais
O exemplo a seguir anexa três tabelas de transações mensais e gera uma tabela de transações trimestrais
que inclui todos os campos das três tabelas de origem:

APPEND Trans_Jan; Trans_Fev; Trans_Mar TO Trans_T1

Anexar três tabelas de funcionários e incluir apenas os campos comuns


O exemplo a seguir anexa três tabelas de divisão de funcionários e gera uma tabela mestre de funcionários
que inclui apenas campos comuns às três tabelas de origem:

APPEND Funcionários_central; Funcionários_leste; Funcionários_oeste TO Funcionários_mestre


COMMONFIELDS

Anexar três tabelas de funcionários e harmonizar os campos com categorias


de dados diferentes
Os exemplos abaixo anexam três tabelas de funcionários de divisões diferentes em que alguns campos
com o mesmo nome usam categorias de dados diferentes.
O primeiro exemplo converte campos não caractere para a categoria de dados de caractere apenas
quando necessário para a harmonização:

APPEND Funcionários_central; Funcionários_leste; Funcionários_oeste TO Funcionários_mestre


ASCHAR

O segundo exemplo converte campos não caractere para a categoria de dados de caractere, inde-
pendentemente de a conversão ser necessária para a harmonização ou não:

APPEND Funcionários_central; Funcionários_leste; Funcionários_oeste TO Funcionários_mestre


ALLCHAR

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 75 de 966
Comandos

Como funciona?
O comando APPEND combina registros de duas ou mais tabelas anexando-os e criando uma nova
tabela. Anexar significa adicionar um grupo de registros na parte inferior de outro grupo de registros.
Campos da tabela de origem com nomes físicos idênticos e categorias de dados idênticas são dire-
tamente anexados uns aos outros.
Campos com nomes físicos únicos em todas as tabelas de origem são adicionados à tabela de saída, mas
não são diretamente anexados a nenhum outro campo.
Dica
Se quiser anexar diretamente campos com nomes inconsistentes, padronize os nomes
físicos dos campos nos layouts das respectivas tabelas antes de anexar. (Supondo que
os campos pertencem à mesma categoria de dados ou que você usa ASCHAR ou
ALLCHAR para harmonizar a categoria de dados dos campos.)

Quando usar APPEND


Use APPEND quando quiser combinar dados de várias tabelas com uma estrutura idêntica ou similar.
Por exemplo, APPEND é uma boa escolha para combinar tabelas mensais ou trimestrais em uma tabela
anual.
Dica
Uma única execução do comando APPEND pode substituir várias execuções do
comando EXTRACT com a opção APPEND.

Não é um substituto para JOIN ou DEFINE RELATION


APPEND geralmente não é substituto do comando JOIN ou DEFINE RELATION, pois não permite que
você inclua ou exclua registros com base em valores correspondentes ou não correspondentes em um
campo-chave comum. Com APPEND, todos os registros de cada tabela de origem são incluídos na
tabela de saída.

Anexação de tabelas totalmente diferentes


Você pode anexar tabelas totalmente diferentes, isso é, duas ou mais tabelas que não tenham nenhum
campo em comum. Embora não seja o uso principal pretendido para o comando APPEND, pode haver
situações em que anexar tabelas diferentes serve para uma finalidade analítica.

Anexação de campos de datahora


Para dois ou mais campos de datahora serem anexados, as seguintes condições devem ser atendidas:
l nomes físicos idênticos
l categoria de dados idêntica (datahora)
l subtipos de dados idênticos (data, datahora ou hora)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 76 de 966
Comandos

l uso idêntico do indicador de fuso horário, usado ou não usado, por todos os campos a serem ane-
xados
Se dois campos de datahora tiverem nome idêntico, mas não atenderem a uma das outras condições, uma
mensagem de erro é exibida e o comando APPEND não é executado.
A mensagem de erro contém todas as condições de falha no conjunto de tabelas especificado por
APPEND. A mensagem é salva no log de comando.
Nota
Você pode harmonizar campos datahora diferentes convertendo-os para a categoria de
dados de caractere para depois anexá-los. Essa abordagem permite combinar os dados
em uma única tabela. No entanto, dependendo da natureza dos dados de origem, pode
não ser possível converter os dados combinados em dados datahora.

Harmonização automática
Em algumas situações, o comando APPEND harmoniza automaticamente os campos para anexá-los:

Categorias de
dados de campos Harmonização executada

Caractere o Campos de comprimentos diferentes são harmonizados.


o Os diferentes tipos de dados de caracteres como personalizado, PCASCII e EBCDIC são
harmonizados mediante a conversão dos campos para o tipo de dados ASCII ou UNICODE.

Numérico o Campos de comprimentos diferentes são harmonizados. Os campos são convertidos para o
tipo de dados do ACL.
o Números diferentes de casas decimais definidas são harmonizados. As casas decimais são
padronizadas como o maior número de casas, com zeros à direita adicionados aos valores
numéricos, se necessário. Os campos são convertidos para o tipo de dados do ACL.
o Os diferentes tipos de dados numéricos como impressão, flutuante, EBCDIC e micro são
harmonizados mediante a conversão dos campos para o tipo de dados do ACL.

Datahora o Formatos diferentes de data, datahora ou hora nos dados de origem são harmonizados con-
vertendo os campos para os formatos padrão do Analytics:
l AAAAMMDD
l AAAAMMDD hh:mm:ss
l hh:mm:ss

Quando a harmonização automática não é realizada


O Analytics não harmoniza automaticamente os campos nas seguintes situações. Uma mensagem de erro
é exibida e a operação anexar não é executada.
l Dois campos com um nome idêntico pertencem a diferentes categorias de dados.
l Dois campos datahora com um nome idêntico pertencem a diferentes subtipos de datahora (data,
datahora ou hora).
l Dois campos datahora com um nome idêntico são inconsistentes na maneira que usam o indicador
de fuso horário.
Nota

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 77 de 966
Comandos

A harmonização de campos especificada pelo usuário para campos com nomes idên-
ticos, mas categorias de dados diferentes, é explicada acima. Para obter mais infor-
mações, consulte "ASCHAR" Na página 74 e "ALLCHAR" Na página 74.

Campos calculados não são compatíveis


O comando APPEND não é compatível com a anexação de campos calculados. Ao anexar tabelas, todos
os campos calculados nas tabelas são automaticamente excluídos da tabela de saída.
Se um campo calculado em uma tabela de origem tiver o mesmo nome que um campo físico em outra
tabela de origem, uma mensagem de erro será exibida e o comando APPEND não será executado.
Dica
Você pode anexar um campo calculado primeiro extraindo-o para converter o campo em
um campo físico. (Para obter mais informações, consulte "Comando EXTRACT" Na
página 203.) Use, então, a tabela extraída na operação de anexação.
Outra abordagem é recriar o campo calculado na tabela de saída anexada.

Campos de nota de registro não são compatíveis


O comando APPEND não é compatível com a anexação de campos de notas de registros. Ao anexar
tabelas, todos os campos de nota de registro nas tabelas de origem são automaticamente excluídos da
tabela de saída.
Se um campo de nota de registro em uma tabela de origem tiver o mesmo nome que um campo físico em
outra tabela de origem, uma mensagem de erro será exibida e o comando APPEND não será executado.
Um campo de nota de registro é automaticamente gerado pelo Analytics ao anexar uma nota a um regis-
tro.

Comprimento de registro
Se incluir todos os campos de todas as tabelas de origem ao anexar, o comprimento de registro na tabela
de saída poderá ser maior que o registro mais longo nas tabelas de origem.
Uma mensagem de erro é exibida se o comprimento de registro de saída ultrapassar o máximo de 32 KB
do Analytics.

Anexação e casas decimais


Comportamento específico rege a anexação de campos numéricos que incluem casas decimais.

Configuração decimal
O comando APPEND usa o número de casas decimais definido na configuração Dec na definição de
campo no layout da tabela.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 78 de 966
Comandos

Nota
A configuração Dec pode não ser a mesma que o número real de casas decimais nos
dados de origem. Casas decimais que ultrapassem a configuração Dec são não definidas
e arredondadas nos cálculos.

Configurações decimais inconsistentes


Se os campos numéricos anexados tiverem configurações Dec inconsistentes, os campos serão con-
vertidos para o tipo de dados ACL e automaticamente harmonizados na configuração mais longa de Dec .
Qualquer casa decimal nos arquivos de dados de origem que ultrapasse a configuração Dec mais longa é
excluída da tabela de saída gerada por APPEND.

Configuração decimal consistente


Se os campos numéricos anexados tiverem uma configuração Dec consistente, nenhuma conversão de
tipo de dados ou harmonização ocorrerá.
Qualquer casa decimal nos arquivos de dados de origem que ultrapasse a configuração Dec é incluída da
tabela de saída gerada por APPEND.

Ordenação
Qualquer ordem de classificação existente nas tabelas de origem é mantida separadamente nos res-
pectivos conjuntos de registros na tabela de saída.
Mesmo se todos os registros em todas as tabelas de origem forem ordenados, a tabela de saída é con-
siderada não ordenada, pois os registros de origem são anexados como grupos, sem considerar nenhuma
ordem de classificação existente nas tabelas de origem.
Por exemplo, se você anexar tabelas mensalmente ou trimestralmente para criar uma tabela anual, toda a
ordenação interna dos dados mensais ou trimestrais é mantida. Se necessário, é possível ordenar a tabela
de saída depois de realizar a operação de anexação.

Como funciona a ordem do campo


Campos comuns
Campos comuns em tabelas de origem não têm de estar na mesma ordem para ser anexados.
Por exemplo, esses campos são corretamente anexados, mesmo se estiverem em uma ordem diferente:

Tabela Campos

tabela_1 Sobrenome | Nome | Nome_do_meio

tabela_2 Nome | Nome_do_meio | Sobrenome

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 79 de 966
Comandos

A primeira tabela especificada no comando APPEND dita a ordem dos campos na tabela de saída. Por-
tanto, no exemplo acima, a ordem na tabela de saída é:
l Sobrenome | Nome | Nome_do_meio

Campos não comuns


Campos não comuns nas tabelas de origem aparecem na tabela de saída na ordem em que aparecem no
grupo selecionado de tabelas de origem.
Por exemplo, ao anexar essas duas tabelas:

Tabela Campos

tabela_1 Título | Sobrenome | Nome | Nome_do_meio

tabela_2 Nome | Nome_do_meio | Sobrenome | Data_de_nascimento

a ordem da tabela de saída é:


l Título | Sobrenome | Nome | Nome_do_meio | Data_de_nascimento

Título de coluna alternativo


Títulos de coluna alternados nas tabelas de origem aparecem na tabela de saída. Se mais de uma tabela
de origem tiver um título alternativo da coluna para o mesmo campo, o título da primeira tabela sele-
cionada tem precedência.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 80 de 966
Comandos

Comando ASSIGN
Cria uma variável e atribui a ela um valor.

Sintaxe
ASSIGN nome_variável = valor <IF teste>

Dica
Você pode omitir a palavra-chave ASSIGN porque o Analytics interpreta automaticamente
a seguinte sintaxe como uma operação de atribuição:

nome_variável = valor

Parâmetros
Nome Descrição

nome_variável O nome da variável para a qual será atribuído o valor. A variável será criada, caso ela
não exista. Se a variável existir, ela será atualizada com o novo valor.
Não utilize caracteres não-ingleses, como "é", no nome das variáveis. Nomes variáveis
que contenham caracteres não-ingleses farão com que o script falhe.
Nota
Os nomes de variável são limitados a 31 caracteres alfanuméricos. O
nome pode incluir o caractere de sublinhado ( _ ) mas nenhum outro
caractere especial e nenhum espaço. O nome não pode começar com
um número.

valor O valor a ser atribuído para a variável. Se uma nova variável for criada, o tipo da variável
será baseado no tipo de dado em valor.

IF teste Uma expressão condicional que deve ser verdadeira para criar a variável ou atribuir o
valor à variável.
Opcional

Exemplos
Como atribuir um valor a uma variável
Atribua o valor do campo Valor no registro atual a uma variável denominada v_valor_atual. Como v_valor_

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 81 de 966
Comandos

atual é uma variável, seu valor não muda a menos que seja explicitamente alterado por outro comando
ASSIGN:

ASSIGN v_valor_atual = Valor

Atribuição condicional de um valor a uma variável


Você quer atualizar o valor de uma variável denominada v_quantidade para 1, mas apenas quando o
valor de outra variável denominada v_contador for inferior a 10.
Se v_contador for maior ou igual a 10, nenhuma atribuição é feita e o valor de v_quantidade permanece
inalterada.
Observe que a palavra chave opcional ASSIGN é omitida:

v_quantidade = 1 IF v_contador < 10

Observações
Duração das variáveis
Variáveis com nomes que não forem precedidos de um sublinhado serão retidas apenas pela duração da
presente sessão do Analytics.
Se você quiser que uma variável seja salva permanentemente com um projeto do Analytics, acrescente
um sublinhado ao início do nome da variável:

ASSIGN valor = _nome_variável

Reatribuição de variáveis usadas em campo calculado ou


GROUP
Se você atribuir um valor a uma variável existente nas situações a seguir, o novo valor será atribuído, mas
o comprimento e o número de casas decimais do valor anterior serão mantidos:
l variáveis usadas em campos calculados
l variáveis reatribuídas dentro de um GROUP
Se necessário, o tamanho do novo valor será preenchido como brancos ou truncado e as casas decimais
serão ajustadas.
Se você reatribuir uma variável em qualquer outro contexto, o valor anterior, bem como seu comprimento
e especificações de decimais, serão sobrescritos.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 82 de 966
Comandos

Variáveis criadas por comandos do Analytics


As variáveis do sistema são criadas automaticamente pelo Analytics quando determinados comandos são
executados, seja inserindo informações nas caixas de diálogos no Analytics ou executando scripts. É pos-
sível usar essas variáveis e os valores contidos nelas ao processar comandos subsequentes do Analytics.
O valor em uma variável do sistema é substituído por um valor atualizado se você executar o mesmo
comando novamente.
Para obter mais informações, consulte "Variáveis criadas por comandos do Analytics" Na página 960.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 83 de 966
Comandos

Comando BENFORD
Conta o número de vezes que cada dígito (1 a 9) ou combinação de dígitos à esquerda ocorre em um
campo e compara a contagem real à contagem esperada. O resultado esperado é calculado usando a fór-
mula de Benford.

Sintaxe
BENFORD <ON> campo_numérico <LEADING n> <IF teste> <BOUNDS> <TO {SCREEN|nome_
tabela|GRAPH|PRINT}> <HEADER texto_cabeçalho> <FOOTER texto_rodapé> <WHILE teste>
<FIRST intervalo|NEXT intervalo> <APPEND> <OPEN> <LOCAL>

Parâmetros
Nome Descrição

ON campo_numérico O campo numérico a ser analisado.


Nota
Selecione um campo que contém "números que ocorrem naturalmente",
como valores de transação. A análise de Benford não é adequada a
dados numéricos restritos de qualquer forma.
Para obter mais informações, consulte "Quais dados posso testar
usando a análise de Benford?" Na página 86

LEADING n O número de dígitos à esquerda a serem analisados. O valor de n deve ser de 1 a 6.


opcional Se LEADING for omitido, será usado o valor padrão 1.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes
em uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

BOUNDS Inclui os valores calculados dos limites superior e inferior que devem ser incluídos na
saída.
opcional
Se a contagem real de mais de um dígito ou combinação de dígitos nos resultados
exceder um dos limites, os dados poderão ter sido manipulados e devem ser inves-
tigados.

TO SCREEN | nome_ A localização para onde enviar os resultados do comando:


tabela | GRAPH | PRINT

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 84 de 966
Comandos

Nome Descrição

opcional o SCREEN: exibe os resultados na área de exibição do Analytics


o nome_tabela: salva os resultados em uma tabela do Analytics
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o pro-
jeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos,
sem contar a extensão .FIL. O nome pode incluir o caractere de subli-
nhado ( _ ) mas nenhum outro caractere especial e nenhum espaço.
O nome não pode começar com um número.
o GRAPH: exibe os resultados em um gráfico na área de exibição do Analytics
o PRINT: envia os resultados para a impressora padrão

HEADER texto_cabeçalho O texto a ser inserido na parte superior de cada página de um relatório.
opcional texto_cabeçalho deve ser especificado como uma cadeia entre aspas. O valor substitui
a variável de sistema HEADER do Analytics.

FOOTER texto_rodapé O texto a ser inserido na parte inferior de cada página de um relatório.
opcional texto_rodapé deve ser especificado como uma cadeia entre aspas. O valor substitui a
variável de sistema FOOTER do Analytics.

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número
opcional de registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até
alcançar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 85 de 966
Comandos

Nome Descrição

Nota
Você deve garantir que a estrutura da saída do comando e o arquivo
existente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua
estrutura. Se a estrutura da saída e do arquivo existente não cor-
responderem, o resultado poderá ser dados misturados, ausentes ou
incorretos.

OPEN Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o
comando criar uma tabela de saída.
opcional

LOCAL Salva o arquivo de saída no mesmo local que o projeto do Analytics.


opcional Nota
Aplicável apenas na execução de um comando em uma tabela de ser-
vidor com um campo de saída que é uma tabela do Analytics.

Exemplos
Enviar resultados para gráficos
Execute o comando BENFORD para o campo Valor e envia os resultados para um gráfico:

BENFORD ON Valor LEADING 2 BOUNDS TO GRAPH

Observações
Quais dados posso testar usando a análise de Benford?
Use a análise de Benford apenas para testar dados numéricos que consistem em "números que ocorrem
naturalmente" como valores contábeis, valores de transações, despesas ou números de endereços. A
análise de Benford não é adequada a dados numéricos restritos de qualquer forma.
Siga as diretrizes a seguir para identificar dados numéricos adequados à análise de Benford:
l Tamanho do conjunto de dados: O conjunto de dados deve ser grande o suficiente para oferecer
suporte a uma distribuição válida. A análise de Benford pode não fornecer resultados confiáveis
para menos de 500 registros.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 86 de 966
Comandos

l Requisito de dígito à esquerda: É necessário que todos os números de 1 a 9 possam ocorrer como
dígito à esquerda.
l Requisito de combinação de dígito à esquerda: É necessário que todos os números de 0 a 9 pos-
sam ocorrer como o segundo dígito à esquerda e como qualquer dígito sendo analisado.
l Dados restritos: Dados numéricos atribuídos ou gerados de acordo com um padrão pré-ordenado
não são adequados para a análise de Benford. Por exemplo, não utilize a análise de Benford para
analisar:
l números sequenciais de cheques ou faturas

l números de previdência social ou de telefone mapeados a um padrão específico

l qualquer esquema de numeração com um intervalo que evita que certos números sejam exibidos

l Números randômicos: Números gerados por um gerador de números randômicos não são ade-
quados para a análise de Benford.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 87 de 966
Comandos

Comando CALCULATE
Calcula o valor de uma ou mais expressões.

Sintaxe
CALCULATE expressão <AS rótulo_resultado> <,...n>

Parâmetros
Nome Descrição

expressão A expressão a ser calculada.


A expressão pode ser de um destes quatro tipos:
o caractere
o numérico
o datahora
o lógico
Separe várias expressões com uma vírgula:

CALCULATE 4,7 * 18,5; 1 + 2; "a" + "b"

AS rótulo_do_resultado O nome do resultado quando exibido na tela e no log de comandos do Analytics.


opcional rótulo_resultado deve ser uma cadeia entre aspas ou uma expressão de caracteres
válida.
Se omitido, a expressão sendo calculada será usada como nome do resultado.

Exemplos
Realizar um cálculo simples
Use CALCULATE para multiplicar 4,70 por 18,50 e retornar o resultado 86,95:

CALCULATE 4,70 * 18,50

Atribuição de nome aos resultados de um cálculo


Use CALCULATE para obter a margem bruta para o registro selecionado no momento usando campos

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 88 de 966
Comandos

previamente definidos para preço de venda e custo unitário:

CALCULATE Preço_venda - Custo_unitário AS "Margem"

O resultado é identificado na tela e no log como "Margem".

Observações
Como funciona?
CALCULATE oferece a funcionalidade de uma calculadora combinada com o acesso a funções, variáveis e
dados do registro do Analytics selecionado no momento.

Saída do comando
Dependendo de onde CALCULATE é executado, os resultados são enviados a diferentes locais:
l Na linha de comando: o resultado é exibido na tela
l Em um script: o resultado é registrado no log
O valor rótulo_resultado não é uma variável que você pode usar em um script. Ele é usado somente para
identificar o cálculo na tela ou no log.

Número de casas decimais na saída


Em um cálculo numérico, o resultado tem o mesmo número casas decimais do componente da expressão
com o maior número de casas decimais.
Retorna 1:

CALCULATE 365/52/7

Retorna 1,0027:

CALCULATE 365,0000/52/7

Trabalho com a entrada de tabela


Se a expressão contém um valor de campo, a tabela a qual o campo pertence deve estar aberta. Use os
comandos FIND, SEEK, ou LOCATE para ir para o registro a ser analisado pelo CALCULATE.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 89 de 966
Comandos

Comando CLASSIFY
Agrupa os registros com base em valores idênticos de um campo de caracteres ou numérico. Conta os
registros em cada grupo e subtotaliza os campos numéricos especificados em cada grupo.

Sintaxe
CLASSIFY <ON> campo_chave <SUBTOTAL campo_numérico <...n> |SUBTOTAL ALL>
<INTERVALS número> <SUPPRESS> <TO {SCREEN|nome_tabela|GRAPH|PRINT}> <IF teste>
<WHILE teste> <FIRST intervalo|NEXT intervalo> <HEADER texto_cabeçalho> <FOOTER texto_
rodapé> <KEY campo_quebra> <OPEN> <APPEND> <LOCAL> <STATISTICS>

Parâmetros
Nome Descrição

ON campo_chave O campo de caracteres ou numérico a classificar.


O comprimento máximo do campo-chave é 2048 caracteres.
Se você quiser classificar uma tabela usando um campo-chave maior que 2048 carac-
teres, use o comando SUMMARIZE. Esse comando não restringe o comprimento do
campo-chave.

SUBTOTAL campo_numé- Um ou mais campos numéricos ou expressões a serem subtotalizadas para cada
rico <...n> | SUBTOTAL grupo.
ALL
Vários campos devem ser separados por espaço. Especifique ALL para subtotalizar
opcional todos os campos numéricos da tabela.

INTERVALS número O número máximo de grupos nos resultados de saída.


opcional Se o número de conjuntos de valores idênticos no campo sendo classificado exceder o
máximo especificado, serão usados conjuntos a partir do início da coluna.
Os valores maiores que o máximo serão agrupados em um grupo chamado "OTHER".
Se INTERVALS for omitido, será criado um grupo para conjunto de valores idênticos no
campo classificado.
Nota
Esse parâmetro não está disponível na interface do usuário do Analytics
e somente pode ser usado como parte da sintaxe do ACLScript em um
script ou na linha de comando.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 90 de 966
Comandos

Nome Descrição

SUPPRESS Nota
opcional Somente pode ser usado se INTERVALS também for especificado.
SUPPRESS não está disponível na interface do usuário do Analytics e
somente pode ser usado como parte da sintaxe do ACLScript em um
script ou na linha de comando.
Exclui conjuntos de valores idênticos maiores que o máximo especificado pelo parâ-
metro INTERVALS da saída do comando.

TO SCREEN | nome_ A localização para onde enviar os resultados do comando:


tabela | GRAPH | PRINT o SCREEN: exibe os resultados na área de exibição do Analytics
o nome_tabela: salva os resultados em uma tabela do Analytics
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o pro-
jeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos,
sem contar a extensão .FIL. O nome pode incluir o caractere de subli-
nhado ( _ ) mas nenhum outro caractere especial e nenhum espaço.
O nome não pode começar com um número.
o GRAPH: exibe os resultados em um gráfico na área de exibição do Analytics
o PRINT: envia os resultados para a impressora padrão

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes
em uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número
opcional de registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 91 de 966
Comandos

Nome Descrição

alcançar o número de registros especificado


Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

HEADER texto_cabeçalho O texto a ser inserido na parte superior de cada página de um relatório.
opcional texto_cabeçalho deve ser especificado como uma cadeia entre aspas. O valor substitui
a variável de sistema HEADER do Analytics.

FOOTER texto_rodapé O texto a ser inserido na parte inferior de cada página de um relatório.
opcional texto_rodapé deve ser especificado como uma cadeia entre aspas. O valor substitui a
variável de sistema FOOTER do Analytics.

KEY campo_quebra O campo ou expressão que agrupa cálculos de subtotal. Um subtotal é calculado cada
vez que o valor de campo_quebra muda.
opcional
campo_quebra deve ser um campo ou expressão de caracteres. Apenas um campo
pode ser especificado, mas é possível usar uma expressão que contém mais que um
campo.

OPEN Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o
comando criar uma tabela de saída.
opcional

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional Nota
Você deve garantir que a estrutura da saída do comando e o arquivo
existente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua
estrutura. Se a estrutura da saída e do arquivo existente não cor-
responderem, o resultado poderá ser dados misturados, ausentes ou
incorretos.

LOCAL Salva o arquivo de saída no mesmo local que o projeto do Analytics.


opcional Nota
Aplicável apenas na execução de um comando em uma tabela de ser-
vidor com um campo de saída que é uma tabela do Analytics.

STATISTICS Nota
opcional Somente pode ser usado se SUBTOTAL também for especificado.
Calcula valores médios, mínimos e máximos para todos os campos de SUBTOTAL.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 92 de 966
Comandos

Exemplos
Valor total de transações por cliente
Você quer classificar uma tabela de contas a receber com base no campo Numero_Cliente e calcular o
subtotal do campo Valor_Trans . Os resultados da saída são agrupados por cliente e incluem o valor total
de transações para cada cliente:

OPEN Ar
CLASSIFY ON Numero_Cliente SUBTOTAL Valor_Trans TO "Total_cliente.FIL"

Valores total, médio, mínimo e máximo de transações por cliente


Assim como no exemplo anterior, você classifica uma tabela de contas a receber com base no campo
Numero_Cliente e calcula o subtotal do campo Valor_Trans .
Agora, você inclui STATISTICS para calcular os valores de transação médio, mínimo e máximo para cada
cliente:

OPEN Ar
CLASSIFY ON Numero_Cliente SUBTOTAL Valor_Trans TO "Estatisticas_cliente.FIL" STATISTICS

Valores de fatura idênticos


Você precisa identificar valores de fatura que aparecem mais de uma vez na tabela Trans_Cp.
Para isso, você classifica a tabela com base no campo Valor_Fatura. Os resultados de saída são agru-
pados por valor da fatura, com uma contagem que pode ser usada para identificar todos os valores de
fatura que ocorrem mais de uma vez:

OPEN Trans_Cp
CLASSIFY ON Valor_Fatura TO "Valores_fatura_agrupados.FIL" OPEN
SET FILTER TO COUNT > 1

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Como funciona?
O CLASSIFY agrupa registros que têm o mesmo valor em um campo de caracteres ou numérico.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 93 de 966
Comandos

A saída consiste em um único registro para cada grupo, com uma contagem do número de registros na
tabela de origem que pertencem ao grupo.

Ordenar e CLASSIFY
CLASSIFY pode processar dados ordenados ou não ordenados. A saída é ordenada automaticamente
em ordem crescente.

Nomes de campos de subtotal e estatísticas gerados auto-


maticamente
Se você usar STATISTICS para executar cálculos estatísticos com um ou mais campos SUBTOTAL e
gerar os resultados em uma tabela do Analytics, os campos gerados automaticamente pelos parâmetros
terão os seguintes nomes:

Descrição de campo gerado Nome do campo na tabela de Título alternativo de coluna (nome de exi-
automaticamente saída bição) na tabela de saída

Campo de subtotal nome do campo subtotalizado na Total + título alternativo da coluna sub-
tabela de origem totalizada na tabela de origem

Campo de média a_ nome do campo subtotalizado Média + título alternativo da coluna sub-
na tabela de origem totalizada na tabela de origem

Campo de mínimo m_ nome do campo subtotalizado Mínimo + título alternativo da coluna sub-
na tabela de origem totalizada na tabela de origem

Campo de máximo x_ nome do campo subtotalizado Máximo + título alternativo da coluna sub-
na tabela de origem totalizada na tabela de origem

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 94 de 966
Comandos

Comando CLOSE
Fecha uma tabela, um arquivo de índice ou um arquivo de log do Analytics, ou encerra uma sessão do Gra-
vador de Script.

Sintaxe
CLOSE < nome_tabela|PRIMARY|SECONDARY|INDEX|LOG|LEARN>

Parâmetros
Nome Descrição

nome_tabela O item a ser fechado:


|PRIMARY|SECONDARY|INDEX|LOG|LEARN o nome_tabela: o nome da tabela do Analytics a ser fechada
opcional o PRIMARY: fecha a tabela primária do Analytics
O uso de CLOSE sem qualquer parâmetro também fecha a tabela
principal.
o SECONDARY: fecha a tabela do Analytics secundária
o INDEX: fecha o índice atual aplicado à tabela do Analytics
o LOG: retorna o arquivo de log ao log de comandos padrão depois
que o comando SET LOG foi usado para especificar outro arquivo
de log
o LEARN: encerra a sessão ativa do Script Recorder e solicita que
você salve o arquivo de script onde a sessão foi gravada
LEARN pode ser usado em scripts, mas seu uso pretendido é na
linha de comando. O Gravador de Script registra a sintaxe do
ACLScript para comandos executados usando caixas de diálogo
na interface do usuário do Analytics.

Exemplos
Fechar uma tabela por nome
Você quer fechar uma tabela denominada Estoque:

CLOSE Estoque

Fechar uma tabela por tipo

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 95 de 966
Comandos

Você quer fechar a tabela secundária atual:

CLOSE SECONDARY

Restaurar o log de comandos padrão do Analytics


Você quer restaurar o log de comandos padrão depois de usar um arquivo de log separado para registrar
a fase de verificação de dados de um script:

SET LOG TO "FaseVerificaçãoDados.log"


COMMENT Executar comandos de verificação de dados
CLOSE LOG

Observações
Quando usar CLOSE
Normalmente, não é necessário fechar as tabelas do Analytics. A tabela ativa do Analytics fecha auto-
maticamente quando você abre outra tabela. A tabela principal também fecha automaticamente antes da
execução dos comandos OPEN ou QUIT.
Não é possível usar CLOSE para fechar um projeto do Analytics. Em vez disso, use QUIT.

Campos e tabelas relacionados


Quando você fecha uma tabela primária ou secundária, todas as definições de campos relacionadas são
removidas da memória. Qualquer alteração ao layout da tabela é salva antes que a tabela seja fechada.
Se você definir relações de tabela em um projeto do Analytics, o comando CLOSE fechará as tabelas pri-
mária e secundária. Além disso, fechará as tabelas relacionadas.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 96 de 966
Comandos

Comando CLUSTER
Agrupa registros em clusters com base nos valores similares de um ou mais campos numéricos. Os clus-
ters podem ser unidimensionais ou multidimensionais.

Sintaxe
CLUSTER ON campo_chave <...n> KVALUE número_de_clusters ITERATIONS número_de_ite-
rações INITIALIZATIONS número_de_inicializações <SEED valor_de_origem> <OTHER campo <
...n>> TO nome_tabela <IF teste> <WHILE teste> <FIRST intervalo|NEXT intervalo> OPEN {sem_
palavra_chave|NOCENTER|NOSCALE}

Parâmetros
Nome Descrição

ON campo_chave <...n> Um ou mais campos numéricos a serem clusterizados. Vários campos devem ser sepa-
rados por espaço.

KVALUE número_de_clus- O número de clusters gerados nos resultados de saída.


ters

ITERATIONS número_de_ O número máximo de vezes que o cálculo do cluster é executado novamente.
iterações

INITIALIZATIONS número_ O número de vezes para gerar um conjunto inicial de centróides aleatórios.
de_inicializações

SEED valor_de_origem O valor de origem usado para inicializar o gerador de números aleatórios no Analytics.
opcional Se você omitir SEED, o Analytics selecionará aleatoriamente o valor de origem.

OTHER campo <...n> Um ou mais campos adicionais a serem incluídos na saída.


opcional Nota
Os campos-chave são incluídos automaticamente na tabela de saída e
não precisam ser especificados usando OTHER.

TO nome_tabela A localização para onde enviar os resultados do comando:


o nome_tabela: salva os resultados em uma tabela do Analytics
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o projeto
do Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 97 de 966
Comandos

Nome Descrição

Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em


uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos, sem
contar a extensão .FIL. O nome pode incluir o caractere de sublinhado
( _ ) mas nenhum outro caractere especial e nenhum espaço. O nome
não pode começar com um número.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes em
uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número de
opcional registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até alcan-
çar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

OPEN Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o
comando criar uma tabela de saída.
opcional

sem_palavra_chave | O método de padronização de valores numéricos de campo-chave.


NOCENTER | NOSCALE o sem_palavra_chave: centralizar os valores do campo-chave em volta de zero (0) e
alterar a escala dos valores para a variação de unidade quando calcular os clusters
o NOCENTER: alterar a escala de valores do campo-chave para a variação da uni-
dade quando calcular os clusters, mas não centralizar os valores em volta de zero (0)
o NOSCALE: usar os valores brutos do campo-chave, sem escala, quando calcular os
clusters

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 98 de 966
Comandos

Exemplos
Clusterização em clusters por valor da fatura
Além de estratificar uma tabela de contas a receber com base no campo Valor_Fatura, você também
decide agrupar em clusters com base no mesmo campo.
l A estratificação agrupa os valores em estratos com limites numéricos predefinidos como, por exem-
plo, intervalos de US$ 1.000.
l O agrupamento em clusters descobre qualquer agrupamento orgânico de valores existente nos
dados, sem necessidade de definir previamente os limites numéricos.

Open Ar
CLUSTER ON Valor_Fatura KVALUE 8 ITERATIONS 30 INITIALIZATIONS 10 OTHER Tipo ref sem
data venc TO "Faturas_agrupadas_em_cluster" NOSCALE

Como forma rápida de descobrir quantos registros estão contidos em cada cluster de saída, você classifica
a tabela de saída Faturas_agrupadas_em_cluster pelo campo Cluster.

OPEN Faturas_agrupadas_em_cluster
CLASSIFY ON Cluster TO SCREEN

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 99 de 966
Comandos

Comando COMMENT
Adiciona uma nota explicativa a um script sem afetar o processamento.

Sintaxe
Comentários de uma linha
COMMENT texto_do_comentário

Comentários de várias linhas


COMMENT
texto_do_comentário
  <...n>
<END>

Nota
Não use o caractere circunflexo ^ para iniciar linhas de texto de comentário. O circunflexo
tem um uso especial no arquivo de projeto .acl e o texto do comentário não será salvo se
a linha começar com um circunflexo.

Parâmetros
Nome Descrição

texto_do_comentário O comentário que está sendo adicionado.


o comentário de uma única linha: insira todo o texto do comentário, sem quebra de
linha
o comentário de várias linhas: insira o número necessário de linhas de texto de
comentário, iniciando na linha imediatamente após o comando COMMENT
Encerre um comentário de várias linhas com a palavra-chave END em uma linha
separada ou com uma linha em branco.

END O final de um comando COMMENT de várias linhas.


opcional Se você usar END, ele deve ser inserido na linha imediatamente após a última linha de
comentário. Se END for omitido, uma linha em branco deve seguir a última linha de
comentário.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 100 de 966


Comandos

Exemplos
Comentários de uma linha
Use comentários de uma única linha antes de comando para adicionar documentação para os usuários que
manterão o script no futuro:

COMMENT Gerar o desvio padrão e a média.


STATISTICS ON %v_qtd% STD TO SCREEN NUMBER 5
COMMENT Criar campos para armazenamento de desvio padrão e média.
DEFINE FIELD Desvio_Padrão COMPUTED STDDEV1
DEFINE FIELD Média COMPUTED AVERAGE1

Comentário de várias linhas


Ao criar um script, você começa com um comentário de várias linhas que explica o propósito do script:

COMMENT
  Esta análise identifica vários registros tendo em comum
  IDs de originadores de transação (como ID do fornecedor ou ID do vendedor)
  , onde os valores de data da transação são iguais ou estão a um dia um do outro.
  Essa análise pode ser utilizada para faturas, pedidos de compra,
  requisições e transações de cartão de crédito corporativo divididos.
END

Observações
Quando usar COMMENT
Use COMMENT para incluir informações sobre o propósito de um script, a lógica utilizada, e outras infor-
mações como as entradas necessárias para o script e o propósito de cada variável definida.
Os comentários em um script são registrados no log de comandos do Analytics cada vez que o script é exe-
cutado.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 101 de 966


Comandos

Comando COUNT
Conta o número total de registros na exibição atual ou apenas os registros que cumprem a condição espe-
cificada.

Sintaxe
COUNT <IF teste> <WHILE teste> <FIRST intervalo|NEXT intervalo>

Parâmetros
Nome Descrição

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes
em uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número
opcional de registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até
alcançar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 102 de 966


Comandos

Variáveis de saída do Analytics


Nome Contém

COUNTn A contagem de registros calculada pelo comando.


o Se o nome da variável é COUNT1, ele está armazenando a contagem de registros do
comando executado mais recentemente.
o Se o nome da variável é COUNTn, onde n é maior que 1, a variável está arma-
zenando a contagem de registros de um comando executado dentro de um comando
GROUP.
O valor de n é atribuído baseado no número da linha do comando no GROUP. Por
exemplo, se o comando estiver uma linha abaixo do comando GROUP, será atribuído
o valor COUNT2. Se o comando estiver quatro linhas abaixo do comando GROUP,
será atribuído o valor COUNT5.

Exemplos
Armazenar COUNT1
O resultado do comando COUNT é armazenado na variável de saída COUNT1. Você pode recuperar e
armazenar esse valor em uma variável definida pelo usuário.
O comando COUNT sobrescreve a variável COUNT1 a cada vez que é executado. Portanto, o valor precisa
ser armazenado em uma variável definida pelo usuário antes da execução do comando pela segunda vez
após a aplicação do filtro à tabela:

OPEN EndereçoCliente
COUNT
TotalReg = COUNT1
SET FILTER TO DataModificação > '20100101'
COUNT
TotalRegFiltrados = COUNT1

Observações
Quando usar COUNT
Use o comando COUNT para contar o número de registros em uma tabela do Analytics ou para contar o
número de registros que cumprem uma determinada condição de teste. Se nenhum teste for especificado,
o número total de registros na tabela do Analytics será exibido.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 103 de 966


Comandos

Como os filtros afetam COUNT


Se um filtro tiver sido aplicado a uma exibição, o comando contará o número de registros restantes na exi-
bição após a condição de filtragem ter sido aplicada.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 104 de 966


Comandos

Comando CREATE LAYOUT


Cria um layout da tabela do Analytics vazio, que pode ser necessário em algumas situações de uso de
scripts.

Sintaxe
CREATE LAYOUT nome_do_layout WIDTH caracteres <RECORD 0|RECORD 1>

Parâmetros
Nome Descrição

nome_do_layout O nome do layout.

WIDTH caracteres O comprimento do registro em caracteres.

RECORD 0 | RECORD 1 o Se você especificar RECORD 0, ou omitir esse parâmetro, o layout da tabela será cri-
ado sem registros ou arquivo de dados de origem.
opcional o Se você especificar RECORD 1, ou omitir esse parâmetro, o layout da tabela será cri-
ado com um único registro vazio e um arquivo de dados de origem denominado
nome_do_layout.fil.

Exemplos
Criar um layout de tabela vazio sem nenhum registro
Crie um layout da tabela vazio com um comprimento de registro de 100 caracteres:

CREATE LAYOUT tabela_vazia WIDTH 100

Criar um layout de tabela vazio com um registro


Crie:
l um layout de tabela vazio com um registro vazio
l um comprimento de registro de 50 caracteres
l um arquivo de dados do Analytics denominado tabela_vazia.fil

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 105 de 966


Comandos

CREATE LAYOUT tabela_vazia WIDTH 50 RECORD 1

Observações
O layout da tabela vazio é criado com um único campo de caracteres denominado Field_1. O com-
primento do campo é igual ao comprimento do registro especificado com WIDTH.
Nota
Esse comando não é compatível para uso em análises do Analytics executadas no Ser-
vidor AX.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 106 de 966


Comandos

Comando CROSSTAB
Agrupa registros com base em combinações idênticas de valores em dois ou mais campos de caracteres
ou numéricos e exibe os grupos resultantes em uma grade de linhas e colunas. Conta os registros em cada
grupo e subtotaliza os campos numéricos especificados em cada grupo.

Sintaxe
CROSSTAB <ON> campo_linha <...n> COLUMNS campo_coluna <SUBTOTAL campo_numérico
<...n>|SUBTOTAL ALL> TO {SCREEN|nome_tabela|nome_arquivo|GRAPH|PRINT} <IF teste>
<WHILE teste> <FIRST intervalo|NEXT intervalo> <APPEND> <COUNT> <OPEN> <LOCAL>
<HEADER texto_cabeçalho> <FOOTER texto_rodapé>

Parâmetros
Nome Descrição

ON campo_linha <...n> O campo ou expressão a ser usado como linhas na matriz resultante de linhas e colu-
nas. Um ou mais campos ou expressões podem ser especificados como base das
linhas.

COLUMNS campo_coluna O campo ou expressão a ser usado como colunas na matriz resultante de linhas e colu-
nas. Apenas uma expressão ou campo pode ser especificado para as colunas.

SUBTOTAL campo_numé- Um ou mais campos numéricos ou expressões a serem subtotalizadas para cada grupo.
rico <...n> | SUBTOTAL
Vários campos devem ser separados por espaço. Especifique ALL para subtotalizar
ALL
todos os campos numéricos da tabela.
opcional

TO SCREEN | nome_ A localização para onde enviar os resultados do comando:


tabela | nome_arquivo | o SCREEN: exibe os resultados na área de exibição do Analytics
GRAPH | PRINT o nome_tabela: salva os resultados em uma tabela do Analytics
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o projeto
do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 107 de 966


Comandos

Nome Descrição

Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos, sem
contar a extensão .FIL. O nome pode incluir o caractere de sublinhado
( _ ) mas nenhum outro caractere especial e nenhum espaço. O nome
não pode começar com um número.
o nome_arquivo: salva os resultados em um arquivo
Especifique nome_arquivo como uma cadeia entre aspas com uma extensão de
arquivo apropriada. Por exemplo: TO "Saída.TXT"
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma pasta
diferente já existente:
l TO "C:\Saída.TXT"
l TO "Resultados\Saída.TXT"
o GRAPH: exibe os resultados em um gráfico na área de exibição do Analytics
o PRINT: envia os resultados para a impressora padrão

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes em
uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número de
opcional registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até alcan-
çar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 108 de 966


Comandos

Nome Descrição

Nota
Você deve garantir que a estrutura da saída do comando e o arquivo exis-
tente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua estru-
tura. Se a estrutura da saída e do arquivo existente não corresponderem,
o resultado poderá ser dados misturados, ausentes ou incorretos.

COUNT Inclui as contagens de registro como colunas. As contagens são úteis com o uso de
SUBTOTAL.
opcional
Se nenhum campo de subtotal for selecionado, as contagens serão incluídas auto-
maticamente.

OPEN Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o
comando criar uma tabela de saída.
opcional

LOCAL Salva o arquivo de saída no mesmo local que o projeto do Analytics.


opcional Nota
Aplicável apenas na execução de um comando em uma tabela de ser-
vidor com um campo de saída que é uma tabela do Analytics.

HEADER texto_cabeçalho O texto a ser inserido na parte superior de cada página de um relatório.
opcional texto_cabeçalho deve ser especificado como uma cadeia entre aspas. O valor substitui a
variável de sistema HEADER do Analytics.

FOOTER texto_rodapé O texto a ser inserido na parte inferior de cada página de um relatório.
opcional texto_rodapé deve ser especificado como uma cadeia entre aspas. O valor substitui a
variável de sistema FOOTER do Analytics.

Exemplos
Tabulação cruzada de uma tabela de contas a receber com SUBTOTAL
Você quer realizar uma tabulação cruzada de uma tabela de contas a receber com base nos campos
Número do cliente e Tipo da transação. Você também quer calcular o subtotal do campo Valor da tran-
sação.
A saída é agrupada por cliente e, dentro de cada cliente, por tipo de transação. A saída inclui o valor total de
transações para cada cliente para cada tipo de transação:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 109 de 966


Comandos

OPEN Ar
CROSSTAB ON Numero_Cliente COLUMNS Tipo_Trans SUBTOTAL Valor_Trans COUNT TO
SCREEN

Tabulação cruzada de uma tabela de contas a receber para encontrar tran-


sações duplicadas
Você precisa encontrar evidência de transações duplicadas em uma tabela de contas a receber.
Para isso, você realiza uma tabulação cruzada de uma tabela de contas a receber com base nos campos
Valor da transação e Tipo da transação. A saída agrupa e conta valores de transações idênticas para
cada tipo de transação:

OPEN Ar
CROSSTAB ON Total_Transação COLUMNS Tipo_Trans TO SCREEN

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda
do Analytics.

Como funciona?
O CROSSTAB agrupa registros que têm a mesma combinação de valores em dois ou mais campos de
caracteres ou numéricos.
A saída contém uma grade de linhas e colunas, semelhante a uma tabela dinâmica. A saída inclui uma
única intersecção linha/coluna para cada grupo, com uma contagem do número de registros na tabela de
origem que pertencem ao grupo.

Ordenar e CROSSTAB
O CROSSTAB pode processar dados ordenados ou não ordenados. O campo_linha e o campo_coluna
na saída são automaticamente classificados em ordem crescente.
Se mais de um campo_linha for especificado, os campos utilizarão uma classificação aninhada, come-
çando com o primeiro campo_linha especificado.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 110 de 966


Comandos

Comando CVSEVALUATE
Para a amostragem clássica de variáveis, oferece quatro métodos diferentes para projetar resultados da
análise de amostra para toda a população.

Sintaxe
CVSEVALUATE BOOKED campo_valor_contábil AUDITED campo_valor_auditado ETYPE
{MPU|DIFFERENCE|RATIO SEPARATE|RATIO COMBINED} STRATA valor_limite <;...n>
POPULATION número_estratos;valor_contábil_estrato <;...n> CONFIDENCE nível_de_con-
fiabilidade CUTOFF valor;número_registros_estrato_certeza;valor_contábil_estrato_certeza
ERRORLIMIT número PLIMIT {BOTH|UPPER|LOWER} <TO {SCREEN|nome_arquivo}>

Parâmetros
Nota
Se você estiver usando os resultados de saída dos comandos CVSPREPARE e
CVSSAMPLE como entrada para o comando CVSEVALUATE, vários valores de parâ-
metro já estarão sendo especificados e armazenados em variáveis. Para obter mais infor-
mações, consulte "Comando CVSPREPARE" Na página 115 e "Comando
CVSSAMPLE" Na página 119.
Não inclua separadores de milhares ou símbolos de porcentagem ao especificar valores.

Nome Descrição

BOOKED campo_valor_ O campo numérico de valor contábil a ser usado na avaliação.


contábil

AUDITED campo_valor_ O campo numérico de valor da auditoria a ser usado na avaliação.


auditado

ETYPE MPU | O tipo de estimativa a usar:


DIFFERENCE |
l MPU (média por unidade)
RATIO SEPARATE | l Diferença
RATIO COMBINED l Razão separada
l Razão combinada
Para obter mais informações, consulte "Qual tipo de estimativa devo usar?" Na
página 113

STRATA valor_limite Os valores de limites superiores para uso na estratificação do campo_valor_contábil.


<;...n>

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 111 de 966


Comandos

Nome Descrição

POPULATION número_ O número de registros e o valor total de cada estrato no campo_valor_contábil.


estratos; valor_estrato
<;...n>

CONFIDENCE nível_de_ O nível de confiabilidade usado durante o estágio de preparação da amostra clássica de
confiabilidade variáveis.

CUTOFF valor; número_ o valor: o valor de limite do estrato de certeza usado durante a etapa de preparação e
registros_estrato_ amostragem da amostra clássica de variáveis
certeza, valor_contábil_ o número_registros_estrato_certeza: o número de registros no estrato de certeza
estrato_certeza o valor_contábil_estrato_certeza: o valor contábil total dos registros no estrato de cer-
teza

ERRORLIMIT número O número mínimo de erros esperados para a amostra.


Nota
Se o número real de erros encontrados na análise da amostra for inferior
a ERRORLIMIT número, o único método de avaliação disponível será a
média por unidade.

PLIMIT BOTH | UPPER | O tipo de limite de precisão a ser usado:


LOWER o Ambos
o Superior
o Inferior
Para obter mais informações, consulte "Comando CVSPREPARE" Na página 115.

TO SCREEN | nome_ A localização para onde enviar os resultados do comando:


arquivo o SCREEN: exibe os resultados na área de exibição do Analytics
o nome_arquivo: salva os resultados em um arquivo
Especifique nome_arquivo como uma cadeia entre aspas com uma extensão de
arquivo apropriada. Por exemplo: TO "Saída.TXT"
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma pasta
diferente já existente:
l TO "C:\Saída.TXT"
l TO "Resultados\Saída.TXT"

Exemplos
Projetar erros encontrados na amostra de dados para toda a população de
registros
Você concluiu os testes dos dados amostrados e registrou as afirmações incorretas encontradas. Agora,
você pode projetar os erros encontrados para toda a população.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 112 de 966


Comandos

O exemplo abaixo usa o tipo de estimativa por diferença para projetar os resultados da análise da amostra
para toda a população:

CVSEVALUATE BOOKED valor_fatura AUDITED VALOR_AUDITADO ETYPE DIFFERENCE


STRATA 4376,88;9248,74;16904,52;23864,32 POPULATION
1279;3382131,93;898;5693215,11;763;9987014,57;627;12657163,59;479;13346354,63
CONFIDENCE 95,00 CUTOFF 35000,00;36;1334318,88 ERRORLIMIT 6 PLIMIT BOTH TO
SCREEN

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Qual tipo de estimativa devo usar?


O tipo de estimativa que você deve usar depende da natureza dos dados: os valores contábeis da amostra,
os valores auditados da amostra e a relação entre eles.

Diretrizes
As diretrizes abaixo ajudam você a selecionar um tipo de estimativa. Você pode repetir a etapa de ava-
liação com diferentes tipos de estimativa e comparar os resultados de cada um.

Presença de afir- Tamanho de afir- Sinal dos valores Comparação das


Tipo de estimativa mações incorretas mações incorretas contábeis razões de estratos

Sem afirmações n/d n/d n/d


incorretas ou poucas
afirmações incor-
retas
O único tipo de esti-
mativa válido se não
existirem ou exis-
tirem poucas afir-
mações incorretas
na população da
Média por unidade amostra auditada.

Afirmação incorretas Afirmações incor- n/d n/d


obrigatórias retas são não pro-
porcionais
Exige várias afir-
mações incorretas Mais adequado
na população de quando as afir-
amostra auditada. mações incorretas
Diferença

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 113 de 966


Comandos

Presença de afir- Tamanho de afir- Sinal dos valores Comparação das


Tipo de estimativa mações incorretas mações incorretas contábeis razões de estratos

Por exemplo, 5% ou não são pro-


mais das amostras porcionais: o tama-
contêm afirmações nho de uma
incorretas. afirmação incorreta
não é relacionado
ao tamanho do valor
contábil associado.
Em outras palavras,
valores contábeis
pequenos e grandes
podem ter afir-
mações incorretas
pequenas ou gran-
des.

Afirmações incor- Valores contábeis Razões variam


retas são pro- têm o mesmo sinal
Mais adequado
porcionais
Todos os valores quando a razão do
Mais adequado contábeis da amos- valor auditado médio
quando as afir- tra devem ter o da amostra em rela-
mações incorretas mesmo sinal: são ção ao valor contábil
são proporcionais: o todos positivos ou médio da amostra
tamanho de uma afir- todos negativos. varia amplamente
Razão separada mação incorreta é entre estratos.
relacionado ao tama-
nho do valor contábil Razões são con-
associado. sistentes
Em outras palavras, Mais adequado
valores contábeis quando a razão do
pequenos têm afir- valor auditado médio
mações incorretas da amostra em rela-
pequenas e valores ção ao valor contábil
contábeis grandes médio da amostra é
têm afirmações incor- relativamente con-
retas grandes. sistente entre os
Razão combinada estratos.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 114 de 966


Comandos

Comando CVSPREPARE
Estratifica uma população e calcula um tamanho de amostra estatisticamente válido para cada estrato na
amostragem clássica de variáveis.

Sintaxe
CVSPREPARE ON campo_valor_contábil NUMSTRATA número MINIMUM tamanho_mínimo_amos-
tra_estrato PRECISION valor CONFIDENCE nível_de_confiabilidade <CUTOFF valor> NCELLS
número PLIMIT {BOTH|UPPER|LOWER} ERRORLIMIT número <MINSAMPSIZE tamanho_
mínimo_amostra> TO {SCREEN|nome_arquivo}

Parâmetros
Nota
Não inclua separadores de milhares ou símbolos de porcentagem ao especificar valores.

Nome Descrição

ON campo_valor_contábil O campo numérico de valor contábil a ser utilizado como base para preparar a amostra
clássica de variáveis.

NUMSTRATA número O número de estratos a ser usado para estratificar numericamente o campo_valor_con-
tábil.
O número mínimo de estratos é 1 e o máximo é 256.
Se você especificar NUMSTRATA 1 e não especificar um CUTOFF, a população será
desestratificada antes da obtenção de uma amostra.
Nota
O número de estratos não pode exceder 50% do número de células espe-
cificado para NCELLS.

MINIMUM tamanho_ O número mínimo de registros a ser amostrado de cada estrato.


mínimo_amostra_estrato
Deixe o valor padrão 0 (zero) se não tiver um motivo específico para definir um número
mínimo.

PRECISION valor O valor monetário que é a diferença entre a afirmação incorreta permitida e a afirmação
incorreta esperada na conta.
o Afirmação incorreta permitida: o valor total máximo de afirmação incorreta que pode
ocorrer no campo de amostra sem que a afirmação incorreta seja considerada rele-
vante
o Afirmação incorreta esperada: o valor total de afirmações incorretas esperado no
campo de amostra

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 115 de 966


Comandos

Nome Descrição

A precisão estabelece o intervalo de aceitação para que uma conta seja considerada
declarada corretamente.
A redução da precisão diminui o intervalo de aceitação (a margem de erro), o que exige
um maior tamanho da amostra.

CONFIDENCE nível_de_ O nível de confiabilidade desejado de que a amostra resultante será representativa de
confiabilidade toda a população.
Por exemplo, 95 significa que você quer ter confiança de que 95% das vezes a amostra
será realmente representativa. A confiabilidade é o complemento do "risco de amos-
tragem". Um nível de confiabilidade de 95% é o mesmo que um risco de amostragem de
5%.
o Se PLIMIT for BOTH, o nível mínimo de confiabilidade será 10% e o máximo 99,5%.
o Se PLIMIT for UPPER ou LOWER, o nível mínimo de confiabilidade será 55% e o
máximo 99,5%.

CUTOFF valor Um determinado valor de limite do estrato de certeza.


opcional Valores de campo_valor_contábil maiores ou iguais ao valor do limite serão sele-
cionados e incluídos automaticamente na amostra.
Se você omitir CUTOFF, será usado um valor limite padrão igual ao valor máximo de
campo_valor_contábil.

NCELLS número O número de células a ser usado para pré-estratificar o campo_valor_contábil.


As células são divisões numéricas mais limitadas que os estratos. A pré-estratificação é
parte de um processo interno que otimiza a posição dos limites dos estratos. As células
não são retidas na saída estratificada final.
O número mínimo de células é 2 e o máximo é 999.
Nota
O número de células deve ser, pelo menos, o dobro (2x) do número de
estratos especificado em NUMSTRATA.

PLIMIT BOTH | UPPER | O tipo de limite de precisão a ser usado.


LOWER o BOTH - especifique esta opção se:
l a conta como um todo pode ser uma afirmação exagerada ou insuficiente
l você está interessado em estimar se a afirmação incorreta em qualquer direção
excede a PRECISION
especificada
o UPPER - especifique esta opção se:
l for provável que a conta como um todo seja uma afirmação insuficiente
l você somente está interessado em estimar se o valor total da afirmação insu-
ficiente excede a PRECISION
especificada
o LOWER - especifique esta opção se:
l for provável que a conta como um todo seja uma afirmação exagerada
l você somente está interessado em estimar se o valor total da afirmação exagerada
excede a PRECISION especificada
Cuidado
Especifique AMBOS se não tiver certeza sobre qual opção escolher.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 116 de 966


Comandos

Nome Descrição

ERRORLIMIT número O número mínimo de erros esperados para a amostra.


Nota
Se o número real de erros encontrados na análise da amostra for inferior
a ERRORLIMIT número, o único método de avaliação disponível será a
média por unidade.

MINSAMPSIZE tamanho_ O número mínimo de registros a ser amostrado em toda a população.


mínimo_amostra
Deixe o valor padrão 0 (zero) se não tiver um motivo específico para definir um número
opcional mínimo.

TO SCREEN | nome_ A localização para onde enviar os resultados do comando:


arquivo o SCREEN: exibe os resultados na área de exibição do Analytics
o nome_arquivo: salva os resultados em um arquivo
Especifique nome_arquivo como uma cadeia entre aspas com uma extensão de
arquivo apropriada. Por exemplo: TO "Saída.TXT"
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma pasta
diferente já existente:
l TO "C:\Saída.TXT"
l TO "Resultados\Saída.TXT"

Variáveis de saída do Analytics


Nome Contém

CONFIDENCE O nível de confiabilidade especificado pelo usuário.

ERRLIMIT O número mínimo de erros especificado pelo usuário.

NSTRATA O número de estratos especificado pelo usuário.

PLIMIT O tipo de limite de precisão especificado pelo usuário.

S_TOP O valor limite do estrato de certeza especificado pelo usuário. Se nenhum valor for espe-
cificado, será o limite superior do estrato superior calculado pelo comando.

SAMPLEFIELD O campo de valor contábil especificado pelo usuário.

SBOTTOM O limite inferior do estrato inferior calculado pelo comando.

SBOUNDARY Todos os limites superiores de estratos calculados pelo comando e S_TOP. Não arma-
zena SBOTTOM.

SPOPULATION O número de registros e o valor monetário total em cada estrato. Exclui itens acima do

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 117 de 966


Comandos

Nome Contém

limite do estrato de certeza.

SSAMPLE O tamanho da amostra de cada estrato calculado pelo comando.

Exemplos
Preparar uma amostra clássica de variáveis
Você decidiu usar amostragem clássica de variáveis para estimar o valor total de afirmações incorretas
monetárias em uma conta que contém faturas.
Antes de obter a amostra, você deve estratificar a população e calcular um tamanho de amostra esta-
tisticamente válido para cada estrato.
Você quer ter confiança de que, 95% das vezes, a amostra obtida pelo Analytics será representativa da
população como um todo.
Usando o seu nível de confiabilidade especificado, o exemplo abaixo estratifica uma tabela com base no
campo valor_fatura e calcula o tamanho da amostra para cada estrato e o estrato de certeza:

CVSPREPARE ON valor_fatura NUMSTRATA 5 MINIMUM 0 PRECISION 928003,97


CONFIDENCE 95,00 CUTOFF 35000 NCELLS 50 PLIMIT BOTH ERRORLIMIT 6 MINSAMPSIZE
0 TO SCREEN

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda
do Analytics.

Limitação de tamanho numérico


Vários cálculos internos ocorrem durante a fase de preparação da amostragem clássica de variáveis.
Esses cálculos permitem números com um comprimento máximo de 17 dígitos. Se o resultado de qual-
quer cálculo exceder 17 dígitos, o resultado não será incluído na saída e você não poderá continuar com o
processo de amostragem.
Os números dos dados de origem com menos de 17 dígitos podem produzir resultados de cálculos inter-
nos que excedem 17 dígitos.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 118 de 966


Comandos

Comando CVSSAMPLE
Obtém uma amostra de registros usando o método de amostragem clássica de variáveis.

Sintaxe
CVSSAMPLE ON campo_valor_contábil NUMSTRATA número <SEED valor_de_origem> CUTOFF
valor STRATA valor_limite <,...n> SAMPLESIZE número <,...n> POPULATION número_
estratos,valor_estrato <,...n> TO nome_tabela

Parâmetros
Nota
Se você estiver usando os resultados de saída do comando CVSPREPARE como entrada
para o comando CVSSAMPLE, vários valores de parâmetro já estarão sendo espe-
cificados e armazenados em variáveis. Para obter mais informações, consulte "Comando
CVSPREPARE" Na página 115.
Não inclua separadores de milhares ou símbolos de porcentagem ao especificar valores.

Nome Descrição

ON campo_valor_contábil O campo numérico de valor contábil a ser utilizado como base para a amostra.

NUMSTRATA número O número de estratos a ser usado para estratificar o campo_valor_contábil.

SEED valor_de_origem O valor de origem usado para inicializar o gerador de números aleatórios no Analytics.
opcional Se você omitir SEED, o Analytics selecionará aleatoriamente o valor de origem.

CUTOFF valor Um determinado valor de limite do estrato de certeza.


Valores de campo_valor_contábil maiores ou iguais ao valor do limite serão sele-
cionados e incluídos automaticamente na amostra.

STRATA valor_limite Os valores de limites superiores para uso na estratificação do campo_valor_contábil.


<;...n>

SAMPLESIZE número O número de registros a ser amostrado de cada estrato.


<;...n>

POPULATION número_ O número de registros em cada estrato e o valor total de cada estrato.
estratos; valor_estrato
<;...n>

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 119 de 966


Comandos

Nome Descrição

TO nome_tabela A localização para onde enviar os resultados do comando:


o nome_tabela: salva os resultados em uma tabela do Analytics
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o projeto
do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos, sem
contar a extensão .FIL. O nome pode incluir o caractere de sublinhado
( _ ) mas nenhum outro caractere especial e nenhum espaço. O nome
não pode começar com um número.

Variáveis de saída do Analytics


Nome Contém

S_TOPEV O valor limite do estrato de certeza especificado pelo usuário. Se nenhum valor for
especificado, será o limite superior do estrato superior calculado previamente pelo
comando CVSPREPARE.
Além disso, armazena o número de registros do estrato de certeza e eu valor monetário
total.

SBOTTOMEV O limite inferior do estrato inferior calculado pelo comando.

BOUNDARYEV Todos os limites inferiores de estratos preenchidos previamente pelo comando ou espe-
cificados pelo usuário. Não armazena S_TOPEV ou SBOTTOMEV.

SPOPULATION O número de registros e o valor monetário total em cada estrato. Exclui itens acima do
limite do estrato de certeza.

Exemplos
Obter uma amostra clássica de variáveis
Você vai usar amostragem clássica de variáveis para estimar o valor total de afirmações incorretas mone-
tárias em uma conta que contém faturas.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 120 de 966


Comandos

Após estratificar a população e calcular um tamanho de amostra estatisticamente válido para cada estrato,
você está pronto para obter a amostra.
O exemplo abaixo obtém uma amostra estratificada de registros de acordo com o campo valor_fatura e
grava os registros amostrados na tabela Amostra_faturas:

CVSSAMPLE ON valor_fatura NUMSTRATA 5 SEED 12345 CUTOFF 35000,00 STRATA


4376,88;9248,74;16904,52;23864,32;35000,00 SAMPLESIZE 37;36;49;36;39 POPULATION
1279;3382131,93;898;5693215,11;763;9987014,57;627;12657163,59;479;13346354,63 TO "Amos-
tra_faturas"

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Campos gerados pelo sistema


O Analytics gera automaticamente quatro campos e os adiciona à tabela de saída da amostra. Para cada
registro incluído na amostra, o campo contém as seguintes informações descritivas:
l STRATUM: o número do estrato ao qual o registro é alocado
l ORIGIN_RECORD_NUMBER: o número do registro original na tabela de dados de origem
l SELECTION_ORDER: a ordem em que o registro foi selecionado aleatoriamente, por estrato
l SAMPLE_RECORD_NUMBER: o número do registro na tabela de saída da amostra

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 121 de 966


Comandos

Comando DEFINE COLUMN


Cria e adiciona uma ou mais colunas a uma exibição existente.

Sintaxe
DEFINE COLUMN nome_exibicao nome_campo <AS nome_exibicao> <POSITION n> <WIDTH
caracteres> <PIC formato> <SORT|SORT D> <KEY> <PAGE> <NODUPS> <NOZEROS> <LINE
n>

Parâmetros
Nome Descrição

nome_exibição A exibição onde a coluna será adicionada.

nome_campo O campo para o qual criar a coluna.


Para usar um campo de uma tabela relacionada, especifique o nome de campo como
nome_tabela.nome_campo.

AS nome_exibicao O nome de exibição (título alternativo da coluna) para o campo na exibição. Se você
quiser que o nome de exibição seja o mesmo que o nome do campo, não use AS.
opcional
Especifique nome_exibicao como uma cadeia entre aspas. Utilize um ponto e vírgula
(;) entre palavras se quiser uma quebra de linha no título da coluna.

POSITION n A posição numérica da coluna na exibição, da esquerda para a direita:


opcional o se omitida, a coluna será colocada na coluna mais à direita no momento em que for
adicionada
o se um número de posição estiver faltando, as posições das colunas serão ajustadas
de forma que as colunas sejam posicionadas em sequência
o se um número de posição já estiver em uso, a coluna nova será colocada à
esquerda da coluna que já estiver usando um número de posição

WIDTH caracteres A largura de exibição do campo em caracteres.


opcional O valor especificado controla a largura de exibição do campo em exibições e relatórios
do Analytics. A largura de exibição nunca altera os dados. No entanto, pode ocultá-los
se for menor que o comprimento do campo.
Se você omitir WIDTH, a largura de exibição será definida como o comprimento em
caracteres especificado para o campo no layout da tabela.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 122 de 966


Comandos

Nome Descrição

Nota
Os caracteres especificados por WIDTH são caracteres de largura fixa.
A mesma quantidade de espaço é alocada a cada caractere, inde-
pendentemente da largura do caractere real.
Por padrão, as exibições do Analytics usam uma fonte de largura pro-
porcional que não corresponde ao espaçamento dos caracteres de lar-
gura fixa.
Se você quiser uma correspondência de um para um entre o valor de
WIDTH e os caracteres na exibição, poderá alterar a configuração
Fonte Proporcional na caixa de diálogo Opções para uma fonte de lar-
gura fixa, como Courier New.

PIC formato Nota


opcional Aplica-se somente a campos numéricos ou de datahora.
o campos numéricos: o formato de exibição de valores numéricos em exibições e rela-
tórios do Analytics
o campos datahora: o formato físico dos valores datahora nos dados de origem
(ordem de caracteres de data e hora, separadores e assim por diante)
Nota
Para campos de datahora, formato deve corresponder exatamente
ao formato físico dos dados de origem. Por exemplo, se os dados de
origem são 31/12/2014, você deve inserir o formato como
"DD/MM/AAAA".
formato deve estar entre aspas.

SORT | SORT D Ordena a coluna:


opcional o ordem crescente: SORT
o ordem decrescente: SORT D

KEY A coluna é designada como um campo de quebra nos relatórios. Os relatórios serão
subtotalizados e subdivididos quando o valor da coluna for alterado. As seguintes res-
opcional
trições se aplicam aos campos de quebra:
o deve ser um campo ou expressão de caracteres
o se um campo de quebra for definido na exibição, deverá ser a coluna mais à
esquerda
o a última coluna na exibição não pode ser um campo de quebra
o se você tiver mais de um campo de quebra, todas as colunas à esquerda de qual-
quer campo de quebra adicional também deverão ser campos de quebra

PAGE Insere uma quebra de página cada vez que o valor do campo de quebra muda.
opcional

NODUPS Substitui valores repetidos por valores em branco no campo.


opcional Por exemplo, se o nome do cliente estiver listado para cada registro de fatura, o rela-
tório ficará mais legível listando apenas a primeira ocorrência de cada nome de cliente.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 123 de 966


Comandos

Nome Descrição

NOZEROS Substitui valores zero por valores em branco no campo.


opcional Por exemplo, se um relatório incluir um grande número de valores zero em uma
coluna, o relatório ficará mais legível listando apenas os itens que têm um valor dife-
rente de zero.

LINE n O número de linhas na coluna. Se nenhum valor for especificado, a coluna adotará o
padrão de uma linha única. O valor de n deve estar entre 2 e 60.
opcional

Exemplos
Definição de uma exibição com seis colunas
Com a tabela AR aberta, você define uma exibição denominada Relatório_AR com seis colunas. As colu-
nas são exibidas na ordem de especificação:

OPEN Ar
DEFINE VIEW AR_Relatorio OK
DEFINE COLUMN AR_Relatorio Numero AS "Número do Cliente" WIDTH 7 KEY
DEFINE COLUMN AR_Relatorio Data AS "Data da Fatura" WIDTH 10
DEFINE COLUMN AR_Relatorio Vencto AS "Data de Vencimento" WIDTH 10
DEFINE COLUMN AR_Relatorio Referencia AS "Número de Referência" WIDTH 6
DEFINE COLUMN AR_Relatorio Tipo AS "Tipo de Transação" WIDTH 5
DEFINE COLUMN AR_Relatorio Qtde AS "Quantidade da Transação" WIDTH 12 PIC "-
9999999999.99"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 124 de 966


Comandos

Comando DEFINE FIELD


Define um campo de dados físico em um layout da tabela do Analytics.

Sintaxe
DEFINE FIELD nome_campo tipo_dados posição_inicial comprimento < decimais|formato_de_data>
<NDATETIME> <PIC formato> <AS nome_exibicao> <WIDTH caracteres> <SUPPRESS> < obser-
vação_do_campo>

Parâmetros
Nome Descrição

nome_campo O nome do campo.


Nota
Os nomes dos campos estão limitados a 256 caracteres alfanuméricos
maiúsculos e minúsculos. O nome pode incluir o caractere de sublinhado
( _ ) mas nenhum outro caractere especial e nenhum espaço. O nome
não pode começar com um número.
O Analytics apresenta uma variedade de palavras-chave reservadas que
não podem ser usadas como nomes de campos. Para obter uma lista
completa, consulte "Palavras-chave reservadas" Na página 965.

tipo_de_dados O tipo de dados a usar para interpretar os dados. Para obter uma lista de tipos de dados
compatíveis, consulte "Tipos de dados compatíveis" Na página 130.
Por exemplo, números de fatura podem ser armazenadas como valores numéricos na ori-
gem dos dados. Para tratar esses valores como cadeias em vez de números, você pode
definir o campo como dados de caracteres.

posição_inicial A posição inicial em bytes do campo no arquivo de dados do Analytics.


Nota

Analytics não Unicode 1 byte = 1 caractere

Analytics Unicode, dados em ASCII estendido 1 byte = 1 caractere


(ANSI)

Analytics Unicode, dados Unicode 2 bytes = 1 caractere

Para dados Unicode, normalmente você deve especificar uma posição


inicial em bytes ímpar. A especificação de uma posição inicial par pode
causar exibição incorreta de caracteres.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 125 de 966


Comandos

Nome Descrição

comprimento O comprimento do campo em bytes.


Nota

Analytics não Unicode 1 byte = 1 caractere

Analytics Unicode, dados em ASCII estendido 1 byte = 1 caractere


(ANSI)

Analytics Unicode, dados Unicode 2 bytes = 1 caractere

Para dados Unicode, especifique apenas um número de bytes par. A


especificação de um número ímpar de bytes pode causar exibição incor-
reta de caracteres.

decimais O número de casas decimais para campos numéricos.


opcional

formato_de_data O formato de data nos campos de data de origem.


opcional Para campos de datahora ou hora, use PIC formato. Você também pode usar PIC for-
mato para campos de data.
Se os dados de origem incluem separadores como barras, você deve incluir os sepa-
radores em formato_de_data. Por exemplo, se os dados de origem são 31/12/2014, você
deve inserir o formato como DD/MM/AAAA. Não coloque formato_de_data entre aspas.

NDATETIME Valores de data, datahora ou hora armazenados em um campo numérico são tratados
como dados de datahora.
opcional
NDATETIME exige que você também especifique o formato de datahora da origem PIC
formato.

PIC formato Nota


opcional Aplica-se somente a campos numéricos ou de datahora.
o campos numéricos: o formato de exibição de valores numéricos em exibições e rela-
tórios do Analytics
o campos datahora: o formato físico dos valores datahora nos dados de origem (ordem
de caracteres de data e hora, separadores e assim por diante)
Nota
Para campos de datahora, formato deve corresponder exatamente ao
formato físico dos dados de origem. Por exemplo, se os dados de ori-
gem são 31/12/2014, você deve inserir o formato como
"DD/MM/AAAA".
formato deve estar entre aspas.

AS nome_exibicao O nome de exibição (título alternativo da coluna) para o campo na exibição. Se você qui-
ser que o nome de exibição seja o mesmo que o nome do campo, não use AS.
opcional
Especifique nome_exibicao como uma cadeia entre aspas. Utilize um ponto e vírgula (;)
entre palavras se quiser uma quebra de linha no título da coluna.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 126 de 966


Comandos

Nome Descrição

WIDTH caracteres A largura de exibição do campo em caracteres.


opcional O valor especificado controla a largura de exibição do campo em exibições e relatórios
do Analytics. A largura de exibição nunca altera os dados. No entanto, pode ocultá-los
se for menor que o comprimento do campo.
A largura de exibição não pode ser inferior ao comprimento de nome_campo ou de
nome_exibicao.
Se você omitir WIDTH, a largura de exibição será definida como o comprimento do
campo em caracteres.
Nota
Os caracteres especificados por WIDTH são caracteres de largura fixa. A
mesma quantidade de espaço é alocada a cada caractere, inde-
pendentemente da largura do caractere real.
Por padrão, as exibições do Analytics usam uma fonte de largura pro-
porcional que não corresponde ao espaçamento dos caracteres de lar-
gura fixa.
Se você quiser uma correspondência de um para um entre o valor de
WIDTH e os caracteres na exibição, poderá alterar a configuração Fonte
Proporcional na caixa de diálogo Opções para uma fonte de largura fixa,
como Courier New.

SUPPRESS Aplica-se somente a campos numéricos.


opcional Suprime a totalização automática de um campo numérico em relatórios do Analytics.
A totalização de alguns campos numéricos não é apropriada. Por exemplo, um campo
de custo unitário ou um campo de taxa de desconto.

observação_do_campo O texto de uma observação de campo adicionada à definição de campo no layout da


tabela.
opcional
observação_do_campo deve ser o último parâmetro, depois de todos os outros parâ-
metros obrigatórios e opcionais. O texto não pode ter várias linhas. Não é necessário
usar aspas.

Exemplos
Definição de um campo de caracteres
Definição de um campo de caracteres denominado DescProd. O título da coluna na exibição é Descrição
do produto.

Analytics não Unicode


l Começa em: byte 12 (posição de caractere 12)
l Comprimento: 24 bytes (24 caracteres)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 127 de 966


Comandos

DEFINE FIELD DescProd ASCII 12 24 AS "Descrição do produto"

Analytics Unicode, dados em ASCII estendido (ANSI)


l Começa em: byte 12
l Comprimento: 24 bytes (24 caracteres)

DEFINE FIELD DescProd ASCII 12 24 AS "Descrição do produto"

Analytics Unicode, dados Unicode


l Começa em: byte 13
l Comprimento: 48 bytes (24 caracteres)

DEFINE FIELD DescProd UNICODE 13 48 AS "Descrição do produto"

Definição de um campo numérico


Define um campo numérico chamado QtdDisp. Na exibição, a coluna usa o formato de exibição espe-
cificado e o título é Quantidade disponível .
l Começa em: byte 61
l Comprimento: 10 bytes
l Casas decimais: nenhuma

DEFINE FIELD QtdDisp NUMERIC 61 10 0 PIC "(9.999.999)" AS "Quantidade disponível"

Definição de um campo datahora de dados de caracteres


Os primeiros dois exemplos abaixo definem um campo datahora chamado Data_Transação usando
dados de caracteres de origem. Nos dados de origem, o formato da data é DD/MM/AAAA. Nenhum título
de coluna é especificado. Portanto, o título da coluna assumirá o valor padrão de nome do campo.
l Começa em: byte 20
l Comprimento: 10 bytes
Aqui, o formato de data é especificado usando formato_de_data:

DEFINE FIELD Data_da_transação DATETIME 20 10 DD/MM/YYYY

Aqui, o formato de data é especificado usando PIC formato:

DEFINE FIELD Data_da_transação DATETIME 20 10 PIC "DD/MM/AAAA"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 128 de 966


Comandos

Para definir campos datahora que incluem dados de tempo, você deve usar PIC formato.
O exemplo abaixo define um campo datahora chamado carimbo_de_data_e_hora_do_email . Nos dados
de origem, o formato de datahora é AAAA/MM/DD hh:mm:ss-hh:mm.
l Começa em: byte 1
l Comprimento: 25 bytes

DEFINE FIELD carimbo_de_data_e_hora_do_email DATETIME 1 25 PIC "AAAA/MM/DD hh:mm:ss-


hh:mm"

Definição de um campo datahora de dados numéricos


Usando os dados numéricos de origem, define um campo datahora denominado Carimbo_de_data_e_
hora_do_recebimento com o formato de datahora especificado nos dados de origem.
l Começa em: byte 15
l Comprimento: 15 bytes

DEFINE FIELD Carimbo_de_data_e_hora_do_recebimento DATETIME 15 15 PIC "AAAAMMDD,hh-


mmss"

Definição de um campo datahora "numérico"


Usando os dados numéricos de origem, define um campo numérico denominado Carimbo_de_data_e_
hora_do_recebimento com o formato de datahora especificado nos dados de origem.
O parâmetro NDATETIME permite que os valores armazenados no campo numérico sejam tratados como
dados de datahora pelo Analytics.
l Começa em: byte 15
l Comprimento: 15 bytes
l Casas decimais: 6

DEFINE FIELD Carimbo_de_data_e_hora_do_recebimento PRINT 15 15 6 NDATETIME PIC


"AAAAMMDD.hhmmss"

Definição de um campo de dados físico que leia dados compactados de


mainframe
Você pode usar o parâmetro NDATETIME para criar um campo de dados físico que lê valores de datas de
um campo numérico compactado.
O Analytics não pode reconhecer uma data em um número que esteja compactado em menos bytes que
um por dígito e que não exiba formato de data. Portanto, é necessário descompactar o número com
NDATETIME para obter o número completo de dígitos e então especificar o formato de data com PIC.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 129 de 966


Comandos

Para indicar com precisão quais números representam o dia, o mês e o ano, especifique o mesmo for-
mato de data do layout do registro compactado:

DEFINE FIELD nome_do_campo_de_data NUMERIC 1 8 0 NDATETIME PIC "AAAAMMDD"

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda
do Analytics.

Sobrescrita de campos em um script


Você pode sobrescrever um campo em um layout de tabela definindo um campo que usa o mesmo nome
que o campo existente. Se SET SAFETY estiver definido como ON, uma caixa de diálogo de confirmação
será exibida antes que o campo existente seja sobrescrito.
Para evitar a interrupção do script, você pode definir SET SAFETY como OFF. O campo existente será
sobrescrito sem confirmação adicional.

Tipos de dados compatíveis


Categoria de dados Tipo de dados

Caractere ASCII

CUSTOM

EBCDIC

NOTE

PCASCII

UNICODE

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 130 de 966


Comandos

Categoria de dados Tipo de dados

Numérico ACCPAC

ACL

BASIC

BINARY

FLOAT

HALFBYTE

IBMFLOAT

MICRO

NUMERIC

PACKED

PRINT

UNISYS

UNSIGNED

VAXFLOAT

ZONED

Datahora DATETIME

Lógico LOGICAL

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 131 de 966


Comandos

Comando DEFINE FIELD . . .


COMPUTED
Define um campo calculado em um layout da tabela do Analytics.

Sintaxe
Para definir um campo calculado:

DEFINE FIELD nome_campo COMPUTED expressão

Para definir um campo calculado com parâmetros opcionais:

DEFINE FIELD nome_campo COMPUTED


<IF teste> <STATIC> <PIC formato> <AS nome_exibicao> <WIDTH caracteres> <SUPPRESS>
< observação_do_campo>
expressão

Para definir um campo calculado condicional:

DEFINE FIELD nome_campo COMPUTED


*** LINHA EM BRANCO ***
valor IF condição
< valor IF condição>
<...n>
valor_padrão

Para definir um campo condicional com parâmetros opcionais:

DEFINE FIELD nome_campo COMPUTED


<IF teste> <STATIC> <PIC formato> <AS nome_exibicao> <WIDTH caracteres> <SUPPRESS>
< observação_do_campo>
valor IF condição
< valor IF condição>
<...n>
valor_padrão

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 132 de 966


Comandos

Nota
A sintaxe de várias linhas deve ser estruturada exatamente como mostrado na sintaxe
genérica acima e nos exemplos abaixo.

Parâmetros
Nome Descrição

nome_campo O nome do campo calculado.


Nota
Os nomes dos campos estão limitados a 256 caracteres alfanuméricos
maiúsculos e minúsculos. O nome pode incluir o caractere de sublinhado
( _ ) mas nenhum outro caractere especial e nenhum espaço. O nome
não pode começar com um número.
O Analytics apresenta uma variedade de palavras-chave reservadas que
não podem ser usadas como nomes de campos. Para obter uma lista
completa, consulte "Palavras-chave reservadas" Na página 965.

expressão Uma expressão válida do Analytics que define o valor do campo calculado.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes em
uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

STATIC O campo exibe o mesmo valor em cada linha da tabela até que um novo valor seja
encontrado.
opcional
Por exemplo, se houver um campo Sobrenome nos dados de origem, e:
o o primeiro registro exibe o valor "Smith"
o os cinco registros seguintes exibem linhas em branco
o o sétimo registro exibe o valor "Wong"
Neste caso, "Smith" será exibido em seis linhas consecutivas e "Wong" será exibido na
sétima linha.

PIC formato Nota


opcional Aplica-se somente a campos numéricos.
O formato da exibição de valores numéricos em exibições e relatórios do Analytics.
formato deve estar entre aspas.

AS nome_exibicao O nome de exibição (título alternativo da coluna) para o campo na exibição. Se você qui-
ser que o nome de exibição seja o mesmo que o nome do campo, não use AS.
opcional
Especifique nome_exibicao como uma cadeia entre aspas. Utilize um ponto e vírgula (;)
entre palavras se quiser uma quebra de linha no título da coluna.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 133 de 966


Comandos

Nome Descrição

WIDTH caracteres A largura de exibição do campo em caracteres.


opcional O valor especificado controla a largura de exibição do campo em exibições e relatórios
do Analytics. A largura de exibição nunca altera os dados. No entanto, pode ocultá-los
se for menor que o comprimento do campo.
A largura de exibição não pode ser inferior ao comprimento de nome_campo ou de
nome_exibicao.
Se você omitir WIDTH, a largura de exibição será definida como o comprimento do
campo em caracteres.
Nota
Os caracteres especificados por WIDTH são caracteres de largura fixa. A
mesma quantidade de espaço é alocada a cada caractere, inde-
pendentemente da largura do caractere real.
Por padrão, as exibições do Analytics usam uma fonte de largura pro-
porcional que não corresponde ao espaçamento dos caracteres de lar-
gura fixa.
Se você quiser uma correspondência de um para um entre o valor de
WIDTH e os caracteres na exibição, poderá alterar a configuração Fonte
Proporcional na caixa de diálogo Opções para uma fonte de largura fixa,
como Courier New.

SUPPRESS Aplica-se somente a campos numéricos.


opcional Suprime a totalização automática dos campos numéricos calculados em relatórios do
Analytics.
A totalização de alguns campos numéricos não é apropriada. Por exemplo, um campo
de custo unitário ou um campo de taxa de desconto.

observação_do_campo O texto de uma observação de campo adicionada à definição de campo no layout da


tabela.
opcional
observação_do_campo deve ser o último parâmetro, depois de todos os outros parâ-
metros obrigatórios e opcionais. O texto não pode ter várias linhas. Não é necessário
usar aspas.

valor IF condição Somente campo calculado condicional.


o valor: o valor ou a expressão do campo calculado a ser usado quando a condição for
avaliada como verdadeira
o condição: o teste lógico que é avaliado

valor_padrão Somente campo calculado condicional.


O valor ou expressão a ser usado no campo calculado se nenhuma das condições for
avaliada como verdadeira.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 134 de 966


Comandos

Nome Descrição

Nota
A precisão decimal de todos os valores calculados é controlada pela pre-
cisão de valor_padrão. Por exemplo, se você especificar um valor padrão
de 0,00, todos os valores serão calculados com duas casas decimais e,
se necessário, arredondados. Para obter maior precisão, aumente o
número de casas decimais em valor_padrão.

Exemplos
Definição de um campo calculado
Defina um campo calculado chamado Valor que é o produto dos campos Custo e Quantidade:

DEFINE FIELD Valor COMPUTED Custo * Quantidade

Definição de um campo calculado com opções


Defina um campo calculado chamado Valor_03, com várias opções definidas. Inclua uma condição IF que
limita quais os registros processados pelo campo calculado:

DEFINE FIELD Valor_03 COMPUTED


IF Classe_Produto = "03" PIC "($9.999.999,99)" AS "Valor Prod Classe 3" Valor é custo multiplicado
por quantidade
Custo * Quantidade

Definição de um campo calculado condicional


Defina um campo calculado condicional denominado Imposto_vendas que calcula um imposto de venda
diferente, dependendo do estado no qual a transação ocorreu. As transações que ocorreram fora dos três
estados têm um imposto de venda padrão de US$ 0,00.
Nota

A segunda linha deve ficar em branco porque não há parâmetros opcionais.

DEFINE FIELD Imposto_vendas COMPUTED

0,0750 * Valor_vendas IF Estado = "RJ"


0,0400 * Valor_vendas IF Estado = "SP"
0,0625 * Valor_vendas IF Estado = "RS"
0,00

Definição de um campo calculado condicional com opções

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 135 de 966


Comandos

Defina um campo calculado condicional denominado Imposto_vendas_100 que calcula um imposto de


venda diferente, dependendo do estado no qual a transação ocorreu. O campo somente calcula imposto
para valores iguais ou superiores a US$ 100.
As transações que ocorreram fora dos três estados têm um imposto de venda padrão de US$ 0,00.
Nota

Quando você especificar parâmetros opcionais, não deixe linhas em branco.

DEFINE FIELD Imposto_vendas_100 COMPUTED


IF Valor_vendas >= 100
0,0750 * Valor_vendas IF Estado = "RJ"
0,0400 * Valor_vendas IF Estado = "SP"
0,0625 * Valor_vendas IF Estado = "RS"
0,00

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda
do Analytics.

Dois tipos de campos calculados


Há dois tipos de campos calculados:
l campos calculados padrão
Um campo calculado padrão executa o mesmo cálculo em cada registro da tabela.
Por exemplo, em uma tabela Inventário, você pode criar um campo calculado que multiplica o valor
do campo Custo pelo valor do campo Quantidade para calcular o Valor do custo do inventário para
cada registro.
l campo calculado condicional
Um campo calculado condicional pode executar cálculos diferentes nos registros de uma tabela de
acordo com um conjunto de condições especificadas. Os cálculos executados em um registro
dependem da condição atendida pelo registro.
Por exemplo, em uma tabela Transações, você pode criar um campo calculado condicional que cal-
cula o imposto sobre a venda usando uma taxa ajustável, baseada no estado onde ocorreu a tran-
sação. Condições como IF Estado = "SP" e IF Estado = "RJ" testam cada registro para identificar a
taxa a ser usada.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 136 de 966


Comandos

Diretrizes para a criação de um campo calculado con-


dicional
Nota
Na definição de um campo, se você não especificar nenhum parâmetro opcional na
segunda linha, deverá deixá-la em branco.
Além de um valor padrão, os campos calculados condicionais requerem pelo menos um valor condicional.
Você deve usar a sintaxe de várias linhas a seguir para definir um campo calculado condicional:
l os parâmetros opcionais aparecem na segunda linha
l se não houver parâmetros adicionais, a segunda linha deve ficar em branco
l a primeira instrução condicional aparece na terceira linha
l cada instrução condicional exige uma linha separada
l o valor padrão aparece na última linha

Sobrescrevendo definições de campo


Você pode sobrescrever uma definição de campo em um layout de tabela definindo um campo que usa o
mesmo nome que o campo existente.
Se SET SAFETY está definido como ON, o Analytics exibe uma caixa de diálogo de confirmação antes de
sobrescrever o campo existente. Para evitar interromper um script, você pode definir SET SAFETY como
OFF e o Analytics sobrescreve o campo existente sem solicitar confirmação.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 137 de 966


Comandos

Comando DEFINE RELATION


Define uma relação entre duas tabelas do Analytics.
Nota
Você pode relacionar até 18 tabelas do Analytics e acessar e analisar dados de qualquer
combinação de campos nas tabelas relacionadas como se elas existissem em uma única
tabela. É necessário especificar um comando DEFINE RELATION separado para cada
par de tabelas relacionadas.

Sintaxe
DEFINE RELATION campo_chave WITH nome_da_tabela_relacionada INDEX nome_do_índice
<AS nome_do_relacionamento>

Parâmetros
Nome Descrição

campo_chave O campo-chave da tabela pai.


Você pode selecionar somente um campo-chave para cada relação.
Nota
Ao criar relações entre tabelas pai e tabelas netas, é preciso especificar
um nome de campo-chave totalmente qualificado no formato nome_
tabela.nome_campo.
Em "Relacionar três tabelas" Na página oposta, consulte: Com-
provantes.criado_por

WITH nome_da_tabela_ O nome da tabela relacionada.


relacionada

INDEX nome_do_índice O nome do índice para o campo-chave da tabela relacionada.


Você deve indexar a tabela relacionada pelo campo-chave antes de relacionar a
tabela.

AS nome_do_rela- Um nome único para a relação.


cionamento
Por padrão, o nome da tabela filha é usado como o nome da relação. Se estiver defi-
opcional nindo relacionamentos adicionais à mesma tabela filha, será necessário especificar um
nome único.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 138 de 966


Comandos

Exemplos
Relacionar duas tabelas
O exemplo abaixo relaciona a tabela aberta à tabela Cliente usando o campo do número do cliente (NumC-
liente) como o campo-chave:

DEFINE RELATION NumCliente WITH Cliente INDEX Cliente_em_NumCliente

Cliente_em_NumCliente é o nome do índice da tabela filha no campo-chave. Para relacionar tabelas, é


necessário um índice na tabela filha.
Se o índice da tabela filha não existir quando você executar o comando DEFINE RELATION, será exibida
uma mensagem de erro e a relação não é executada.
Dica
Se você definir uma relação na interface do usuário do Analytics, o índice da tabela filha
será criado automaticamente.

Criar um índice na tabela filha antes de relacionar duas tabelas


Se necessário, você pode criar um índice da tabela filha imediatamente antes de relacionar as duas tabe-
las. O exemplo a seguir mostra a criação de um índice para a tabela filha Cliente antes de relacionar a
tabela Ar à tabela Cliente.

OPEN Clientes
INDEX ON NumCliente TO Cliente_em_NumCliente
Open Ar
DEFINE RELATION NumCliente WITH Cliente INDEX Cliente_em_NumCliente

Relacionar três tabelas


O exemplo abaixo relaciona três tabelas no exemplo de projeto ACL_Rockwood.ACL:
l Itens_comprovantes: a tabela pai
l Comprovantes: a tabela filha
l Funcionários: a tabela neta
O uso da tabela Comprovantes como um tabela intermediária na relação permite relacionar cada item de
comprovante com o funcionário que processou o item.

OPEN Comprovantes
INDEX ON número_comprovante TO "Comprovantes_por_número_comprovante"
OPEN Itens_comprovantes
DEFINE RELATION número_comprovante WITH Comprovantes INDEX Comprovantes_por_

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 139 de 966


Comandos

número_comprovante
OPEN Funcionários
INDEX ON número_funcionário TO "Funcionários_por_número_funcionário"
OPEN Itens_comprovantes
DEFINE RELATION Comprovantes.criado_por WITH Funcionários INDEX Funcionários_por_
número_funcionário

Explicação da lógica da sintaxe


1. Abra a tabela Comprovantes e indexe-a pelo campo número_comprovante.
2. Abra a tabela Itens_comprovantes e relacione-a à tabela Comprovantes usando número_com-
provante como campo-chave.
3. Abra a tabela Funcionários e indexe-a pelo campo número_funcionário.
4. Abra a tabela Itens_comprovantes e relacione-a à tabela Funcionários usando Com-
provantes.criado_por como campo-chave.
Nota
Comprovantes.criado_por está disponível como campo-chave na segunda relação
porque você já relacionou Itens_comprovantes e Comprovantes na primeira rela-
ção.

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda
do Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 140 de 966


Comandos

Comando DEFINE REPORT


Cria uma nova exibição ou abre uma exibição existente.

Sintaxe
DEFINE REPORT nome_de_exibição

Parâmetros
Nome Descrição

nome_exibição O nome de uma exibição nova ou existente.


o exibição nova: cria uma exibição em branco com o nome especificado na tabela
aberta
Todos os espaços no nome da tabela são substituídos por caracteres sublinhado (_).
o exibição existente: abre a exibição especificada na tabela aberta

Exemplos
Criação de uma nova exibição
Crie uma nova exibição denominada revisão_AR_quarto_trimestre:

DEFINE REPORT revisão_AR_quarto_trimestre

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 141 de 966


Comandos

Comando DEFINE TABLE DB


Define uma tabela de servidor do Analytics por meio de uma conexão a uma tabela de banco de dados
usando o Conector do AX. Você pode estabelecer uma conexão a um banco de dados Microsoft SQL Ser-
ver, Oracle ou DB2.

Sintaxe
DEFINE TABLE DB {SOURCE perfil_banco_de_dados <PASSWORD num> <PASSWORD num>
| SERVER perfil_de_servidor <PASSWORD num>} <FORMAT nome_do_formato> SCHEMA
esquema <TITLED nome_tabela_acl> <PRIMARY|SECONDARY> {DBTABLE nometabela_bd
FIELDS {nomes_campos|ALL} <...n> <WHERE condição> <ORDER nomes_campos>

Parâmetros
SOURCE O perfil do banco de dados do Analytics a ser usado para acessar o mecanismo de banco de dados.
perfil_
Os perfis de bancos de dados contêm informações necessárias para se conectar ao mecanismo de
banco_
banco de dados, incluindo:
de_dados
o uma referência ao perfil de servidor associado
o o tipo de banco de dados
o o nome do banco de dados
o informações da conta do usuário
Nota
DEFINE TABLE DB somente permite conexão aos bancos de dados Microsoft SQL Ser-
ver, Oracle ou DB2.

PASSWO- A definição de senha a ser usada.


RD num
PASSWORD num não é usado para solicitar ou especificar uma senha real. A definição de senha faz
opcional referência a uma senha previamente fornecida ou definida com o comando PASSWORD, o comando
SET PASSWORD ou a tag de análise PASSWORD.
num é o número da definição de senha. Por exemplo, se as duas senhas foram previamente fornecidas
ou definidas em um script, ou no agendamento de uma análise, PASSWORD 2 especifica o uso da
senha nº 2.
Para obter mais informações sobre o fornecimento ou a definição de senhas, consulte:
l "Comando PASSWORD" Na página 363
l "Comando SET" Na página 424
l Tag de análise PASSWORD
Para obter mais informações sobre o fornecimento ou a definição de senhas, consulte:
l Comando PASSWORD
l Comando SET
l Tag de análise PASSWORD

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 142 de 966


Comandos

A senha somente é necessária quando o perfil do banco de dados não contém senhas salvas. Use
PASSWORD duas vezes após a palavra-chave SOURCE. A primeira senha efetua o seu login no ser-
vidor e a segunda, no banco de dados.

SERVER Não é mais usado.


perfil_de_
Antes da versão 10.0 do Analytics, era usado na conexão ao ACL Edição de Servidor para z/OS. A par-
servidor
tir da versão 10.0 do Analytics, o ACL Edição de Servidor para z/OS não é mais incluído.

FORMAT O nome de uma tabela ou arquivo de layout de tabela (.layout) do Analytics contendo o layout de tabela
nome_ a ser utilizado.
do_for-
mato
opcional

SCHEMA O esquema a ser conectado. O nome do esquema deve ser entre aspas.
esquema

TITLED O nome da tabela do Analytics a ser criada.


nome_
nome_tabela_acl deve ser uma cadeia entre aspas. Se você omitir TITLED, o Analytics usará o nome
tabela_acl
da tabela do banco de dados. Quando você acessar mais de uma tabela por vez, o Analytics usará o
opcional nome da primeira.

PRIMARY Usar a tabela como tabela primária ou secundária em comandos multiarquivo. Se nenhuma opção for
| especificada, o valor padrão PRIMARY será aplicado.
SECOND-
ARY
opcional

DBTABLE A tabela do banco de dados que você deseja acessar. tabela_banco_de_dados deve ser uma cadeia
tabela_ entre aspas.
banco_
de_dados

FIELDS Os campos a serem incluídos na saída:


nomes_ o FIELDS nomes_campos: usar os campos especificados
de_cam-
pos | ALL nomes_campos deve ser uma cadeia entre aspas.
o ALL: usar todos os campos da tabela
Para usar campos de mais de uma tabela:
a. Insira o nome da primeira tabela, seguido pelos campos dessa tabela.
b. Insira o nome da próxima tabela, seguida pelos campos dessa tabela.
c. Para cada tabela adicional, repita a etapa b.

DBTABLE "DSN1310" FIELDS "Campo_A Campo_B Campo_C" DBTABLE "DSN2516" FIELDS


"Campo_L Campo_M Campo_N"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 143 de 966


Comandos

Nota
Usando o Conector do AX, você pode acessar um número ilimitado de tabelas rela-
cionadas. No entanto, não recomendamos usar mais de cinco. O tempo de pro-
cessamento aumenta ao acessar várias tabelas.

WHERE Uma cláusula SQL WHERE que limita os dados aos registros que atendam à condição especificada.
condição
É preciso usar sintaxe SQL válida, inserida como uma cadeia entre aspas.
opcional
Quando você associa tabelas, o Analytics exibe a condição da associação na cláusula WHERE:

"Table_1.First_name = Table_2.First_name"

ORDER Os campos que o mecanismo de banco de dados utiliza para classificar registros. nomes_campos deve
nomes_ ser uma cadeia entre aspas.
campos
O comando é mais demorado quando ordena registros. Use ORDER apenas quando a classificação é
opcional importante.

Exemplos
Exemplo
Você quer acessar dados de um banco de dados Microsoft SQL Server usando o Conector do AX. Para
isso, você usa o comando DEFINE TABLE DB. Inclua o parâmetro SOURCE para conexão ao Conector
do AX por meio de um perfil de banco de dados:

DEFINE TABLE DB SOURCE "Auditoria_SQLServer" SCHEMA "RH" TITLED "Folha de Paga-


mento" DBTABLE "RH.Funcionário" FIELDS "IDFuncionário" DBTABLE "RH.His-
tóricoPagamentoFuncionário" FIELDS "Taxa FrequênciaPagamento"WHERE
"RH.Funcionário.IDFuncionário=RH.HistóricoPagamentoFuncionário.IDFuncionário"

Observações
Como funciona?
A tabela do servidor do Analytics é definida como uma consulta que usa um perfil de banco de dados para
se conectar a uma tabela de do banco de dados.

Supressão da parte de tempo dos valores de datahora


Preceda o comando DEFINE TABLE DB com o comando SET SUPPRESSTIME para suprimir a parte
de tempo de valores de datahora.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 144 de 966


Comandos

O uso de SET SUPPRESSTIME ON é destinado a scripts do Analytics em versões anteriores à 10.0.


Esses scripts pressupõem que a parte de tempo de valores de datahora será truncada. Se SET
SUPPRESSTIME ON não for adicionado a esses scripts, eles não poderão ser executados na versão com
suporte a datahora do Analytics.
Para obter mais informações, consulte a seção "SET SUPPRESSTIME" no "Comando SET" Na
página 424.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 145 de 966


Comandos

Comando DEFINE VIEW


Define uma nova exibição ou sobrescreve uma exibição existente.

Sintaxe
DEFINE VIEW nome_exibição <RLINES n> <ALL> <SUPPRESS> <SUMMARIZED> <IF teste>
<WHILE teste> <HEADER texto_cabeçalho> <FOOTER texto_rodapé> <TO nome_do_arquivo_
relatório <HTML>><OK>

Parâmetros
Nome Descrição

nome_exibição O nome da exibição a ser criada ou substituída.


Nota:
Os nomes de exibições são limitados a 64 caracteres alfanuméricos. O
nome pode incluir o caractere de sublinhado ( _ ) mas nenhum outro
caractere especial e nenhum espaço. O nome não pode começar com
um número.

RLINES n O espaçamento entre linhas em registros de detalhes nas exibições e relatórios. Por
padrão, as linhas de detalhes utilizam espaçamento simples.
opcional

ALL Todos os campos no layout da tabela ativa do Analytics são adicionados à exibição.
opcional

SUPPRESS Suprime linhas de detalhe em branco nos relatórios gerados a partir da exibição.
Quando o relatório é gerado, as linhas de detalhe em branco são omitidas do resul-
opcional
tado. Essa opção aplica-se aos relatórios baseados em exibições com várias linhas.

SUMMARIZED Especifica que os relatórios gerados a partir da exibição devem incluir subtotais e
totais, mas não as linhas de detalhe.
opcional
Os subtotais são gerados com base nos campos de quebra definidos na exibição. Se
esta opção não estiver selecionada, o relatório incluirá linhas de detalhe, bem como
subtotais para cada campo de quebra especificado.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 146 de 966


Comandos

Nome Descrição

Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes
em uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

HEADER texto_cabeçalho O texto a ser inserido na parte superior de cada página de um relatório.
opcional texto_cabeçalho deve ser especificado como uma cadeia entre aspas. O valor substitui
a variável de sistema HEADER do Analytics.

FOOTER texto_rodapé O texto a ser inserido na parte inferior de cada página de um relatório.
opcional texto_rodapé deve ser especificado como uma cadeia entre aspas. O valor substitui a
variável de sistema FOOTER do Analytics.

TO nome_do_arquivo_ O nome de arquivo e o tipo dos relatórios criados nesta exibição.


relatório HTML
Use a palavra-chave HTML para salvar os relatórios gerados nesta exibição como
opcional arquivos HTML (.htm). Por padrão, a saída de relatórios será como arquivos de texto
ASCII.

OK Exclui ou sobrescreve itens sem solicitar confirmação da ação.


opcional

Exemplos
Criação de uma exibição
Abra a tabela Ar e crie uma exibição chamada Relatório_AR, que inclui todos os campos no layout da
tabela:

OPEN Ar
DEFINE VIEW Relatório_AR HEADER "Relatório AR" ALL OK

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 147 de 966


Comandos

Comando DELETE
Exclui um item de projeto do Analytics, um campo de um layout da tabela, uma variável, uma ou mais
entradas de histórico de tabela, uma relação entre tabelas ou um arquivo em uma pasta do Windows.
Além disso, remove uma coluna de uma exibição.

Sintaxe
Propósito Sintaxe

Para excluir um item de projeto do Analy-


tics DELETE tipo_item nome_item <OK>

Para excluir um campo de um layout da


tabela DELETE nome_campo <OK>

Para remover uma coluna em uma exi-


bição DELETE COLUMN nome_exibiçao nome_campo <ALL> <OK>

Para excluir uma variável ou todas as vari-


áveis DELETE {nome_variável|ALL} <OK>

Para excluir o histórico da tabela atual do


Analytics DELETE HISTORY <manter_entradas_histórico> <OK>

Para excluir um relacionamento entre


duas tabelas DELETE RELATION <nome_tabela_filha|nome_relacionamento>
<OK>

Para excluir um arquivo


DELETE nome_arquivo <OK>

Para excluir todas as notas de registro e o


campo NotaDoRegistro da tabela aberta DELETE NOTES <OK>

Parâmetros
Nome Descrição

tipo_item nome_item O tipo e o nome do item a excluir.


Especifique um dos tipos de item de a seguir:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 148 de 966


Comandos

Nome Descrição

o FOLDER: a pasta de projeto especificada e todo o seu conteúdo


o FORMAT: o layout da tabela especificado, todas as suas exibições, e seus índices e
relacionamentos associados
Todos os outros layouts de tabelas da tabela associada são mantidos.
O arquivo de dados (.fil) associado ao layout da tabela não é excluído a menos que
a opção Excluir arquivo de dados com tabela esteja marcada na guia Tabela na
caixa de diálogo Opções (Ferramentas > Opções).
Você também pode usar o comando SET DELETE_FILE {ON|OFF} em um script ou
na linha de comando para ativar ou desativar essa opção. Para obter mais infor-
mações, consulte "Comando SET" Na página 424.
Cuidado
Tome cuidado ao ativar a opção Excluir arquivo de dados com
tabela. Pode ser um arquivo de dados original, que será excluído
junto com o layout da tabela.
Os arquivos de dados são excluídos imediatamente. Esses arquivos
excluídos não são enviados para a lixeira do Windows.
o REPORT: a exibição especificada
Você não pode excluir uma exibição que está ativa no momento.
o COLUMN: a coluna especificada
o SCRIPT ou BATCH: o script especificado
o WORKSPACE: a área de trabalho especificada
o INDEX: o índice especificado
o NOTES: todas as notas de registro da tabela aberta e o campo NotaDoRegistro do
layout da tabela

nome_campo ALL Excluir um campo


O nome do campo a ser excluído do layout da tabela atual do Analytics.
Você pode excluir um campo de um layout de tabela mesmo se o campo estiver inclu-
ído na exibição atual.
Nota
Você não pode excluir um campo ao qual um campo calculado faz refe-
rência, a menos que exclua antes o campo calculado.

Remover uma coluna


O nome da coluna a ser removida da exibição especificada.
Nota
Use o nome do campo físico e não o nome de exibição da coluna.
o ALL incluído: remove todas as ocorrências da coluna na exibição
o ALL omitido: remove a primeira (mais à esquerda) ocorrência da coluna na exibição

nome_exibição O nome da exibição de onde a coluna será removida.

nome_variavel | ALL O nome da variável a excluir. Use ALL para excluir todas as variáveis.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 149 de 966


Comandos

Nome Descrição

Se você especificar ALL, todas as ocorrências dos seguintes tipos de variáveis serão
excluídas do projeto:
o variáveis do sistema
o variáveis temporárias definidas pelo usuário
o variáveis permanentes definidas pelo usuário
Nota
Você não pode excluir uma variável ao qual um campo calculado faz
referência, a menos que exclua antes o campo calculado.

HISTORY manter_entra- Exclui todas as entradas de histórico da tabela, exceto o número de entradas mais
das_histórico recentes especificado por manter_entradas_histórico.
Omita manter_entradas_histórico para excluir todas as entradas.

RELATION <nome_ Exclui qualquer relacionamento que não tenha relacionamentos dependentes e que
tabela_filha | nome_rela- não tenha campos relacionados referenciados na exibição ativa ou no campo cal-
cionamento> culado ativo.
Use as opções para especificar a relação a ser excluída:
o nome_tabela_filha: use quando o relacionamento não foi nomeado explicitamente
(nome padrão quando um relacionamento é criado)
o nome_relacionamento: use quando o relacionamento foi nomeado especificamente
quando foi criado. Caso contrário, use nome_tabela_filha
Se você não usar nenhuma das opções, será excluída o último relacionamento defi-
nido.

nome_arquivo O nome de um arquivo físico a ser excluído.


Também é possível especificar um caminho de arquivo absoluto ou relativo para um
arquivo que deseje excluir. Se o caminho possuir espaços, coloque-o entre aspas.

OK Exclui itens sem apresentar uma caixa de diálogo de confirmação.


opcional

Exemplos
Exclusão de um campo de data
Exclua o campo Data do layout da tabela associado à tabela Ar:

OPEN Ar
DELETE Data

Exclusão de várias colunas de uma exibição


Exclua duas colunas da exibição Relatório_AR associada à tabela AR. Especifique OK para ambos os

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 150 de 966


Comandos

comandos DELETE para que nenhuma solicitação de confirmação seja exibida quando o script for exe-
cutado:

OPEN Ar
DELETE COLUMN Relatório_AR Data OK
DELETE COLUMN Relatório_AR Data_fatura OK

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 151 de 966


Comandos

Comando DIALOG
Cria uma caixa de diálogo personalizada que solicita interativamente um ou mais valores de entrada de
script dos usuários. Cada valor de entrada é armazenado em uma variável nomeada.
Nota
Não é seguro usar o comando DIALOG para inserir senhas. Em vez disso, use
"Comando PASSWORD" Na página 363.
O comando DIALOG não é permitido em análises do Servidor AX.
Você pode criar uma caixa de diálogo interativa básica com o "Comando ACCEPT" Na
página 54.
Dica
A maneira mais fácil de criar caixas de diálogo personalizadas é com o Construtor de diá-
logos . Para obter mais informações, consulte Criar caixas de diálogo personalizadas.

Sintaxe
DIALOG (DIALOG TITLE texto_título WIDTH pixels HEIGHT pixels) (BUTTONSET TITLE
"&OK;&Cancelar" AT pos_x pos_y <WIDTH pixels> <HEIGHT pixels> DEFAULT num_item
<HORZ>) <[sintaxe_rótulo]|[sintaxe_caixa_texto]|[sintaxe_caixa_seleção]|[sintaxe_botão_opção]|
[sintaxe_lista_suspensa]|[sintaxe_lista_itens_projeto]> <...n>

sintaxe_rótulo ::=
(TEXT TITLE texto_título AT pos_x pos_y <WIDTH pixels> <HEIGHT pixels> <CENTER|RIGHT>)

sintaxe_caixa_texto ::=
(EDIT TO nome_var AT pos_x pos_y <WIDTH pixels> <HEIGHT pixels> <DEFAULT cadeia>)

sintaxe_caixa_seleção ::=
(CHECKBOX TITLE texto_título TO nome_var AT pos_x pos_y <WIDTH pixels> <HEIGHT pixels>
<CHECKED>)

sintaxe_botão_opção ::=
(RADIOBUTTON TITLE lista_valores TO nome_var AT pos_x pos_y <WIDTH pixels> <HEIGHT
pixels> <DEFAULT num_item> <HORZ>)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 152 de 966


Comandos

sintaxe_lista_suspensa ::=
(DROPDOWN TITLE lista_valores TO nome_var AT pos_x pos_y <WIDTH pixels> <HEIGHT pixels>
<DEFAULT num_item>)

project_item_list_syntax ::=
(ITEM TITLE categoria_item_projeto TO nome_var AT pos_x pos_y <WIDTH pixels> <HEIGHT
pixels> <DEFAULT cadeia>)

Parâmetros
Parâmetros gerais
Nome Descrição

DIALOG TITLE texto_título Cria a caixa de diálogo principal e o título da caixa de diálogo.
texto_título deve ser especificado como uma cadeia entre aspas.

BUTTONSET TITLE Os rótulos para os botões OK e Cancelar na caixa de diálogo.


"&OK;&Cancelar"
Os valores geralmente não devem ser editados, mas se você editar os valores, cer-
tifique-se de que o valor positivo venha antes do negativo. Por exemplo: "&Sim;&Não"

WIDTH pixels A largura do controle individual ou a largura da caixa de diálogo, se especificada para o
controle DIALOG.
O valor é especificado em pixels. Se nenhum valor for especificado para um controle, a
largura será calculada com base no maior valor contido pelo controle.

HEIGHT pixels A altura do controle individual ou a altura da caixa de diálogo, se especificada para o
controle DIALOG.
O valor é especificado em pixels.

AT pos_x pos_y O local do canto superior esquerdo do controle na caixa de diálogo personalizada:
o pos_x é a distância horizontal em pixels do lado esquerdo da caixa de diálogo
o pos_y é a distância vertical em pixels do lado superior da caixa de diálogo

DEFAULT num_item O valor numérico que corresponde ao valor de BUTTONSET que você deseja selecionar
como padrão.
Por exemplo, se os valores de BUTTONSET forem "&OK;&Cancelar", especifique
DEFAULT 1 para selecionar OK por padrão.

HORZ Exibe horizontalmente os valores para o controle BUTTONSET. Os valores são exibidos
verticalmente por padrão.
opcional

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 153 de 966


Comandos

Nota
Para a maioria dos tipos de controle, o comando DIALOG cria uma variável para arma-
zenar a entrada do usuário. Não é possível usar caracteres que não estejam em inglês,
como "é", em nomes de variáveis que serão usadas na substituição de variáveis. Nomes
de variáveis com caracteres que não sejam em inglês provocam falhas no script.
Por padrão, algumas variáveis de DIALOG são criadas como variáveis de caractere. Se
usar uma variável de caracteres para armazenar valores numéricos ou datahora, você
deverá converter a variável para o tipo de dados necessário no processamento sub-
sequente em um script. Para obter mais informações, consulte "Tipo de dados de
entrada" Na página 158.

Parâmetros de rótulo
Nome Descrição

TEXT Cria um rótulo de texto para identificar, notificar ou instruir.

TITLE texto_título O rótulo de controle.


texto_título deve ser especificado como uma cadeia entre aspas.

CENTER | RIGHT O alinhamento do texto no controle.


opcional Se você omitir CENTER ou RIGHT, será usado por padrão o alinhamento à esquerda.

Parâmetros da caixa de texto


Nome Descrição

EDIT Cria uma caixa de texto para entradas do usuário.

TO nome_var O nome da variável de caracteres que armazena o valor de entrada especificado pelo
usuário.
Se a variável já existir, o controle especificado será atribuído. Se a variável não existir,
será criada e o valor especificado será atribuído.

DEFAULT cadeia A cadeia de texto padrão a ser exibida no controle.


opcional cadeia deve ser especificada como uma cadeia entre aspas.

Parâmetros da caixa de seleção


Nome Descrição

CHECKBOX Cria uma caixa de seleção para apresentar uma opção para o usuário.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 154 de 966


Comandos

Nome Descrição

TITLE texto_título O rótulo de controle.


texto_título deve ser especificado como uma cadeia entre aspas.

TO nome_var O nome da variável lógica que armazena o valor verdadeiro ou falso especificado pelo
usuário.
Se a variável já existir, o controle especificado será atribuído. Se a variável não existir,
será criada e o valor especificado será atribuído.

CHECKED Define o controle como marcado por padrão.


opcional

Parâmetros do botão de opção


Nome Descrição

RADIOBUTTON Cria botões de opção para apresentar opções mutuamente exclusivas ao usuário.

TITLE lista_valores A lista de valores exibida para o controle.


Os valores devem ser especificados como uma cadeia entre aspas. Separa cada valor
com um ponto e vírgula (;).

TO nome_var O nome da variável numérica que armazena a posição numérica do valor do botão de
opção selecionado pelo usuário.
Se a variável já existir, o controle especificado será atribuído. Se a variável não existir,
será criada e o valor especificado será atribuído.

DEFAULT num_item O valor numérico que corresponde ao item da lista que você deseja selecionar como
padrão.
opcional
Por exemplo, se a lista_valores for "Vermelho;Verde;Azul", especifique DEFAULT 2 para
selecionar Verde como padrão quando a lista suspensa for exibida.

HORZ Exibe horizontalmente os valores para o controle. Os valores são exibidos verticalmente
por padrão.
opcional

Parâmetros da lista suspensa


Nome Descrição

DROPDOWN Cria uma lista suspensa para apresentar uma lista de opções ao usuário.

TITLE lista_valores A lista de valores exibida para o controle.


Os valores devem ser especificados como uma cadeia entre aspas. Separa cada valor
com um ponto e vírgula (;).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 155 de 966


Comandos

Nome Descrição

TO nome_var O nome da variável de caracteres que armazena o valor da lista suspensa selecionado
pelo usuário.
Se a variável já existir, o controle especificado será atribuído. Se a variável não existir,
será criada e o valor especificado será atribuído.

DEFAULT num_item O valor numérico que corresponde ao item da lista que você deseja selecionar como
padrão.
opcional
Por exemplo, se a lista_valores for "Vermelho;Verde;Azul", especifique DEFAULT 2 para
selecionar Verde como padrão quando a lista suspensa for exibida.

Parâmetros da lista de itens do projeto


Nome Descrição

ITEM Cria uma lista de itens de projeto para apresentar uma lista de itens de projeto do
Analytics, como campos, ao usuário.

TITLE categoria_item_pro- A categoria do item do projeto a incluir no controle.


jeto
Você pode especificar uma ou mais categorias. O usuário pode selecionar um único
valor na lista de itens de projeto.
Coloque categoria_item_projeto entre aspas, sem espaço ou pontuação entre os tipos
de item.
Para ver os códigos usados para especificar as categorias, consulte "Códigos para
categorias de item de projeto" Na página oposta.
Nota
Não misture categorias diferentes no mesmo controle ITEM, a menos
que tenha uma razão específica para fazê-lo. Por exemplo, não misture
tabelas e campos. A lista de itens do projeto resultante ficará confusa
para o usuário.

TO nome_var O nome da variável de caracteres que armazena o nome do item do projeto sele-
cionado pelo usuário.
Se a variável já existir, o controle especificado será atribuído. Se a variável não existir,
será criada e o valor especificado será atribuído.

DEFAULT cadeia O nome exato do item do projeto que você deseja selecionar como padrão.
opcional cadeia deve ser especificada como uma cadeia entre aspas.

Exemplos
Como solicitar a tabela e o script ao usuário

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 156 de 966


Comandos

Em um script, você precisa solicitar que o usuário selecione a tabela e o script do Analytics a serem usados
na execução de uma análise.
Especifique que a tabela Metaphor_Inventário_2012 do projeto do ACL_Demo.acl é selecionada como
padrão como a tabela do Analytics, mas o usuário pode selecionar qualquer tabela no projeto.
O script a ser executado também deve ser selecionado da lista de scripts no projeto do Analytics:

DIALOG (DIALOG TITLE "Análise de Inventário" WIDTH 500 HEIGHT 200) (BUTTONSET TITLE
"&OK;&Cancelar" AT 370 12 DEFAULT 1 ) (TEXT TITLE "Selecione os itens do projeto do Analytics
para analisar." AT 50 16 ) (TEXT TITLE "Tabela:" AT 50 50 ) (ITEM TITLE "f" TO "v_tabela" AT 50 70
DEFAULT "Metaphor_Inventário_2012" ) (TEXT TITLE "Script:" AT 230 50 ) (ITEM TITLE "b" TO "v_
script" AT 230 70 )

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Interatividade
Use DIALOG para criar um script interativo. Quando o comando DIALOG é processado, o script é pausado
e uma caixa de diálogo é exibida solicitando informações do usuário que o Analytics usa posteriormente no
processamento.
É possível criar caixas de diálogo separadas que solicitam um item de cada vez ou criar uma que solicita
vários itens.

Comparação entre ACCEPT e DIALOG


O comando ACCEPT permite criar uma caixa de diálogo interativa básica, que pode ter um ou mais dos
seguintes tipos de controles:
l caixa de texto
l lista de Itens do projeto
Para uma interatividade básica, ACCEPT pode ser suficiente. Para obter mais informações, consulte
"Comando ACCEPT" Na página 54.

Códigos para categorias de item de projeto


Use os seguintes códigos para especificar a categoria do item do projeto a ser exibido em uma lista de itens
de projeto.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 157 de 966


Comandos

Categorias de projeto

Código Categoria

f Tabelas

bi Scripts

i Índices

r Exibições e relatórios

w Áreas de trabalho

Categorias de campo

Código Categoria

C Campos de caractere

N Campos numéricos

D Campos de datahora

L Campos lógicos

Categorias de variável

Código Categoria

c Variáveis de caractere

n Variáveis numéricas

d Variáveis de datahora

l Variáveis lógicas

Tipo de dados de entrada


Alguns controles do comando DIALOG armazenam as entradas do usuário em variáveis de caractere. Se
você precisar de entradas numéricas ou datahora, poderá usar as funções VALUE( ) ou CTOD( ) para
converter o conteúdo da variável de caracteres em um valor numérico ou datahora:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 158 de 966


Comandos

SET FILTER TO BETWEEN(%v_campo_data%; CTOD(%v_data_inicial%); CTOD(%v_data_final%))

No exemplo, as datas inicial e final desse filtro são armazenadas como valores de caractere. Elas devem
ser convertidas em valores de dada para serem usadas com um campo de data que usa um tipo de dados
Datetime.
Delimitar o nome da variável com símbolos de porcentagem (%) substitui o valor do caractere contido pela
variável pelo nome da variável. A função CTOD( ) converte em seguida o valor do caractere em um valor de
data.

Posição do comando DIALOG


É recomendável colocar todos os comandos DIALOG no início de um script, se possível. Se você solicitar
todas as entradas no início, o script poderá ser executado sem interferências assim que o usuário digitar as
informações necessárias.
Nota
Você não pode usar o comando DIALOG dentro do comando GROUP.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 159 de 966


Comandos

Comando DIRECTORY
Gera uma lista de arquivos e pastas no diretório especificado.

Sintaxe
DIRECTORY < espec_arquivo> <SUPPRESS> <SUBDIRECTORY> <APPEND> <TO nome_
tabela|nome_arquivo>

Parâmetros
Nome Descrição

espec_arquivo A pasta ou arquivos do Windows cujas informações serão exibidas.


opcional Você pode usar o curinga asterisco (*) para listar todos os arquivos com uma deter-
minada extensão, todos os arquivos que começam com uma determinada cadeia ou
todos os arquivos em uma pasta. Por exemplo:
o *.fil – lista todos os arquivos com a extensão .fil (arquivos de dados do Analytics)
o Inv*.* – lista todos os arquivos que começam com "Inv", independentemente da
sua extensão
o Resultados\* ou Resultados\*.* - lista todos os arquivos da pasta Resultados
Para limitar os arquivos listados a uma determinada pasta, é possível especificar um
caminho relativo à pasta do projeto do Analytics ou especificar um caminho completo.
Por exemplo:
o Resultados\*.* – exibe o conteúdo da subpasta Resultados na pasta do projeto
do Analytics
o C:\ACL Data\Resultados\*.* – exibe o conteúdo da pasta especificada
Nota
O caractere curinga não pode ser usado em níveis intermediários de um
caminho de arquivo especificado. Ele somente pode ser usado no nível
final do caminho, como mostrado acima.
Os caminhos ou nomes de arquivo que contêm espaços devem estar
entre aspas.
Se você usar espec_arquivo, ele deve ser posicionado antes de todos os outros parâ-
metros. Se espec_arquivo aparecer em qualquer outra posição, o comando
DIRECTORY não será processado e será gerado um erro.
Se você omitir espec_arquivo, todos os arquivos da pasta que contém o projeto do
Analytics serão listados. Não será possível usar nenhum dos outros parâmetros se
espec_arquivo for omitido.

SUPPRESS Suprime as informações de caminho nos resultados, deixando somente os nomes de


arquivo e propriedades.
opcional

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 160 de 966


Comandos

Nome Descrição

SUBDIRECTORY Inclui o conteúdo das subpastas na listagem de diretórios.


opcional Por exemplo, se espec_arquivo especificar Resultados\*.fil, a pasta Resultados e
todas as subpastas contidas na pasta Resultados serão pesquisadas para encontrar
arquivos .fil.
Dependendo do número de subpastas e arquivos que precisam ser listados, o uso de
SUBDIRECTORY poderá gerar um atraso enquanto as subpastas forem pesquisadas.
O Analytics exibe uma caixa de diálogo que mostra o andamento do comando.

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional Nota
Você deve garantir que a estrutura da saída do comando e o arquivo
existente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua
estrutura. Se a estrutura da saída e do arquivo existente não cor-
responderem, o resultado poderá ser dados misturados, ausentes ou
incorretos.

TO nome_tabela | nome_ A localização para onde enviar os resultados do comando:


arquivo o nome_tabela: salva os resultados em uma tabela do Analytics
opcional
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o pro-
jeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos,
sem contar a extensão .FIL. O nome pode incluir o caractere de subli-
nhado ( _ ) mas nenhum outro caractere especial e nenhum espaço.
O nome não pode começar com um número.
o nome_arquivo: salva os resultados em um arquivo
Especifique nome_arquivo como uma cadeia entre aspas com uma extensão de
arquivo apropriada. Por exemplo: TO "Saída.TXT"
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma
pasta diferente já existente:
l TO "C:\Saída.TXT"
l TO "Resultados\Saída.TXT"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 161 de 966


Comandos

Nome Descrição

Se você omitir TO, a listagem de diretórios será exibida na área de exibição do Analy-
tics.

Exemplos
Opções diferentes para listar arquivos
A capacidade de listar arquivos é útil para investigação ad hoc e para incorporação em scripts.
Veja a seguir várias opções diferentes para listar arquivos com o comando DIRECTORY.

Listar todos os arquivos


Lista todos os arquivos da pasta que contém o projeto do Analytics:

DIRECTORY

Listar todos os arquivos de um tipo especificado


Lista todos os arquivos .fil (arquivos de dados do Analytics) da pasta que contém o projeto do Analytics:

DIRECTORY *.fil

Usar curingas para listar arquivos


Lista todos os nomes de arquivos que começam com "Inv" da pasta que contém o projeto do Analytics:

DIRECTORY Inv*.*

Listar todos os arquivos de uma subpasta relativa à pasta do projeto do


Analytics
Lista todos os arquivos da subpasta Resultados da pasta que contém o projeto do Analytics:

DIRECTORY "Resultados\*"

Listar todos os arquivos em uma pasta especificada


Lista todos os arquivos da subpasta Resultados:

DIRECTORY "C:\ACL Data\Resultados\*"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 162 de 966


Comandos

Listar todos os arquivos de um tipo específico em um local especificado


Lista todos os arquivos .fil (arquivos de dados do Analytics) na pasta especificada e em todas as suas sub-
pastas:

DIRECTORY "C:\ACL Data\Resultados\*.fil" SUBDIRECTORY

Listar todos os arquivos em uma pasta especificada e gerar a lista em uma


tabela do Analytics
Lista todos os arquivos da pasta Resultados e gera a lista em uma tabela do Analytics da pasta que con-
tém o projeto do Analytics:

DIRECTORY "C:\ACL Data\Resultados\*" TO Conteúdo_Pasta_Resultados.fil

A nova tabela Conteúdo_Pasta_Resultados é adicionada ao projeto aberto.

Listar todos os arquivos em uma pasta e gerar a lista em uma tabela do


Analytics em outra pasta
Lista todos os arquivos da pasta ACL Data\Resultados e gera a lista em uma tabela do Analytics da
pasta Auditoria LR 2014\Resultados:

DIRECTORY "C:\ACL Data\Resultados\*" TO "C:\Projetos ACL\Auditoria LR 2014\Re-


sultados\Conteúdo_Pasta_Resultados.fil"

A nova tabela Conteúdo_Pasta_Resultados é adicionada ao projeto aberto. O arquivo de dados asso-


ciado (Conteúdo_Pasta_Resultados.fil) é criado na pasta de saída especificada, que pode ou não
ser a pasta que contém o projeto do Analytics.

Observações
Propriedades exibidas por DIRECTORY
O comando DIRECTORY é semelhante ao comando DIR no Windows. Além de listar arquivos e subpastas
de uma pasta, o comando DIRECTORY também exibe as seguintes propriedades de arquivo e pasta:

o Tamanho do arquivo o Data de criação o Data de acesso o Data de alteração


o Atributos o Hora de criação o Hora de acesso o Hora de alteração
o o número total de arqui-
vos e pastas que cor-
respondem aos critérios
especificados

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 163 de 966


Comandos

Usos de DIRECTORY em um script


Quando usado em um script, o comando DIRECTORY oferece o recurso de examinar o sistema de arqui-
vos. Por exemplo, você pode usar DIRECTORY juntamente com outros comandos para detectar a pre-
sença ou ausência de arquivos, verificar o tamanho de um arquivo ou tomar decisões com base em
outras propriedades de arquivo.

Saída dos resultados de DIRECTORY


Você pode executar o comando da linha de comando para exibir uma listagem de diretório na tela ou sal-
var a listagem em uma tabela ou arquivo .txt do Analytics.

Como abrir os resultados baseados em tabela de


DIRECTORY
O comando DIRECTORY não inclui o parâmetro OPEN. Se você usa o comando em um script que gera
os resultados em uma tabela do Analytics e deseja abrir a tabela resultante, acrescente o comando
OPEN após o comando DIRECTORY. Por exemplo:

DIRECTORY "C:\ACL Data\Resultados\*" TO Conteúdo_Pasta_Resultados.fil


OPEN Conteúdo_Pasta_Resultados

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 164 de 966


Comandos

Comando DISPLAY
Exibe informações sobre o tipo de item do Analytics especificado. Também pode exibir o resultado de uma
expressão ou a saída de uma função.

Sintaxe e parâmetros
Sintaxe Propósito

Exibe as definições do campo e as tabelas filhas relacionadas da tabela


DISPLAY do Analytics ativa no momento.

Exibe uma lista de tabelas e arquivos de projeto abetos do Analytics.


DISPLAY OPEN
o Para tabelas do Analytics:, exibe o nome do arquivo de dados de ori-
gem e não o nome do layout da tabela.
o Para o modo de várias tabelas:, o arquivo de dados de origem iden-
tificado como PRIMARY é associado à tabela ativa no momento.
o Para tabelas relacionadas:, se a tabela pai estiver aberta, será exi-
bido o arquivo de dados de origem das tabelas pai e filha, mesmo se
a tabela filha não estiver aberta na guia Exibição.

Exibe as informações do nome e layout da tabela da tabela primária ou


DISPLAY {<PRIMARY>|SECONDARY} secundária.
o PRIMARY (ou nenhuma palavra-chave especificada): exibe infor-
mações sobre a tabela ativa atual.
o SECONDARY: exibe informações sobre a tabela secundária.
No modo de múltiplas tabelas, SECONDARY é a tabela secundária
associada com a tabela ativa no momento.
As informações exibidas incluem:
o o nome do layout da tabela
o o nome do arquivo de dados de origem
o todos os relacionamentos entre a tabela e outras tabelas
o as informações de definição de campo do layout da tabela

Exibe o histórico da tabela do Analytics ativa no momento.


DISPLAY HISTORY
Nota
Uma tabela pode ou não ter um histórico da tabela asso-
ciado.

Exibe as informações de relacionamento da tabela do Analytics ativa no


DISPLAY RELATION momento:
o nomes de todas as tabelas filhas
o nomes dos campos-chave
o nomes dos índices

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 165 de 966


Comandos

Sintaxe Propósito

Exibe o valor de uma única variável ou de todas as variáveis.


DISPLAY {nome_da_
variável|VARIABLES} o nome_variável: o nome de uma única variável cujo valor será exi-
bido.
o VARIABLES: exibe os valores de todas as variáveis do sistema e defi-
nidas pelo usuário, e a memória restante disponível para armazenar
variáveis.

Exibe informações sobre a versão instalada do Analytics, no seguinte for-


DISPLAY VERSION mato:
o Versão: número da versão principal.número da versão secundária
o Patch: número do patch
o Tipo: edições do Analytics: 000 (não Unicode) ou 001 (Unicode)
o Compilação: número da compilação do software

Exibe a data e hora atuais do sistema operacional.


DISPLAY {DATE|TIME}
DATE | TIME: especifique uma das duas palavras-chave. As duas pala-
vras-chave têm o mesmo efeito.

Exibe a quantidade de memória física (RAM) disponível para uso pelo


DISPLAY {FREE|SPACE} Analytics.
A quantidade exibida não inclui a memória reservada para variáveis.
Como padrão, o Analytics reserva 60 KB de memória física para arma-
zenar variáveis, mas o valor é aumentado automaticamente conforme
necessário.
FREE | SPACE: especifique uma das duas palavras-chave. As duas pala-
vras-chave têm o mesmo efeito.

Exibe o resultado de uma expressão.


DISPLAY expressão
expressão: a expressão cujo resultado será exibido.

Exibe a saída de uma função.


DISPLAY função
função: a função cujo resultado será exibido.

Exemplos
Exibir o layout da tabela de uma tabela do Analytics
A exibição do layout de uma tabela pode ser útil em diversas situações. Por exemplo, pode ser necessário
combinar duas ou mais tabelas e examinar os comprimentos e os tipos de dados dos campos.
O exemplo abaixo exibe o layout da tabela Trans_Cp:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 166 de 966


Comandos

OPEN Trans_Cp
DISPLAY

O comando DISPLAY gera a saída na tela mostrada abaixo.


Nota
Ser você inserir DISPLAY diretamente na linha de comando do Analytics, a saída será exi-
bida imediatamente.
Se você executar DISPLAY em um script, clique duas vezes na entrada de DISPLAY cor-
respondente no log de comandos para exibir a saída.

Exibe na tela
Relação
"Fornecedor" relacionado por "Num_Fornecedor" usando o índice "Fornecedor_por_Num_Fornecedor"
Arquivo
"Trans_Cp.fil" (formato "Trans_Cp") é o arquivo PRIMARY.
O comprimento do registro é 59
Campos

Nome Tipo Iniciar Comprimento Decimais Explicação do campo

Num_For- ASCII 1 5 AS "Fornecedor;Número" WIDTH 7


necedor

Num_Fatura ASCII 6 15 AS "Fatura;Número"

Data_Fatura DATETIME 21 8 PICTURE "MM/DD/AA" AS "Fatura;Data"


WIDTH 8

Valor_Fatura NUMERIC 29 12 2 PICTURE "(9.999.999,99)" AS "Fatura;Valor"


WIDTH 12

NumProd ASCII 41 9 AS "Produto;Número"

Quantidade MICRO 50 4 0 PICTURE "(9.999.999)"

Custo_Uni- NUMERIC 54 6 2 PICTURE "(9.999.999)" AS "Unidade;Custo"


dade SUPPRESS

Exibir os valores atuais de todas as variáveis em um projeto do Analytics


DISPLAY VARIABLES gera as mesmas informações exibidas na guia Variáveis no Navegador. Um bene-
fício do uso de DISPLAY VARIABLES é que você pode copiar e colar as informações exibidas.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 167 de 966


Comandos

O exemplo abaixo cria duas variáveis definidas pelo usuário e duas variáveis do sistema, e exibe os valo-
res dessas variáveis:

ASSIGN v_nome_tabela = "Trans_Cp"


ASSIGN v_nome_campo = "Valor_Fatura"
OPEN %v_nome_tabela%
TOTAL FIELDS %v_nome_campo%
DISPLAY VARIABLES

O comando DISPLAY gera a saída na tela mostrada abaixo.


Nota
Ser você inserir DISPLAY VARIABLES diretamente na linha de comando do Analytics, a
saída será exibida imediatamente.
Se você executar DISPLAY VARIABLES em um script, clique duas vezes na entrada de
DISPLAY VARIABLES correspondente no log de comandos para exibir a saída.

Exibe na tela

Nome Tipo Valor

TOTAL1 N 278,641.33

OUTPUTFOLDER C "/Tabelas/Contas_a_Pagar"

v_nome_campo C "Valor_Fatura"

v_nome_tabela C "Trans_Cp"

Exibir o resultado de uma expressão


Para o registro selecionado, o exemplo abaixo exibe o resultado da multiplicação do valor no campo
Preço_de_Venda pelo valor do campo Quantidade_Disponível:

DISPLAY Preço_de_Venda * Quantidade_Disponível

Exibir a saída de uma função


Para o registro selecionado, o exemplo abaixo exibe o número de dias decorridos desde a data no campo
Data_Fatura:

DISPLAY AGE(Data_Fatura)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 168 de 966


Comandos

Observações
Localização dos resultados dos comandos
DISPLAY executado na linha de comando do Analytics: os resultados são exibidos na tela.
DISPLAY executado em um script: os resultados são gravados no log de comandos do Analytics. Você
pode clicar duas vezes na entrada do log de comandos para exibir os resultados na tela.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 169 de 966


Comandos

Comando DO REPORT
Gera o relatório do Analytics especificado.

Sintaxe
DO REPORT nome_do_relatório

Parâmetros
Nome Descrição

nome_do_relatório O nome da exibição a ser criada e impressa como relatório.

Exemplo
Impressão da exibição padrão
Abra a tabela Trans_Cp e imprima a exibição padrão:

OPEN Trans_CP
DO REPORT Exibição_Padrão

Observações
Comparação da execução de DO REPORT na linha de
comando e em um script
As configurações usadas para imprimir o relatório dependem do local da execução do comando:
l na linha de comando: a caixa de diálogo Imprimir será exibida para que você selecione as pági-
nas a imprimir e configure outras opções do relatório
l em um script: o relatório será impresso imediatamente usando as configurações padrão do rela-
tório

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 170 de 966


Comandos

Comando DO SCRIPT
Executa um script secundário ou externo de dentro de um script do Analytics.

Sintaxe
DO <SCRIPT> nome_do_script {<IF teste|<WHILE teste>}

Parâmetros
Nome Descrição

SCRIPT nome_do_script O nome do script a ser executado. Você pode executar scripts secundários no projeto do
Analytics ou em scripts externos armazenados em arquivos de texto com extensões
como .aclscript, .txt. ou .bat.
Você pode especificar um caminho de arquivo para um script externo. O caminho deverá
estar entre aspas se tiver espaços.
Nota
Não é possível chamar um script que já está sendo executado. Por exem-
plo, se o ScriptA chamar o ScriptB, o ScriptB não pode chamar o ScriptA.
O ScriptA ainda está sendo executado enquanto espera pelo ScriptB ser
concluído.

IF teste Uma expressão condicional que é avaliada apenas uma vez para determinar se o script
deve ser executado. Se a condição for avaliada como verdadeira, o script será exe-
opcional
cutado, caso contrário, ele não será.
Não pode ser usada com WHILE no mesmo comando. Se ambos forem usados, WHILE
será ignorado quando o script for processado. Um comentário é inserido no log, mas o
script não é interrompido.

WHILE teste Uma expressão condicional que é avaliada após a execução do script para determinar
se o script deve ser executado novamente. Se o teste for avaliado como verdadeiro, o
opcional
script será executado novamente, caso contrário, ele não será.
Nota
Se usar WHILE, verifique se o teste é avaliado como false em algum
momento. Caso contrário, o script entrará em um loop infinito. Em caso de
loop infinito, pressione a tecla Esc para cancelar o processamento do
script.
Não pode ser usado com IF no mesmo comando. Se ambos forem usados, WHILE será
ignorado quando o script for processado. Um comentário é inserido no log, mas o script
não é interrompido.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 171 de 966


Comandos

Exemplos
Execução repetida de um subscript até que a entrada seja validada
Você tem um subscript que coleta entradas do usuário usando uma caixa de diálogo. O script faz o segu-
inte:
1. Solicita os valores necessários ao cliente.
2. Verifica a entrada do usuário.
3. Define a variável v_validado como verdadeira quando os valores de entrada do usuário são vali-
dados.
Para garantir que o usuário insira uma entrada válida, use DO SCRIPT e inclua uma condição WHILE
para que o script repita esse comando até a validação da entrada. Uma vez que o valor da variável for alte-
rado, o script principal passará ao comando seguinte:

DO SCRIPT ObterEntradaUsuário WHILE v_validado = F

Execução de um subscript de um local compartilhado


Você mantém subscripts utilitários em um local compartilhado. Quando precisar de um deles durante uma
análise, faça referência ao subscript usando o caminho completo para o local compartilhado:

DO SCRIPT "C:\Meus scripts utilitários\ObterEntradaUsuário.aclscript" WHILE v_validado = F

Observações
Comandos relacionados
DO SCRIPT equivale ao comando DO BATCH encontrado em scripts criados com versões anteriores do
Analytics.
Você não pode usar o comando DO SCRIPT dentro de um comando GROUP.

Utilidade de um script externo


O armazenamento externo de um script e sua execução de um script do Analytics será útil se você quiser
reutilizar o mesmo subscript em scripts e projetos do Analytics diferentes.
É possível armazenar uma única cópia do script em um local e atualizá-lo nesse local em vez de mantê-lo
em diversos locais.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 172 de 966


Comandos

Comando DUMP
Exibe o conteúdo de um arquivo ou do registro atual em codificações de caracteres hexadecimais, ASCII e
EBCDIC.
Nota
Esse comando só pode ser digitado na linha de comando. Não pode ser usado em scripts.

Sintaxe
DUMP {RECORD|nome_arquivo} <SKIP bytes> <COLUMN bytes> <HORIZONTAL>

Parâmetros
Nome Descrição

RECORD Exibe o conteúdo do registro selecionado.


Necessário se você não especificar um nome_arquivo.

nome_arquivo O nome do arquivo que você quer exibir.


Necessário se você não especificar RECORD.
Nota
Para exibir as codificações de caracteres de uma tabela do Analytics, é
necessário especificar o nome do arquivo de dados de origem e a exten-
são do arquivo. Por exemplo: Trans_Cp.fil

SKIP bytes O número de bytes a ignorar antes de iniciar a descarga. O padrão é 0.


opcional

COLUMN bytes Na saída, a largura das colunas em bytes.


opcional Nota
O número especificado por bytes é o número de bytes contidos no regis-
tro ou na tabela do Analytics.
Os caracteres codificados na saída podem não ter uma relação de um
para um com os caracteres na exibição. Por exemplo, a codificação hexa-
decimal do número 1 é 31.
O padrão é 16 bytes para cada coluna em uma exibição vertical e 64 bytes para a única
coluna em uma exibição horizontal. O número máximo de bytes que pode ser espe-
cificado é 255.

HORIZONTAL Exibe as codificações de caracteres em linhas horizontais em vez de em blocos verticais

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 173 de 966


Comandos

Nome Descrição

opcional lado a lado (o padrão).

Exemplos
Exibir a codificação de caracteres da tabela Estoque
O exemplo abaixo exibe a codificação hexadecimal, ASCII e EBCDIC dos dados da tabela Estoque. A
saída é organizada em linhas horizontais (a codificação hexadecimal usa uma linha dupla). Cada linha
representa 97 bytes de dados na tabela do Analytics:

DUMP Inventário.fil COLUMN 97 HORIZONTAL

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 174 de 966


Comandos

Comando DUPLICATES
Detecta quando valores duplicados ou registros inteiros duplicados existem em uma tabela do Analytics.

Sintaxe
DUPLICATES <ON> {campo_chave <D> <...n>|ALL} <OTHER campo <...n>|OTHER ALL>
<UNFORMATTED> <TO {SCREEN|nome_tabela|nome_arquivo|PRINT}> <APPEND> <IF teste>
<WHILE teste> <FIRST intervalo|NEXT intervalo> <HEADER texto_cabeçalho> <FOOTER texto_
rodapé> <PRESORT> <OPEN> <LOCAL> <ISOLOCALE código_local>

Parâmetros
Nome Descrição

ON campo_chave D <...n> O campo ou campos-chave, ou a expressão, onde será verificada a existência de dupli-
| ALL cidades.
o campo_chave: use o campo ou os campos especificados
Se você testar em mais de um campo, os registros identificados como duplicidades
exigem valores idênticos em todos os campos especificados.
Inclua D para ordenar o campo-chave em ordem decrescente. A ordem de clas-
sificação-padrão é crescente.
o ALL: use todos os campos na tabela
Se você testar em todos os campos de uma tabela, os registros identificados como
duplicidades devem ser inteiramente idênticos.
Uma ordem de classificação crescente é a única opção para ALL.
Nota
As partes indefinidas dos registros não são testadas.

OTHER campo <...n> | Um ou mais campos adicionais a serem incluídos na saída.


OTHER ALL o campo <...n>: inclua o campo ou os campos especificados
opcional o ALL: inclua todos os campos da tabela que não são especificados como campos-
chave

UNFORMATTED Suprime os cabeçalhos e as quebras de página quando os resultados são enviados a


um arquivo.
opcional

TO SCREEN | nome_ A localização para onde enviar os resultados do comando:


tabela | nome_arquivo | o SCREEN: exibe os resultados na área de exibição do Analytics
PRINT o nome_tabela: salva os resultados em uma tabela do Analytics

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 175 de 966


Comandos

Nome Descrição

opcional Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o projeto
do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos, sem
contar a extensão .FIL. O nome pode incluir o caractere de sublinhado
( _ ) mas nenhum outro caractere especial e nenhum espaço. O nome
não pode começar com um número.
o nome_arquivo: salva os resultados em um arquivo
Especifique nome_arquivo como uma cadeia entre aspas com uma extensão de
arquivo apropriada. Por exemplo: TO "Saída.TXT"
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma pasta
diferente já existente:
l TO "C:\Saída.TXT"
l TO "Resultados\Saída.TXT"
o PRINT: envia os resultados para a impressora padrão

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional Nota
Você deve garantir que a estrutura da saída do comando e o arquivo exis-
tente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua estru-
tura. Se a estrutura da saída e do arquivo existente não corresponderem,
o resultado poderá ser dados misturados, ausentes ou incorretos.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes em
uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 176 de 966


Comandos

Nome Descrição

Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número de
opcional registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até alcan-
çar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

HEADER texto_cabeçalho O texto a ser inserido na parte superior de cada página de um relatório.
opcional texto_cabeçalho deve ser especificado como uma cadeia entre aspas. O valor substitui a
variável de sistema HEADER do Analytics.

FOOTER texto_rodapé O texto a ser inserido na parte inferior de cada página de um relatório.
opcional texto_rodapé deve ser especificado como uma cadeia entre aspas. O valor substitui a
variável de sistema FOOTER do Analytics.

PRESORT Ordena a tabela pelo campo-chave antes de executar o comando.


opcional Nota
Você não pode usar PRESORT dentro do comando GROUP.

OPEN Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o
comando criar uma tabela de saída.
opcional

LOCAL Salva o arquivo de saída no mesmo local que o projeto do Analytics.


opcional Nota
Aplicável apenas na execução de um comando em uma tabela de ser-
vidor com um campo de saída que é uma tabela do Analytics.

ISOLOCALE código_local Nota


opcional Aplicável apenas à edição Unicode do Analytics.
A localidade do sistema no formato idioma_ país. Por exemplo, para usar francês cana-
dense, insira fr_ca.
Use os códigos a seguir:
o idioma: código de idioma padrão ISO 639
o país: código de país padrão ISO 3166
Se você não especificar um código de país, será usado o país padrão do idioma.
Se você não usar ISOLOCALE, a localidade do sistema padrão será usada.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 177 de 966


Comandos

Variáveis de saída do Analytics


Nome Contém

GAPDUPn O número total de grupos de falhas, duplicidades ou duplicidades parciais identificados


pelo comando.

Exemplos
Testar se há valores duplicados em um campo
O exemplo a seguir:
l testa se há valores duplicados no campo Número_Fatura
l exibe qualquer registro que contenha números de faturas duplicados em uma nova tabela do Analy-
tics

DUPLICATES ON Número_Fatura OTHER Número_Fornecedor Data_Fatura Valor_Fatura


PRESORT TO "Duplicate_Invoices.FIL"

Testar se há valores duplicados em dois ou mais campos em combinação


O exemplo a seguir:
l testa se há combinações de valores duplicadas nos campos Número_Fatura e Número_For-
necedor
l exibe qualquer registro que contenha o mesmo número de fatura e o mesmo número de for-
necedor em uma nova tabela do Analytics
A diferença entre esse teste e o teste anterior é que um número de fatura idêntico de dois fornecedores
diferentes não é reportado como um falso positivo.

DUPLICATES ON Número_Fatura Número_Fornecedor OTHER Data_Fatura Valor_Fatura


PRESORT TO "Duplicate_Invoices.FIL"

Testar se há registros duplicados


Os exemplos a seguir:
l testam se há valores duplicados em todos os campos de uma tabela Inventário
l gravam todos os registros inteiramente idênticos em uma nova tabela do Analytics

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 178 de 966


Comandos

DUPLICATES ON NumProd ClassProd Local DescProd StatusProd CustoUnidade DataCusto Pre-


çoVenda DataPreço PRESORT TO "Itens_inventário_duplicados.FIL"

Você pode simplificar a sintaxe usando ALL:

DUPLICATES ON ALL PRESORT TO "Itens_inventário_duplicados.FIL"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 179 de 966


Comandos

Comando ESCAPE
Encerra o script ou todos os scripts sendo processados, sem sair do Analytics.

Sintaxe
ESCAPE <ALL> <IF teste>

Parâmetros
Nome Descrição

ALL Encerra todos os scripts ativos. Se omitido, o script atual é encerrado.


opcional

IF teste Um teste que deve ser avaliado com verdadeiro antes que o comando seja executado.
Se o teste for avaliado como falso, o comando não será executado.
opcional

Exemplos
Encerramento condicional de um script
Conte o número de registros em uma tabela e use o comando ESCAPE para encerrar o script se o
número de registros for inferior a 100:

COUNT
ESCAPE IF COUNT1 < 100

Observações
Quando usar ESCAPE
Use ESCAPE para interromper a execução de um script ou subscript de acordo com uma condição, ou
parar a execução de todos os scripts em execução.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 180 de 966


Comandos

Uso de ESCAPE em subscripts


Se você executar ESCAPE dentro de um subscript, o subscript interromperá a execução e o script principal
retomará o processamento no comando DO SCRIPT que invocou o subscript.
Se você incluir a opção ALL no comando ESCAPE no subscript, o subscript e o script principal inter-
romperão o processamento:

ESCAPE ALL

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 181 de 966


Comandos

Comando EVALUATE
Para a amostragem por registro ou a amostragem por unidades monetárias, projeta os erros encontrados
em dados amostrados para toda a população e calcula os limites superiores de taxa de desvio ou o valor
da afirmação incorreta.
Amostragem por registro Amostragem por unidades monetárias

Sintaxe
EVALUATE RECORD CONFIDENCE nível_de_confiabilidade SIZE tamanho_da_amostra
ERRORLIMIT número_de_erros <TO {SCREEN|nome_arquivo}>

Parâmetros
Nota
Não inclua separadores de milhares ou símbolos de porcentagem ao especificar valores.

Nome Descrição

RECORD Avalia erros encontrados em uma amostragem por registro.

CONFIDENCE nível_de_ O mesmo nível de confiabilidade especificado no cálculo do tamanho da amostra.


confiabilidade

SIZE tamanho_da_amos- O número de registros da amostra.


tra
Nota
Especifique o tamanho real da amostra obtida, que pode ser diferente
do tamanho da amostra calculado inicialmente pelo Analytics.

ERRORLIMIT número_ O número total de erros ou desvios encontrados na amostra.


de_erros

TO SCREEN | nome_ A localização para onde enviar os resultados do comando:


arquivo o SCREEN: exibe os resultados na área de exibição do Analytics
o nome_arquivo: salva os resultados em um arquivo
Especifique nome_arquivo como uma cadeia entre aspas com uma extensão de
arquivo apropriada. Por exemplo: TO "Saída.TXT"
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma
pasta diferente já existente:
l TO "C:\Saída.TXT"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 182 de 966


Comandos

Nome Descrição

l TO "Resultados\Saída.TXT"

Variáveis de saída do Analytics


Nome Contém

MLEn A taxa de frequência de limite de erro superior (taxa de desvio superior calculada) cal-
culada pelo comando.

Exemplos
Projetar erros encontrados na amostra de dados para toda a população de
registros
Você concluiu os testes dos dados amostrados e registrou os desvios de controle encontrados. Agora,
você pode projetar os erros encontrados para toda a população.
O exemplo abaixo projeta dois erros encontrados nos dados amostrados para toda a população e calcula
uma taxa de frequência de limite de erro superior (taxa de desvio superior calculada) de 6,63%.

EVALUATE RECORD CONFIDENCE 95 SIZE 95 ERRORLIMIT 2 TO SCREEN

Para obter uma explicação detalhada dos valores calculados pelo Analytics ao avaliar erros, consulte Ava-
liar erros em uma amostragem por registro.

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Sintaxe
EVALUATE MONETARY CONFIDENCE nível_de_confiabilidade <ERRORLIMIT valor_contábil,
valor_afirmação_incorreta <;...n>> INTERVAL valor_intervalo <TO {SCREEN|nome_arquivo}>

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 183 de 966


Comandos

Parâmetros
Nota
Não inclua separadores de milhares ou símbolos de porcentagem ao especificar valores.

Nome Descrição

MONETARY Avalie erros encontrados em uma amostragem por unidades monetárias.

CONFIDENCE nível_de_ O mesmo nível de confiabilidade especificado no cálculo do tamanho da amostra.


confiabilidade

ERRORLIMIT valor_con- Todos os erros de afirmação incorreta encontrados na amostra.


tábil,valor_afirmação_
Especifique o valor contábil para o valor e o valor da afirmação incorreta, separados
incorreta
por uma vírgula. Por exemplo, se um valor tiver o valor contábil de US$ 1.000 e o valor
auditado de US$ 930, especifique 1000,70.
Especifique afirmações exageradas como valores positivos e afirmações insuficientes
como valores negativos. Por exemplo, se um valor tiver um valor contábil de US$ 1.250
e um valor auditado de US$ 1.450, especifique 1250,-200.
Separe vários pares de valor_contábil e valor_afirmação_incorreta com uma vírgula:

1000,70,1250,-200

INTERVAL valor_intervalo O valor do intervalo usado na obtenção da amostra.


Nota
O valor do intervalo usado pode ser diferente do valor do intervalo cal-
culado inicialmente pelo Analytics.

TO SCREEN | nome_ A localização para onde enviar os resultados do comando:


arquivo o SCREEN: exibe os resultados na área de exibição do Analytics
o nome_arquivo: salva os resultados em um arquivo
Especifique nome_arquivo como uma cadeia entre aspas com uma extensão de
arquivo apropriada. Por exemplo: TO "Saída.TXT"
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma
pasta diferente já existente:
l TO "C:\Saída.TXT"
l TO "Resultados\Saída.TXT"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 184 de 966


Comandos

Variáveis de saída do Analytics


Nome Contém

MLEn O valor do erro mais provável (afirmação incorreta projetada) calculado pelo comando.

UELn O valor limite de erro superior (limite de afirmação incorreta superior) calculado pelo
comando.

Exemplos
Projetar erros encontrados na amostra de dados para toda a população de
registros
Você concluiu os testes dos dados amostrados e registrou as afirmações incorretas encontradas. Agora,
você pode projetar os erros encontrados para toda a população.
O exemplo abaixo projeta três erros encontrados nos dados amostrados para toda a população e calcula
vários valores, incluindo:
l Precisão básica: quota básica para risco de amostragem (18.850,00)
l Erro mais provável: o valor da afirmação incorreta projetada para a população (1.201,69)
l Limite de erro superior: o limite de erro superior para a população (22.624,32)

EVALUATE MONETARY CONFIDENCE 95 ERRORLIMIT 1000;70;1250;-200;3200;900 INTERVAL


6283,33 TO SCREEN

Para obter uma explicação detalhada dos valores calculados pelo Analytics ao avaliar erros, consulte Ava-
liar erros em uma amostragem por unidades monetárias.

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 185 de 966


Comandos

Comando EXECUTE
Executa um aplicativo ou processo externo ao Analytics. Emula o comando Run do Windows. Pode ser
usado para interagir com o prompt de comando do Windows.
Nota
Como o comando EXECUTE oferece a capacidade de interagir com o sistema ope-
racional e os aplicativos externos ao Analytics, podem surgir problemas técnicos além do
escopo da funcionalidade nativa do Analytics.
O Suporte pode auxiliar na operação do comando EXECUTE dentro do Analytics, mas os
problemas que ocorrem com os processos e aplicativos externos ao Analytics não são
cobertos pelo Suporte.

Sintaxe
EXECUTE sintaxe_comando_Run_Windows <ASYNC>

Parâmetros
Nome Descrição

sintaxe_comando_Run_ O nome do aplicativo a ser executado, a pasta ou arquivo a ser aberto ou o comando a
Windows ser executado, seguido por todos os argumentos ou chaves de comando necessários.
Exige uma sintaxe válida de comando Run do Windows entre aspas.

ASYNC Executa os comandos em modo assíncrono.


opcional No modo assíncrono, o script do Analytics continua a execução sem aguardar a con-
clusão do processo iniciado pelo comando EXECUTE.
Se você omitir ASYNC, o processo iniciado pelo comando EXECUTE deverá concluir
antes que o script do Analytics continue. O Analytics fica inacessível durante a exe-
cução de processos externos.
Nota
Para executar EXECUTE na linha de comando do Analytics, você deve
especificar ASYNC.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 186 de 966


Comandos

Variáveis de saída do Analytics


Nome Contém

RETURN_CODE O código retornado por um aplicativo ou processo externo executado com o comando
EXECUTE.

O que são códigos de retorno?


Os códigos de retorno são números gerados pelo aplicativo ou processo externo e devol-
vidos ao Analytics para indicar o resultado do processo externo. O Analytics não gera o
código de retorno, apenas o recebe.

Códigos de retorno comuns


Códigos de retorno típicos são valores em números inteiros que mapeiam notificações
específicas ou mensagens de erro. Por exemplo, o código de retorno "0" pode significar
"A operação foi concluída com êxito". O código de retorno "2" pode significar "O arquivo
especificado não foi encontrado pelo sistema".

O significado de códigos de retorno específicos


Os códigos de retorno específicos e seus significados podem variar de acordo com o apli-
cativo ou processo externo. Listas de códigos de retorno, também chamados de 'códigos
de erro' ou 'códigos de saída', e de seus significados, podem frequentemente ser encon-
tradas na documentação do aplicativo externo em questão. Listas de códigos de retorno
também podem ser encontradas na Internet.

Variável criada apenas no modo padrão


A variável RETURN_CODE é criada quando o comando EXECUTE é usado no modo
padrão. A variável não é criada quando o comando é executado em modo assíncrono.

Exemplos
Abrir um aplicativo
Abre o Microsoft Excel:

EXECUTE "Excel"

Abre o Adobe Acrobat Reader:

EXECUTE "AcroRd32.exe"

Fechar um aplicativo
Fecha o Microsoft Excel:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 187 de 966


Comandos

EXECUTE "TASKKILL /f /im Excel.exe"

Nota
Use a chave /f com cuidado. Ela força o fechamento de um aplicativo sem apresentar
nenhuma caixa de diálogo, como as exibidas para salvar alterações.

Abrir um arquivo
Abre a pasta de trabalho do Excel Trans_CP.xlsx:

EXECUTE '"C:\Projetos ACL\Dados origem\Trans_CP.xlsx"'

Criar uma nova pasta


Cria uma nova pasta denominada Dados origem:

EXECUTE 'cmd /c MD "C:\Projetos ACL\Dados origem"'

Executar scripts externos ou arquivos em lotes não Analytics (.bat)


Executa o script Meu_lote.bat:

EXECUTE '"C:\Projetos ACL\Arquivos de lote\Meu_lote.bat"'

Passar parâmetros para um arquivo em lotes não Analytics


Passa dois parâmetros para Meu_lote.bat. Os parâmetros podem ser literais ou variáveis do Analy-
tics:

EXECUTE '"C:\Projetos ACL\Arquivos de lote\Meu_lote.bat" param1%v_param2%'

Executar scripts do Analytics em outros projetos do Analytics


Executa "Script_Trans_CP" em Testes Trans CP.acl"

EXECUTE 'aclwin.exe "C:\Projetos ACL\Testes trans CP.acl" /b Script_trans_CP'

Nota
A execução de um script do Analytics em outro projeto inicia uma segunda instância do
Analytics. O script no segundo projeto deve terminar com o comando QUIT para que a
segunda instância do ACL feche e o controle seja devolvido à instância inicial do Analy-
tics.

Incorporar um período de espera em um script do Analytics

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 188 de 966


Comandos

Os dois exemplos criam um período de espera de 30 segundos:

EXECUTE "TIMEOUT /t 30"

EXECUTE "cmd /c PING -n 31 127.0.0.1 > nul"

Observações
Use EXECUTE para executar tarefas úteis
O comando EXECUTE permite a execução de comandos do Windows e do DOS a partir da linha de
comando do Analytics ou de um script do Analytics.
Você pode usar esse recurso para incrementar a automação dos scripts do Analytics executando várias
tarefas úteis que não são possíveis usando apenas a sintaxe do ACLScript.

Exemplos de tarefas que podem ser iniciadas usando EXECUTE

Abrir outros programas e Passar parâmetros para Acessar dados de locais Incorporar listas de contas
aplicativos e executar as um arquivo em lotes de rede do Active Directory
tarefas exigidas pelo script
do Analytics

Abrir qualquer arquivo no Executar scripts do Analy- Usar o FTP para cessar Integrar-se com VBScript
seu aplicativo padrão tics em outros projetos do dados de locais remotos
Analytics

Executar tarefas admi- Incorporar períodos de Compactar ou des- Integrar-se com bancos de
nistrativas de arquivos e espera em scripts do Analy- compactar dados dados SQL
pastas como cópia, movi- tics
mentação, criação, exclu-
são ou comparação de
arquivos ou pastas exis-
tentes fora do Analytics

Executar scripts externos Incorporar o agendamento Criptografar ou des- Abrir páginas da web
ou arquivos em lotes não de tarefas do Windows em criptografar dados
Analytics (.bat) scripts do Analytics

Nota
Detalhes específicos sobre como executar qualquer dessas tarefas estão além do escopo da docu-
mentação de ajuda da Galvanize. Para obter auxílio, consulte a documentação adequada do sis-
tema operacional Windows ou outra documentação de terceiros.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 189 de 966


Comandos

Modo padrão e assíncrono


Você pode executar o comando EXECUTE em modo padrão ou assíncrono:
l Modo padrão: o processo iniciado por EXECUTE deve ser concluído antes que o script do Analy-
tics possa continuar.
O Analytics fica inacessível durante a execução de processos externos.
l Modo assíncrono: o script do Analytics continua a execução sem aguardar a conclusão do pro-
cesso iniciado pelo comando EXECUTE.
O Analytics continua acessível durante a execução de processos externos.
Se você especificar ASYNC, o comando EXECUTE executa em modo assíncrono.

Qual modo devo usar?


Quando você cria scripts do Analytics que usam o comando EXECUTE, precisa considerar qual é o modo
de operação adequado.

Usar modo padrão Usar modo assíncrono/ASYNC

o tarefas administrativas de arquivos e pastas o tarefas externas exibem uma caixa de diálogo de inter-
o especificação de períodos de espera face de aplicativo ou pop-up
o qualquer tarefa da qual tarefas subsequentes depen-
dem
o execução de scripts subsequentes depende do resul-
tado na variável RETURN_CODE

Scripts do Analytics com execução autônoma


Se você quiser que um Script do Analytics que contém o comando EXECUTE executem de forma autô-
noma, use um dos seguintes métodos:
l use o modo assíncrono para todas as tarefas que exibem uma caixa de diálogo de interface de apli-
cativo ou pop-up
l evite abrir elementos de interface em scripts autônomos
Nota
Até serem fechados, os elementos de interface representam processos em execução. Se
esses elementos de interface forem abertos com EXECUTE no modo padrão, impedirão
a execução das linhas subsequentes de um script do Analytics, que ficará travado.

Comando EXECUTE em scripts de análise


Se você quer usar o comando EXECUTE em scripts de análises no Robôs ou no Servidor AX, deve con-
figurar especificamente o comando a ser executado. Para obter mais informações, consulte:
l Robôs:Configurando um Agente do Robôs
l Servidor AX:Configurações do Servidor AX

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 190 de 966


Comandos

Aspas
A sintaxe do comando Run do Windows usada com o comando EXECUTE deve estar entre aspas ou após-
trofos.
O exemplo abaixo usa o comando MD do Windows para criar uma nova pasta:

EXECUTE 'cmd /c md C:\Nova_Pasta_Dados'

Aspas aninhadas
Se qualquer caminho na sintaxe do comando Run contém espaços, os caminhos devem também estar
entre aspas.
Você tem duas opções para colocar caminhos entre aspas:
l Aspas dentro de apóstrofos: Coloque toda a cadeia do comando Run entre apóstrofos e, inter-
namente, os caminhos entre aspas:

EXECUTE 'cmd /c md "C:\Nova Pasta Dados"'

Esse método pode ser mais fácil de entender que o segundo método.
Nota
A inversão da ordem de aninhamento, usando aspas para toda a cadeia e apóstrofos
para os caminhos, não funciona.
l Duas aspas: Coloque toda a cadeia do comando de execução entre aspas e, internamente, os cami-
nhos entre duas aspas:

EXECUTE "cmd /c md ""C:\Nova Pasta Dados"""

Se você usar esse segundo método, as duas aspas usadas internamente devem ser adjacentes e
sem espaços entre elas.

Comandos internos e externos


Os comandos do Windows podem ser internos ou externos .
l Os comandos internos: podem ser executados apenas do prompt de comando, o que significa que
você tem de abrir o shell de comando usando cmd /c ou cmd /k antes de especificar o comando.
l Os comandos externos: podem ser executados do prompt de comando ou diretamente, usando o
comando EXECUTE, o que significa que a abertura do shell de comando é uma opção, mas não é
obrigatória.
O exemplo abaixo usa o comando interno do Windows DIR (exibe o conteúdo de um diretório) e o comando
externo do Windows COMP (compara dois arquivos) para mostrar a diferença:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 191 de 966


Comandos

EXECUTE 'cmd /k dir "C:\DADOS ACL\Arquivos de dados da amostra"'


EXECUTE 'comp C:\Arquivo_1.txt C:\Arquivo_2.txt'

Essa complicação pode ser evitada criando scripts ou arquivos de lote externos contendo comandos do
Windows e usando o comando EXECUTE apenas para iniciar o arquivo de lote. Por exemplo:

EXECUTE 'C:\Meu_lote.bat'

Sintaxe do comando Run de várias linhas


O comando EXECUTE não suporta a sintaxe do comando Run de várias linhas. Para incorporar coman-
dos RUN de várias linhas em um script do Analytics, use um dos seguintes métodos:

Método Exemplo

Repita o
comando EXECUTE 'cmd /c md "C:\Nova pasta de dados"' EXECUTE 'cmd /c copy C:\Arquivo_1.txt "C:\Nova
EXECUT- pasta de dados"'
E para
cada
comando
Run.

Combine
os EXECUTE 'cmd /c md "C:\Nova pasta de dados" & copy C:\Arquivo_1.txt "C:\Nova pasta de dados"'
coman-
dos Run
usando
'&'.

Crie um
script ou EXECUTE 'C:\Meu_lote.bat'
arquivo
de lote
externo
contendo
coman-
dos Run
de várias
linhas e
usando o
comando
EXECUT-
E ape-
nas para
iniciar o
arquivo
de lote.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 192 de 966


Comandos

Comando EXPORT
Exporta dados do Analytics para o formato de arquivo especificado ou para o módulo Resultados no
HighBond.

Sintaxe
EXPORT {<FIELDS> nome_campo <AS nome_de_exportação> <...n>|<FIELDS> ALL}
<UNICODE> tipo_de_exportação <SCHEMA>PASSWORD num TO {nome_arquivo|id_aclgrc}
<OVERWRITE> <IF teste> <WHILE teste> <{FIRST intervalo|NEXT intervalo}> <APPEND>
<KEEPTITLE> <SEPARATOR caractere> <QUALIFIER caractere> <WORKSHEET nome_
planilha> <DISPLAYNAME>

Parâmetros
Nome Descrição

FIELDS nome_campo AS Os arquivos a exportar.


nome_ <...nome_de_expor- o nome_campo: exporta o campo ou os campos especificados
tação> | FIELDS ALL
Separe os nomes dos campos com espaços.
Opcionalmente, você pode incluir um nome diferente para o campo no arquivo de
exportação usando AS nome_de_exportação. Coloque nome_de_exportação entre
aspas.
Se você está exportando para o ACLGRC (HighBond), é possível combinar AS com o
parâmetro DISPLAYNAME. Para obter mais informações, consulte "Como
DISPLAYNAME interage com AS na exportação para o Resultados do HighBond" Na
página 202.
o ALL: exportar todos os campos da tabela

UNICODE Disponível apenas na edição Unicode do Analytics. Aplica-se somente a arquivos de


texto (ASCII), texto delimitado (DELIMITED) e XML, bem como à saída da área de trans-
opcional
ferência do Windows (CLIPBOARD).
Exporta dados do Analytics com codificação de caracteres Unicode UTF-16 LE aplicada.
o Especifique UNICODE: se os dados exportados contêm caracteres não compatíveis
com ASCII estendido (ANSI)
o Não especifique UNICODE: se todos os caracteres nos dados exportados são com-
patíveis com ASCII estendido (ANSI)
Os dados exportados são codificados como ASCII estendido (ANSI).
Nota
Todos os caracteres não compatíveis são omitidos do arquivo expor-
tado.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 193 de 966


Comandos

Nome Descrição

Para obter mais informações, consulte produtos Unicode ACL.

tipo_de_exportação O formato do arquivo de saída ou destino usando uma das seguintes opções:
o ACCESS: Arquivo de banco de dados do Microsoft Access (.mdb)
Por padrão, os dados são exportados como Unicode.
o ACLGRC: Resultados no HighBond
o ASCII: texto simples ASCII (.txt)
o CLIPBOARD: área de transferência do Windows
o DBASE: arquivo compatível com dBASE (.dbf)
o DELIMITED: arquivo de texto delimitado (.del)
o EXCEL: – arquivo Microsoft Excel (.xls) compatível com o Microsoft Excel 1997 a 2003
o JSON: arquivo JSON (.json)
o LOTUS: arquivo Lotus 123
o WDPF6: arquivo Wordperfect 6
o WORD: arquivo MS Word (.doc)
o WP: arquivo do Wordperfect.
o XLS21: arquivo do Microsoft Excel versão 2.1.
o XLSX: arquivo .xlsx do Microsoft Excel
Por padrão, os dados são exportados como Unicode.
o XML: arquivo XML (.xml)

SCHEMA Aplica-se apenas à saída em arquivos XML.


opcional Inclua o esquema do XML no arquivo XML exportado. O esquema do XML contém meta-
dados que descrevem a estrutura do arquivo XML, incluindo o tipo de dados dos cam-
pos.
Você pode validar o arquivo em relação ao esquema após a exportação do arquivo.

PASSWORD num Nota


Aplica-se somente ao Resultados do HighBond.
A definição de senha a ser usada.
PASSWORD num não é usado para solicitar ou especificar uma senha real. A definição
de senha faz referência a uma senha previamente fornecida ou definida com o comando
PASSWORD, o comando SET PASSWORD ou a tag de análise PASSWORD.
num é o número da definição de senha. Por exemplo, se as duas senhas foram pre-
viamente fornecidas ou definidas em um script, ou no agendamento de uma análise,
PASSWORD 2 especifica o uso da senha nº 2.
Para obter mais informações sobre o fornecimento ou a definição de senhas, consulte:
l "Comando PASSWORD" Na página 363
l "Comando SET" Na página 424
l Tag de análise PASSWORD
Para obter mais informações sobre o fornecimento ou a definição de senhas, consulte:
l Comando PASSWORD
l Comando SET
l Tag de análise PASSWORD
PASSWORD num deve ser colocado imediatamente antes de TO ou no fim da cadeia da

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 194 de 966


Comandos

Nome Descrição

sintaxe do comando. A senha é um token de acesso do HighBond. Para obter mais infor-
mações, consulte "Exportar para o Resultados do HighBond" Na página 200.
Nota
Dependendo do ambiente em que o script é executado, PASSWORD
pode ou não ser obrigatório:

Analytics PASSWORD não é obrigatório.


(ativação on-line) O token de acesso do HighBond
do usuário atual é usado auto-
maticamente.

Analytics PASSWORD é obrigatório.


(ativação off-line)

Robôs

Analytics Exchange

Janela Aplicativo de análise

TO nome_arquivo | id_acl- O destino da exportação:


grc o TO nome_arquivo:exportar dados para um arquivo
Se necessário, você pode incluir um caminho de arquivo absoluto ou relativo, mas a
pasta do Windows já deverá existir. É preciso especificar o valor de nome_arquivo
como uma cadeia entre aspas.
o TO id_aclgrc: exportar dados para o Resultados do HighBond
O valor de id_aclgrc deve incluir o número de ID do teste de controle e, se você esti-
ver exportando para um data center localizado fora da América do Norte, o código do
data center. O valor de id_aclgrc deve estar entre aspas.
O número de ID do teste de controle e o código do data center devem ser separados
por um símbolo de arroba (@). Por exemplo, TO "99@eu".
Se você não sabe qual é o número de ID do teste de controle, use a interface do usu-
ário do Analytics para iniciar uma exportação para o Resultados. Cancele a expor-
tação após identificar o número de ID do teste de controle. Para obter mais
informações, consulte Exportação de exceções para o ACL GRC.
O código do data center especifica para qual servidor regional do HighBond você
está exportando dados:
l ap – Ásia-Pacífico
l au – Austrália
l ca – Canadá
l eu – Europa
l us – América do Norte
Você somente pode usar os códigos de data center autorizados para a instalação do
HighBond na sua organização. O data center da América do Norte é o padrão. Por-
tanto, a especificação de "@us" é opcional.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 195 de 966


Comandos

Nome Descrição

OVERWRITE Aplica-se somente à exportação para o módulo Resultados do HighBond.


opcional Todos os dados existentes no teste de controle de destino (tabela) serão sobrescritos
pelos dados exportados. Você deve ter uma função de Gerente Profissional na coleção
de destino para sobrescrever dados.
Se você omitir OVERWRITE e se já existirem dados no teste de controle de destino
(tabela), os dados exportados serão anexados aos dados existentes. Para obter infor-
mações adicionais sobre a anexação no Resultados, consulte "Observações" abaixo.
Todas as interpretações relacionadas ao teste de controle de destino (tabela) são atu-
alizadas dinamicamente para refletir os dados importados, sobrescritos ou anexados.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes em
uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número de
opcional registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até alcan-
çar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

APPEND Aplica-se somente a arquivos de texto (ASCII) e de texto delimitado (DELIMITED).


opcional Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.
Nota
Você deve garantir que a estrutura da saída do comando e o arquivo exis-
tente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua estru-
tura. Se a estrutura da saída e do arquivo existente não corresponderem,
o resultado poderá ser dados misturados, ausentes ou incorretos.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 196 de 966


Comandos

Nome Descrição

KEEPTITLE Aplica-se somente a arquivos de texto (ASCII) e de texto delimitado (DELIMITED).


opcional Inclua os nomes dos campos do Analytics nos dados exportados. Se omitido, nenhum
nome de campo aparecerá no arquivo de saída.

SEPARATOR caractere Aplica-se somente a arquivos de texto delimitado (DELIMITED).


opcional O caractere a ser usado como separador entre campos. É preciso especificar o caractere
como uma cadeia entre aspas.
Por padrão, o Analytics usa um ponto e vírgula.

QUALIFIER caractere Aplica-se somente a arquivos de texto delimitado (DELIMITED).


opcional O caractere qualificador de texto. Os valores dos campos são colocados entre caracteres
qualificadores para identificação. É preciso especificar o caractere como uma cadeia
entre aspas.
Por padrão o, Analytics usa aspas duplas.

WORKSHEET nome_pla- Aplica-se somente a arquivos Microsoft Excel (.xlsx).


nilha
O nome da planilha Excel criada em um arquivo Excel novo ou existente.
opcional
Por padrão, o Analytics usa o nome da tabela do Analytics que você está exportando
como o nome da planilha.
O nome_planilha pode conter apenas caracteres alfanuméricos ou o caractere subli-
nhado ( _ ). O nome não pode conter caracteres especiais, espaços ou começar com um
número. O valor pode ser opcionalmente colocado entre aspas.
Para obter detalhes sobre a sobrescrita de pastas de trabalho e planilhas do Excel na
exportação, consulte "O parâmetro WORKSHEET e a sobrescrita" Na página 199.

DISPLAYNAME Aplica-se somente ao ACLGRC (HighBond).


opcional Exporta nomes de campos como nomes de campos e nomes de exibição como nomes
de exibição para que os nomes de exibição apareçam em cabeçalhos de colunas no
Resultados sem afetar o nome de campo real.
DISPLAYNAME pode ser combinado com AS. Para obter mais informações, consulte
"Como DISPLAYNAME interage com AS na exportação para o Resultados do HighBond"
Na página 202.

Exemplos
Exportar dados para um arquivo .xlsx do Excel
Exporte campos específicos da tabela Fornecedor para um arquivo .xlsx do Excel:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 197 de 966


Comandos

OPEN Fornecedor
EXPORT FIELDS Num_Fornecedor Nome_Fornecedor Cidade_Fornecedor XLSX TO "Expor-
taçãoFornecedor"

Exportar dados para um arquivo .xlsx do Excel e especificar um nome de


planilha
Exporte campos específicos da tabela Fornecedor para uma planilha denominada Fornecedores_EUA
em um arquivo .xlsx do Excel:

OPEN Fornecedor
EXPORT FIELDS Num_Fornecedor Nome_Fornecedor Cidade_Fornecedor XLSX TO "Expor-
taçãoFornecedor" WORKSHEET Fornecedores_EUA

Exportar todos os campos para um arquivo delimitado


Exporte todos os campos específicos da tabela Fornecedor para um arquivo delimitado:

OPEN Fornecedor
EXPORT FIELDS ALL DELIMITED TO "ExportaçãoFornecedor"

Exportar dados para vários arquivos delimitados usando GROUP


Exporte campos específicos da tabela Fornecedor para dois arquivos delimitados:
l um arquivo para nomes de fornecedor iniciando por "A" a "M"
l um arquivo para nomes de fornecedor iniciando por "N" a "Z"
Use o comando GROUP para testar o nome do fornecedor de cada registro com uma condição IF:

GROUP
EXPORT FIELDS Num_fornecedor Nome_fornecedor DELIMITED TO "AaM" IF BETWEEN
(UPPER(NOME_FORNECEDOR); "A"; "M")
EXPORT FIELDS Num_fornecedor Nome_fornecedor DELIMITED TO "NaZ" IF BETWEEN
(UPPER(NOME_FORNECEDOR); "N"; "Z")
END

Exportar dados para o Resultados do HighBond


Exporte campos específicos da tabela Exceções_AR para o Resultados do HighBond. Sobrescreva
dados existentes no teste de controle (tabela) de destino:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 198 de 966


Comandos

OPEN Exceções_CR
EXPORT FIELDS Sem Data de Vencimento Ref Tipo de Valor ACLGRC PASSWORD 1 TO
"10926@us" OVERWRITE

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Uso do EXPORT com o comando GROUP


Para maioria dos formatos de exportação, é possível exportar dados em vários arquivos simultaneamente
usando o comando GROUP.
Apenas um arquivo pode ser criado por vez, quando você está exportando dados para o Microsoft Excel e
Microsoft Access.

Exportando para o Excel


Os limites a seguir se aplicam à exportação de dados para um arquivo Excel:

o Excel 2007 e posterior (*.xlsx): máximo de 1.048.576 registros


o Excel 97 e 2003: máximo de 65.536 registros
As tabelas do Analytics que ultrapassarem estes limites serão exportadas com sucesso,
Número de registros mas os registros em excesso serão ignorados e não serão exportados.

o nenhum limite específico de comprimento dos campos


o os comprimentos dos campos combinados não podem exceder o limite geral de com-
primento de registros de 32 KB
(32.765 caracteres no Analytics não Unicode e 16.382 caracteres no Analytics Uni-
code)
Comprimento dos campos o para o Excel 2.1, no máximo 247 caracteres

Comprimento dos nomes o máximo de 64 caracteres


de campo o para o Excel 2.1, no máximo 248 caracteres

O parâmetro WORKSHEET e a sobrescrita


O resultado de usar ou não o parâmetro WORKSHEET na exportação de uma tabela do Analytics para um
arquivo Excel está explicado a seguir:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 199 de 966


Comandos

Parâmetro WORKSHEET Parâmetro WORKSHEET


Correspondência Descrição usado não usado

Nenhum arquivo Excel o TO o valor de nome_ Um novo arquivo Excel é Um novo arquivo Excel é
com nome cor- arquivo não cor- criado, com uma planilha criado, com uma planilha
respondente responde a nenhum com o nome especificado que usa o nome da tabela
nome de arquivo Excel do Analytics exportada
existente

Nome de arquivo Excel o TO o valor de nome_ Uma planilha com o nome O arquivo Excel existente
correspondente arquivo e um nome de especificado é adicionada é sobre escrito por um
arquivo Excel existente ao arquivo Excel existente novo arquivo Excel, com
Nenhum nome de planilha
são idênticos uma planilha que usa o
correspondente o WORKSHEET nome_ nome da tabela do Analy-
planilha não cor- tics exportada
responde a um nome
de planilha no arquivo
Excel

Nome de arquivo Excel e o TO o valor de nome_ Se a planilha existente foi O arquivo Excel existente
nome de planilha cor- arquivo e um nome de criada originalmente pelo é sobre escrito por um
respondente arquivo Excel existente Analytics, será sobrescrita novo arquivo Excel, com
são idênticos por uma planilha com o uma planilha que usa o
o WORKSHEET nome_ nome especificado. nome da tabela do Analy-
planilha corresponde a tics exportada
Se a planilha existente foi
um nome de planilha
criada originalmente no
no arquivo Excel
Excel, será exibida uma
mensagem de erro e ope-
ração exportação será can-
celada.

Exportar para o Resultados do HighBond


A tabela abaixo contém informações adicionais sobre a exportação para um teste de controle no módulo
Resultados.

Item Detalhes

Permissões obri- A capacidade de exportar resultados para um teste de controle no módulo Resultados exige
gatórias uma atribuição de função específica do HighBond ou privilégios administrativos:
o Usuários com a função Usuário Profissional ou Gerente Profissional para uma coleção do
Resultados podem exportar os resultados para qualquer teste de controle na coleção.
Nota
Somente os usuários com a função Gerente Profissional podem exportar e
sobrescrever dados em um teste de controle.
o Os Administradores de Sistema do HighBond e os administradores do Resultados rece-
bem automaticamente a função Gerente Profissional em todas as coleções das orga-
nizações do HighBond que administram.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 200 de 966


Comandos

Item Detalhes

Limites de expor- Os limites a seguir se aplicam à exportação para um teste de controle:


tação o Máximo de 100.000 registros por exportação
o Máximo de 100.000 registros por teste de controle
o Máximo de 500 campos por registro
o Máximo de 256 caracteres por campo
Você pode exportar várias vezes para o mesmo teste de controle desde que não exceda os
limites gerais.

Anexação de cam- Independentemente da sua ordem em uma tabela do Analytics, os campos exportados são
pos anexados aos campos existentes em um teste de controle se tiverem nomes de campos físi-
cos correspondentes.
No Analytics, o nome do campo físico é o nome no layout da tabela. Campos exportados que
não corresponderem ao nome de nenhum campo existente serão acrescentados como colu-
nas adicionais na tabela no Resultados.
Os nomes de exibição de campos no Analytics e no Resultados não serão considerados. No
entanto, se você usar o parâmetro opcional AS nome_de_exportação, o valor de nome_de_
exportação será usado como o nome do campo físico se você não usar DISPLAYNAME.
Na anexação de dados a campos de questionários, o nome de exibição da coluna no Resul-
tados permanece o nome especificado na configuração do questionário.
Nota
Se você estiver executando um processo de ida e volta de dados entre o
Resultados e o Analytics, e os dados estiverem desalinhados no Resultados,
é provável que existam nomes de campos divergentes.
Para obter mais informações, consulte "Considerações sobre nomes de cam-
pos para importação e exportação de dados do Resultados" Na página 269.

Criação de uma defi- Comando PASSWORD


nição de senha e
Se você usar o comando PASSWORD para criar o número de definição da senha para cone-
especificação do
xão ao HighBond, nenhum valor de senha será especificado. Portanto, a senha será soli-
valor da senha
citada quando o script tentar se conectar.
Para obter mais informações, consulte "Comando PASSWORD" Na página 363.
Comando SET PASSWORD
Se você usar o comando SET PASSWORD para criar o número de definição da senha para
conexão ao HighBond, um valor de senha será especificado. Portanto, nenhuma senha será
solicitada, o que é adequado para scripts projetados para execução sem intervenção
manual.
Para obter mais informações, consulte Comando SET PASSWORD.
Token de acesso do HighBond
Independentemente do método usado para criar a definição de senha, o valor de senha obri-
gatório é um token de acesso do HighBond:
o Método PASSWORD – os usuários podem adquirir um token de acesso selecionando Fer-
ramentas > Token de acesso do HighBond e fazendo login no HighBond. Será retornado
um token de acesso, que pode ser copiado e colado pelos usuários no prompt de senha.
o Método SET PASSWORD – para inserir um token de acesso na sintaxe do comando SET

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 201 de 966


Comandos

Item Detalhes

PASSWORD em um script do Analytics, clique com o botão direito no Editor de script, sele-
cione Inserir > Token HighBond e faça login no HighBond. Um token de acesso é inserido
no script, na posição do cursor.
Cuidado
O token de acesso retornado corresponde à conta usada para fazer login no
HighBond. Como autor de scripts, usar seu próprio token de acesso pode não
ser apropriado se você estiver escrevendo um script para ser usado por
outras pessoas.

Como DISPLAYNAME interage com AS na exportação para o Resultados


do HighBond
A matriz abaixo mostra como o parâmetro DISPLAYNAME interage com AS na exportação de nomes de
campos do Analytics para o Resultados.

Sem AS Com AS

O nome do campo e o nome de exi- O nome do campo e o nome de exi-


bição no Resultados são o nome do bição no Resultados são o nome de
Sem DISPLAYNAME campo do Analytics. exibição do parâmetro AS.

O nome do campo no Resultados é O nome do campo no Resultados é


o nome do campo do Analytics. O o nome do campo do Analytics. O
nome de exibição no Resultados é o nome de exibição no Resultados é o
Com DISPLAYNAME nome de exibição do Analytics. nome de exibição do parâmetro AS.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 202 de 966


Comandos

Comando EXTRACT
Extrai dados de uma tabela do Analytics e usa esses dados para gerar uma nova tabela do Analytics ou
anexá-los a uma tabela do Analytics existente. É possível extrair todos os registros ou campos sele-
cionados.

Sintaxe
EXTRACT {RECORD|FIELDS nome_campo <AS nome_exibição> <...n>|FIELDS ALL} TO nome_
tabela <IF teste> <WHILE teste> <FIRST intervalo|NEXT intervalo> <EOF> <APPEND> <OPEN>
<LOCAL>

Parâmetros
Nome Descrição

RECORD | FIELDS nome_ Os campos a serem incluídos na saída:


campo | FIELDS ALL o RECORD: use todos os campos no arquivo de dados de origem: todos os campos da
tabela e todas as porções indefinidas do registro
Os campos são usados na ordem em que aparecem no layout da tabela.
Preserva campos calculados.
o FIELDS nomes_campos: usar os campos especificados
Os campos são usados na ordem em que são listados.
Converte campos calculados em campos físicos com o tipo de dados apropriado na
tabela destino – ASCII ou Unicode (dependendo da edição do Analytics), ACL (o tipo
de dados numérico nativo), datahora ou lógico. Preenche os campos físicos com os
valores calculados reais.
o FIELDS ALL: usar todos os campos da tabela
Os campos são usados na ordem em que aparecem no layout da tabela.
Converte campos calculados em campos físicos com o tipo de dados apropriado na
tabela destino – ASCII ou Unicode (dependendo da edição do Analytics), ACL (o tipo
de dados numérico nativo), datahora ou lógico. Preenche os campos físicos com os
valores calculados reais.

AS nome_exibicao Usado apenas na extração com FIELDS nome_campo.


opcional O nome de exibição (título alternativo da coluna) para o campo na exibição na nova
tabela do Analytics. Se você quiser que o nome de exibição seja o mesmo que o nome
do campo ou um nome de exibição já existente na tabela de origem, não use AS.
Especifique nome_exibicao como uma cadeia entre aspas. Utilize um ponto e vírgula (;)
entre palavras se quiser uma quebra de linha no título da coluna.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 203 de 966


Comandos

Nome Descrição

Nota
O parâmetro AS funciona apenas para extração para uma nova tabela.
Se estiver adicionando a uma tabela existente, os títulos de coluna alter-
nativos na tabela existente prevalecem.

TO nome_tabela A localização para onde enviar os resultados do comando:


o nome_tabela: salva os resultados em uma tabela do Analytics
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o projeto
do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos, sem
contar a extensão .FIL. O nome pode incluir o caractere de sublinhado
( _ ) mas nenhum outro caractere especial e nenhum espaço. O nome
não pode começar com um número.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes em
uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número de
opcional registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até alcan-
çar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

EOF Execute o comando uma ou mais vezes após alcançar o fim do arquivo.
opcional Isso garante que o registro final na tabela seja processado dentro de um comando

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 204 de 966


Comandos

Nome Descrição

GROUP. Use EOF somente se todos os campos forem campos calculados referentes a
registros anteriores.

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional Nota
Você deve garantir que a estrutura da saída do comando e o arquivo exis-
tente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua estru-
tura. Se a estrutura da saída e do arquivo existente não corresponderem,
o resultado poderá ser dados misturados, ausentes ou incorretos.

OPEN Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o
comando criar uma tabela de saída.
opcional

LOCAL Salva o arquivo de saída no mesmo local que o projeto do Analytics.


opcional Nota
Aplicável apenas na execução de um comando em uma tabela de ser-
vidor com um campo de saída que é uma tabela do Analytics.

Exemplos
Extração de todos os registros de uma tabela para uma nova tabela
Crie uma duplicata exata da tabela AR_Cliente extraindo todos os registros para uma nova tabela do Analy-
tics. Todos os campos calculados são preservados como campos calculados:

OPEN AR_Cliente
EXTRACT RECORD TO "AR_Cliente_2"

Extração de todos os campos de uma tabela para uma nova tabela


Extraia todos os campos definidos da tabela AR_Cliente para uma nova tabela do Analytics. Todos os cam-
pos calculados são convertidos em campos físicos e preenchidos com os valores calculados reais:

OPEN AR_Cliente
EXTRACT FIELDS ALL TO "AR_Cliente_2"

Extração de todos os registros de uma tabela e anexação desses registros a

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 205 de 966


Comandos

uma tabela existente


Extraia todos os registros na tabela AR_Cliente e anexe-os como grupo ao final da tabela AR_Cliente_
Mestre:

OPEN AR_Cliente
EXTRACT RECORD TO "AR_Cliente_Mestre" APPEND

Extração de todos os registros de uma tabela e anexação desses registros


a uma tabela existente em uma pasta diferente
Extraia todos os registros na tabela AR_Cliente e anexe-os como grupo ao final da tabela AR_Cliente_
Mestre, que está em uma pasta diferente da pasta do projeto do Analytics:

OPEN AR_Cliente
EXTRACT RECORD TO "C:\Usuários\Dados do cliente\AR_Cliente_Mestre" APPEND

Extração de um subconjunto de campos de uma tabela para uma nova


tabela
Extraia três campos da tabela AR_Cliente para uma nova tabela do Analytics:

OPEN AR_Cliente
EXTRACT FIELDS Nome Prazo Data TO "AR_Datas_Cliente.fil"

Criação de nomes de exibição para campos extraídos


Extraia três campos da tabela AR_Cliente e criação de nomes de exibição para os campos na nova
tabela do Analytics:

OPEN AR_Cliente
EXTRACT FIELDS Nome AS "Cliente;Nome" Prazo AS "Prazo;Limite" Data AS "Data;Fatura" TO
"AR_Datas_Cliente.fil"

Extração de campos com base em uma condição


Extraia três campos da tabela AR_Cliente para uma nova tabela do Analytics se a data no campo Prazo
for anterior a 1º de julho de 2014:

OPEN AR_Cliente
EXTRACT FIELDS Nome Prazo Data IF Prazo < `20140701` TO "Vencidos.fil"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 206 de 966


Comandos

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

EXTRACT vs. cópia de tabela


O EXTRACT cria um novo arquivo de dados de origem (.fil)e um novo layout da tabela.
A cópia de uma tabela usando o Navegador (Editar > Cópia) cria um novo layout da tabela que per-
manece associado ao arquivo de dados de origem original. Não é criado um novo arquivo de dados.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 207 de 966


Comandos

Comando FIELDSHIFT
Desloca a posição inicial de uma definição de campo em um layout da tabela.

Sintaxe
FIELDSHIFT START posição_inicial COLUMNS bytes_a_deslocar <FILTER nome_filtro_dados>
<OK>

Parâmetros
Nome Descrição

START posição_inicial A posição inicial em bytes da primeira definição de campo que você quer deslocar.
Todas as definições de campos à direita da definição de campo especificada também
serão deslocadas.
Se você especificar uma posição não inicial em bytes, a próxima posição inicial em
bytes será usada.
Nota

Analytics não Unicode 1 byte = 1 caractere

Analytics Unicode, dados em ASCII estendido 1 byte = 1 caractere


(ANSI)

Analytics Unicode, dados Unicode 2 bytes = 1 caractere

Para dados Unicode, normalmente você deve especificar uma posição


inicial em bytes ímpar. A especificação de uma posição inicial par pode
causar exibição incorreta de caracteres.

COLUMNS bytes_a_des- O número de bytes que a definição de campo será deslocada.


locar
Insira um número positivo para deslocar a definição de campo para a direita. Insira um
número negativo para deslocar a definição de campo para a esquerda.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 208 de 966


Comandos

Nome Descrição

Nota

Analytics não Unicode 1 byte = 1 caractere

Analytics Unicode, dados em ASCII estendido 1 byte = 1 caractere


(ANSI)

Analytics Unicode, dados Unicode 2 bytes = 1 caractere

Para dados Unicode, especifique apenas um número de bytes par. A


especificação de um número ímpar de bytes pode causar exibição incor-
reta de caracteres.

FILTER nome_filtro_ O nome do filtro que identifica as definições de campos associados a uma definição de
dados registro específica.
opcional

OK Exclui ou sobrescreve itens sem solicitar confirmação da ação.


opcional

Exemplos
Deslocamento de definições de campos
Desloque as definições de campos a partir do byte 11 e todas as definições de campos subsequentes por 4
bytes para a direita:

FIELDSHIFT START 11 COLUMNS 4

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Definições de campo deslocadas devem permanecer den-


tro do comprimento do registro
Quando você desloca uma ou mais definições de campo para a direita ou para a esquerda, os campos não
podem exceder o comprimento do campo em nenhuma das duas direções.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 209 de 966


Comandos

Lembre-se de que FIELDSHIFT move a definição de campo especificada e todas as definições de cam-
pos à direita da definição de campo especificada. Se o bloco de definições deslocadas exceder o com-
primento do registro em uma das direções, será exibida uma mensagem de erro e o comando não será
executado.
Dica
Se a mensagem de erro for exibida porque o fim do registro está sendo excedido, tente
remover a definição de campo final para abrir espaço para o deslocamento das defi-
nições de campos.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 210 de 966


Comandos

Comando FIND
Pesquisa um campo de caracteres indexado para encontrar o primeiro valor correspondente à cadeia de
caracteres especificada.
Nota
O comando FIND e a função FIND( ) são dois recursos distintos do Analytics com dife-
renças significativas. Para obter informações sobre a função, consulte "Função FIND( )"
Na página 582.

Sintaxe
FIND valor_da_pesquisa

Parâmetros
Nome Descrição

valor_da_pesquisa A cadeia de caracteres que deve ser pesquisada.


valor_da_pesquisa diferencia maiúsculas de minúsculas e não pode ter espaços à
esquerda.
Não coloque o valor entre aspas a menos que as aspas sejam parte dos dados pes-
quisados.

Exemplos
Pesquisa por um valor específico
Você quer localizar o primeiro valor no campo de caracteres Numero_Cartao que corresponde exa-
tamente ou inicia com "8590124".
Primeiro, indexe o campo Numero_Cartao em ordem crescente. Em seguida, execute FIND:

INDEX ON Numero_Cartao TO "NumCartao" OPEN


SET INDEX TO "NumCartao"
FIND 8590124

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 211 de 966


Comandos

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda
do Analytics.

Quando usar FIND


Utilize o comando FIND para avançar diretamente para o primeiro registro em uma tabela que contém o
valor_pesquisa especificado no campo de caracteres indexado.

Requisito de INDEX
Para usar o comando, a tabela a ser pesquisada deve ser indexada em um campo de caracteres em
ordem crescente.
Se vários campos de caracteres forem classificados em ordem crescente, apenas o primeiro campo espe-
cificado no índice será pesquisado. O comando não pode ser usado para pesquisar campos indexados
não caracteres ou campos de caracteres indexados em ordem decrescente.

Correspondência parcial
A correspondência parcial é permitida. O valor pesquisado pode estar contido em um valor mais longo no
campo indexado. Porém, o valor pesquisado deve aparecer no início do campo para constituir uma cor-
respondência.

FIND saída dependendo de correspondência


O comando FIND produz um dos seguintes resultados, dependendo do valor pesquisado ser encontrado:
l valor pesquisado encontrado: o primeiro registro correspondente na tabela é selecionado
l valor pesquisado não é encontrado: a tabela é posicionada no primeiro registro com um valor
maior que o valor pesquisado
Se não há valores no campo indexado maiores que o valor pesquisado, a tabela é posicionada no
seu primeiro registro. Em ambos os casos, a mensagem "Nenhum índice corresponde à chave" é
exibida.
O comando FIND não é afetado pela opção Comparações exatas de caractere (SET EXACT ON/OFF).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 212 de 966


Comandos

Comando FUZZYDUP
Detecta valores quase idênticos (duplicidades parciais) em um campo de caracteres.
Nota
Para usar correspondências parciais para combinar campos de duas tabelas do Analytics
em uma única tabela nova do Analytics, consulte "Comando FUZZYJOIN" Na página 218.

Sintaxe
FUZZYDUP ON campo_chave <OTHER campos> LEVDISTANCE valor <DIFFPCT porcentagem>
<RESULTSIZE porcentagem> <EXACT> <IF teste> TO nome_tabela <LOCAL> <OPEN>

Parâmetros
Nome Descrição

ON campo_chave O campo ou expressão de caracteres a testar quanto a duplicidades parciais.

OTHER campos Uma lista dos campos ou expressões a serem incluídas na saída.
opcional

LEVDISTANCE valor A máxima distância de Levenshtein permitida entre duas cadeias para que elas sejam
identificadas como duplicidades parciais e incluídas nos resultados.
O valor LEVDISTANCE não pode ser menor que 1 ou maior que 10. O aumento do valor
de LEVDISTANCE aumenta o número de resultados, incluindo valores com um maior
grau de imprecisão, ou seja, valores que são mais diferentes entre si.
Para obter mais informações, consulte "Comportamento de FUZZYDUP" Na página 216.

DIFFPCT porcentagem Um limite que limita a "porcentagem de diferença" ou a proporção de uma cadeia que
pode ser diferente.
opcional
A porcentagem resultante de um cálculo interno do Analytics feito em pares de dupli-
catas parciais potenciais deve ser menor ou igual ao valor de DIFFPCT para que o par
seja incluído nos resultados. O valor de DIFFPCT não pode ser menor que 1 ou maior
que 99.
Se DIFFPCT for omitido, o limite será desligado e a porcentagem de diferença não será
considerada durante o processamento do comando FUZZYDUP.
Para obter mais informações, consulte "Comportamento de FUZZYDUP" Na página 216.

RESULTSIZE por- O tamanho máximo do conjunto de resultados de saída como porcentagem do número
centagem de registros no campo-chave.
opcional Por exemplo, para um campo-chave com 50.000 registros, um RESULTSIZE de 3 encer-

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 213 de 966


Comandos

Nome Descrição

rará o processo se os resultados ultrapassarem 1.500 duplicidades parciais (50.000 x


0,03). Nenhuma tabela de saída será produzida se a operação for encerrada.
O valor de RESULTSIZE não pode ser menor que 1 ou maior que 1.000 (mil) por cento.
O limite é de 1.000% para acomodar a natureza da correspondência muitos para muitos,
que pode produzir resultados que são mais numerosos que o conjunto de dados de
teste original.
Se RESULTSIZE for omitido, o limite será desligado e o tamanho do resultado não será
considerado durante o processamento do comando FUZZYDUP.
Cuidado
A omissão de RESULTSIZE pode produzir um conjunto de resultados
excessivamente grande e com longo tempo de processamento ou pode
esgotar a memória disponível, cancelando o processamento. Omita
RESULTSIZE apenas se tiver certeza de que os resultados terão um
tamanho gerenciável.

EXACT Inclui duplicidades exatas e parciais nos resultados.


opcional

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes em
uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

TO nome_tabela A localização para onde enviar os resultados do comando:


o nome_tabela: salva os resultados em uma tabela do Analytics
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o projeto
do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos, sem
contar a extensão .FIL. O nome pode incluir o caractere de sublinhado
( _ ) mas nenhum outro caractere especial e nenhum espaço. O nome
não pode começar com um número.

LOCAL Salva o arquivo de saída no mesmo local que o projeto do Analytics.


opcional Nota
Aplicável apenas na execução de um comando em uma tabela de ser-
vidor com um campo de saída que é uma tabela do Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 214 de 966


Comandos

Nome Descrição

OPEN Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o
comando criar uma tabela de saída.
opcional

Variáveis de saída do Analytics


Nome Contém

GAPDUPn O número total de grupos de falhas, duplicidades ou duplicidades parciais identificados


pelo comando.

Exemplos
Testar duplicidades parciais em um campo de sobrenome
Teste se há duplicidades parciais em um campo de sobrenome (o campo Sobrenome na tabela Lista_Fun-
cionários em ACL DATA\Arquivos de dados da amostra\Dados_Funcionários_Metap-
hor.ACL). Os resultados são enviados a uma nova tabela do Analytics.
l Além do campo de teste, outros campos são incluídos nos resultados.
l A distância máxima de Levenshtein permitida é 1.
l A proporção de uma cadeia que pode ser diferente é limitada a 50%.
l O tamanho dos resultados é limitado a 20% do tamanho do campo de teste.
l Além das duplicatas parciais, as duplicatas exatas são incluídas.

FUZZYDUP ON Sobrenome OTHER Nome Númfunc LEVDISTANCE 1 DIFFPCT 50 RESULTSIZE


20 EXACT TO "Sobrenome_Parciais" OPEN

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Como funciona?
O comando FUZZYDUP encontra valores quase idênticos (duplicidades parciais) ou localiza ortografia
inconsistente em dados inseridos manualmente.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 215 de 966


Comandos

Ao contrário da função ISFUZZYDUP( ), que identifica uma lista exaustiva de duplicatas parciais para um
único valor de caractere, o comando FUZZYDUP identifica todas as duplicidades parciais em um campo,
organiza-as em grupos e produz um conjunto de resultados não exaustivo.

O que significa não exaustivo


Não exaustivo significa que os grupos de duplicatas parciais nos resultados podem não conter todas as
duplicatas parciais em um campo de teste que estão dentro de um grau especificado de diferença do pro-
prietário do grupo. No entanto, se um proprietário do grupo for uma duplicata parcial de outro valor no
campo de teste, os dois valores aparecerão juntos em um grupo em alguma parte dos resultados.
Se produzir uma lista exaustiva de duplicidades parciais de um valor específico no campo de teste for
importante para sua análise, é possível usar a função ISFUZZYDUP( ) para isso.

Comportamento de FUZZYDUP
O comando FUZZYDUP tem dois parâmetros que permitem controlar o grau de diferença entre dupli-
cidades parciais e o tamanho dos resultados:
l LEVDISTANCE
l DIFFPCT
Pode ser necessário tentar diferentes combinações de configurações desses dois parâmetros para des-
cobrir a que funciona melhor para um conjunto de dados específico.

LEVDISTANCE (distância de Levenshtein)


Ao processar os dados, o comando FUZZYDUP calcula a distância de Levenshtein entre cada par de
cadeias avaliado no campo de teste e calcula a porcentagem de diferença. A distância de Levenshtein é
um valor que representa o número mínimo de edições de único caractere necessárias para tornar uma
cadeia idêntica à outra. Para obter mais informações, consulte "Função LEVDIST( )" Na página 642.

DIFFPCT (porcentagem de diferença)


A porcentagem de diferença é a porcentagem da cadeia mais curta, entre as duas avaliadas, que é dife-
rente e é o resultado do seguinte cálculo interno do Analytics que utiliza a distância de Levenshtein entre
as duas cadeias:
Distância de Levenshtein / número de caracteres na cadeia mais curta × 100 = porcentagem de diferença

Mais informações
Para obter informações detalhadas sobre as configurações de diferença de duplicidades parciais, con-
trolar o tamanho do resultado e grupos de duplicidades parciais, consulte a visão geral das duplicidades
parciais.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 216 de 966


Comandos

Diferenciação de maiúsculas e minúsculas


O comando FUZZYDUP não diferencia maiúsculas de minúsculas, portanto, "SMITH" é equivalente a
"smith".

Remoção automática de brancos à direita


O comando FUZZYDUP elimina automaticamente brancos à direita no campo_chave, evitando a neces-
sidade de usar as funções TRIM( ) ou ALLTRIM( ) ao especificar um único campo como campo_chave.
Se você concatenar campos para campo_chave, deverá usar ALLTRIM( ) como mostrado abaixo.

Aumento da eficácia do FUZZYDUP


Concatenação de campos
Concatenar dois ou mais campos de teste pode melhorar a eficiência do comando FUZZYDUP aumen-
tando o grau de singularidade dos valores de teste.
Por exemplo:

FUZZYDUP ON ALLTRIM(Nome)+ALLTRIM(Sobrenome) OTHER Nome Sobrenome NumFunc


LEVDISTANCE 4 DIFFPCT 50 RESULTSIZE 20 EXACT TO "Nome_Sobrenome_Parciais" OPEN

A função OMIT( )
A função OMIT( ) pode melhorar também a eficácia do comando, removendo elementos genéricos, como
"Companhia" ou "Inc." de valores do campo.
A remoção de elementos genéricos focaliza a comparação de cadeia FUZZYDUP apenas na parte das
cadeias onde uma diferença significativa pode ocorrer.
Para obter mais informações, consulte "Função OMIT( )" Na página 692.

Outros métodos de comparação de cadeia


l A função DICECOEFFICIENT( ): oferece um método de comparação de cadeias que não prioriza
ou ignora completamente a posição relativa de caracteres ou blocos de caracteres.
l As funções SOUNDSLIKE( ) e SOUNDEX( ): fornecem um método para comparar cadeias com
base em uma comparação fonética (som), em vez de uma comparação ortográfica (ortografia).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 217 de 966


Comandos

Comando FUZZYJOIN
Usa correspondências parciais para combinar campos de duas tabelas do Analytics em uma única tabela
nova do Analytics.
Nota
Para detectar valores quase idênticos (duplicidades parciais) em um único campo de
caracteres, consulte "Comando FUZZYDUP" Na página 213.
Para ver as diversas opções de associação de tabelas usando valores de campos-chave
com correspondência exata, consulte "Comando JOIN" Na página 328.

Sintaxe
FUZZYJOIN {DICE PERCENT porcentagem NGRAM comprimento_ngrama|LEVDISTANCE
DISTANCE valor} PKEY campo_chave_primária SKEY campo_chave_secundária {FIELDS cam-
pos_primários|FIELDS ALL} <WITH campos_secundários|WITH ALL> <IF teste> <OPEN>
<FIRSTMATCH> TO nome_tabela <WHILE teste> <FIRST intervalo|NEXT intervalo> <APPEND>

Nota
Não é possível executar o comando FUZZYJOIN localmente em uma tabela de servidor.
Você deve especificar o nome do comando FUZZYJOIN com todas as letras. Esse
comando não deve ser abreviado.

Parâmetros
Nome Descrição

DICE PERCENT por- O algoritmo de correspondência parcial a ser usado.


centagem NGRAM com-
DICE: usar o algoritmo do coeficiente de Dice
primento_ngrama |
LEVDISTANCE o PERCENT porcentagem: o menor coeficiente de Dice permissível de duas cadeias
DISTANCE valor para que elas sejam qualificadas como uma correspondência parcial
Especifique uma fração decimal de 0,0000 a 1,0000 (por exemplo, 0,7500). Use no
máximo quatro casas decimais.
A diminuição do valor aumenta o número de correspondências, incluindo cor-
respondências com um maior grau de parcialidade, ou seja, cadeias que são mais
diferentes entre si.
o NGRAM comprimento_ngrama: o comprimento do ngrama a ser usado
Especifique um número inteiro, 1 ou maior.
O aumento do comprimento do ngrama aumenta o rigor do critério de similaridade
entre duas cadeias.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 218 de 966


Comandos

Nome Descrição

Ngramas são subcadeias (blocos de caracteres) sobrepostas resultantes da divisão


de cadeias de comparação durante o cálculo do coeficiente de Dice.
Nota
Quando você especifica DICE, o comando FUZZYJOIN usa a função
DICECOEFFICIENT( ) de uma instrução IF para associar con-
dicionalmente valores de campo-chave. Para obter informações deta-
lhadas sobre a função, consulte "Função DICECOEFFICIENT( )" Na
página 555.
LEVDISTANCE: usar o algoritmo de distância de Levenshtein
o DISTANCE valor: A máxima distância de Levenshtein permitida entre duas cadeias
para que elas sejam qualificadas como uma correspondência parcial
Especifique um número inteiro, 1 ou maior.
O aumento do valor aumenta o número de correspondências, incluindo cor-
respondências com um maior grau de parcialidade, ou seja, cadeias que são mais
diferentes entre si.
Nota
Quando você especifica LEVDISTANCE, o comando FUZZYJOIN usa
a função LEVDIST( ) de uma instrução IF para associar con-
dicionalmente valores de campo-chave. Para obter informações deta-
lhadas sobre a função, consulte "Função LEVDIST( )" Na página 642.
Ao contrário da função, o algoritmo de distância de Levenshtein no
comando FUZZYJOIN remove automaticamente brancos à esquerda
e à direita e não diferencia maiúsculas de minúsculas.

PKEY campo_chave_pri- O campo-chave de caracteres ou uma expressão na tabela primária.


mário
Você pode especificar apenas um campo-chave primário.

SKEY campo_chave_ O campo-chave de caracteres ou uma expressão na tabela secundária.


secundário
Você pode especificar apenas um campo-chave secundário.

FIELDS campos_pri- Os campos ou expressões da tabela primária a serem incluídos na tabela de saída
mários | FIELDS ALL associada.
o campos_primários: inclua o campo ou os campos especificados
o ALL: inclua todos os campos da tabela
Nota
Você deve especificar de forma explícita o campo-chave primário se
desejar incluí-lo na tabela associada. A especificação de ALL também
inclui esse campo.

WITH campos_secun- Os campos ou expressões da tabela secundária a serem incluídos na tabela de saída
dários | WITH ALL associada.
opcional o campos_secundários: inclua o campo ou os campos especificados
o ALL: inclua todos os campos da tabela

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 219 de 966


Comandos

Nome Descrição

Nota
Você deve especificar de forma explícita o campo-chave secundário se
desejar incluí-lo na tabela associada. A especificação de ALL também
inclui esse campo.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes
em uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).
Nota
A condição IF pode referenciar a tabela primária, a tabela secundária ou
as duas tabelas.

OPEN Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o
comando criar uma tabela de saída.
opcional

FIRSTMATCH Especifica que cada valor de chave primária é associado unicamente à primeira ocor-
rência de qualquer chave secundária correspondente.
opcional
Se a primeira ocorrência for uma correspondência exata, nenhum das cor-
respondências parciais subsequentes para o valor de chave primária será incluída na
tabela de saída associada.
Se você omitir FIRSTMATCH, o comportamento padrão de FUZZYJOIN será associar
cada valor de chave primária a todas as ocorrências de todas as chaves secundárias
correspondentes.
FIRSTMATCH é útil se você quiser apenas saber se existem correspondências, exatas
ou parciais, entre as duas tabelas e desejar reduzir o tempo de processamento neces-
sário para identificar todas as correspondências.
Você também pode usar FIRSTMATCH se tiver certeza de que existe no máximo ape-
nas uma correspondência na tabela secundária para cada valor de chave primária.
Nota
FIRSTMATCH está disponível apenas como um parâmetro do ACLS-
cript. Essa opção não está disponível na interface do usuário do Analy-
tics.

TO nome_tabela A localização para onde enviar os resultados do comando:


o nome_tabela: salva os resultados em uma tabela do Analytics
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o pro-
jeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 220 de 966


Comandos

Nome Descrição

l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos,
sem contar a extensão .FIL. O nome pode incluir o caractere de subli-
nhado ( _ ) mas nenhum outro caractere especial e nenhum espaço.
O nome não pode começar com um número.

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número
opcional de registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até
alcançar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional Nota
Você deve garantir que a estrutura da saída do comando e o arquivo
existente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua
estrutura. Se a estrutura da saída e do arquivo existente não cor-
responderem, o resultado poderá ser dados misturados, ausentes ou
incorretos.

ISOLOCALE código_local Nota


opcional Aplicável apenas à edição Unicode do Analytics.
A localidade do sistema no formato idioma_ país. Por exemplo, para usar francês cana-
dense, insira fr_ca.
Use os códigos a seguir:
o idioma: código de idioma padrão ISO 639
o país: código de país padrão ISO 3166
Se você não especificar um código de país, será usado o país padrão do idioma.
Se você não usar ISOLOCALE, a localidade do sistema padrão será usada.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 221 de 966


Comandos

Exemplos
Use a correspondência parcial para associar duas tabelas como forma de
descobrir empregados que também podem ser fornecedores
O exemplo a seguir associa as tabelas MestreFunc e Fornecedor usando o endereço como campo-chave
comum (os campos Endereço e Rua_Fornecedor).
O comando FUZZYJOIN cria uma nova tabela que contém registros primários e secundários com cor-
respondência exata ou registros primários e secundários com correspondência parcial. O resultado é
uma lista de funcionários e fornecedores com endereços idênticos ou com endereços similares.

FUZZYJOIN com o algoritmo do coeficiente de Dice

OPEN MestreFunc PRIMARY


OPEN Fornecedor SECONDARY
FUZZYJOIN DICE PERCENT 0,8000 NGRAM 2 PKEY Endereço SKEY Rua_Fornecedor FIELDS
Número_Funcionário Nome Sobrenome Endereço WITH Número_Fornecedor Nome_Fornecedor
Rua_Fornecedor OPEN TO "Funcionários_Fornecedores_Correspondentes"

FUZZYJOIN com o algoritmo de distância de Levenshtein

OPEN MestreFunc PRIMARY


OPEN Fornecedor SECONDARY
FUZZYJOIN LEVDISTANCE DISTANCE 5 PKEY Endereço SKEY Rua_Fornecedor FIELDS
Número_Funcionário Nome Sobrenome Endereço WITH Número_Fornecedor Nome_Fornecedor
Rua_Fornecedor OPEN TO "Funcionários_Fornecedores_Correspondentes"

Incluir todos os campos


Esta versão do comando FUZZYJOIN inclui todos os campos das tabelas primária e secundária na tabela
de saída associada.

OPEN MestreFunc PRIMARY


OPEN Fornecedor SECONDARY
FUZZYJOIN LEVDISTANCE DISTANCE 5 PKEY Endereço SKEY Rua_Fornecedor FIELDS ALL
WITH ALL OPEN TO "Funcionários_Fornecedores_Correspondentes"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 222 de 966


Comandos

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Diferenciação de maiúsculas e minúsculas


O comando FUZZYJOIN não diferencia maiúsculas de minúsculas, independentemente do algoritmo de
correspondência parcial utilizado. Portanto, "SMITH" é equivalente a "smith."

Brancos à direita e à esquerda


O comando FUZZYJOIN remove automaticamente brancos à esquerda e à direita em campos, inde-
pendentemente do algoritmo de correspondência parcial utilizado. Não é necessário usar as funções TRIM
( ) ou ALLTRIM( ) na especificação de campos-chave primários e secundários.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 223 de 966


Comandos

Comando GAPS
Detecta se um campo numérico ou datahora em uma tabela do Analytics contém uma ou mais falhas em
dados sequenciais.

Sintaxe
GAPS <ON> campo_chave <D> <UNFORMATTED> <PRESORT> <MISSING limite> <HEADER
texto_cabeçalho> <FOOTER texto_rodapé> <IF teste> <WHILE teste> <FIRST intervalo|NEXT
intervalo> <TO {SCREEN|nome_tabela|nome_arquivo|PRINT}> <APPEND> <LOCAL> <OPEN>

Parâmetros
Nome Descrição

ON campo_chave D Os campos ou expressões que devem ser verificados quanto a falhas.


Inclua D para ordenar o campo-chave em ordem decrescente. A ordem de clas-
sificação-padrão é crescente.

UNFORMATTED Suprime os cabeçalhos e as quebras de página quando os resultados são enviados a


um arquivo.
opcional

PRESORT Ordena a tabela pelo campo-chave antes de executar o comando.


opcional Nota
Você não pode usar PRESORT dentro do comando GROUP.

MISSING limite Os resultados de saída contêm itens ausentes individuais em vez de intervalos de
falha.
opcional
O valor limite especifica o número máximo de itens ausentes a ser relatado para cada
intervalo identificado. O valor padrão é 5. Se o limite for excedido em uma falha espe-
cífica, os itens ausentes são relatados como um intervalo dessa falha específica.
O valor limite não restringe o número total de itens ausentes relatados; apenas o
número de itens ausentes relatados dentro de uma falha específica.

HEADER texto_cabeçalho O texto a ser inserido na parte superior de cada página de um relatório.
opcional texto_cabeçalho deve ser especificado como uma cadeia entre aspas. O valor substitui
a variável de sistema HEADER do Analytics.

FOOTER texto_rodapé O texto a ser inserido na parte inferior de cada página de um relatório.
opcional texto_rodapé deve ser especificado como uma cadeia entre aspas. O valor substitui a
variável de sistema FOOTER do Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 224 de 966


Comandos

Nome Descrição

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes
em uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número
opcional de registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até
alcançar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

TO SCREEN | nome_ A localização para onde enviar os resultados do comando:


tabela | nome_arquivo | o SCREEN: exibe os resultados na área de exibição do Analytics
PRINT o nome_tabela: salva os resultados em uma tabela do Analytics
opcional Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o pro-
jeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos,
sem contar a extensão .FIL. O nome pode incluir o caractere de subli-
nhado ( _ ) mas nenhum outro caractere especial e nenhum espaço.
O nome não pode começar com um número.
o nome_arquivo: salva os resultados em um arquivo
Especifique nome_arquivo como uma cadeia entre aspas com uma extensão de
arquivo apropriada. Por exemplo: TO "Saída.TXT"
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma
pasta diferente já existente:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 225 de 966


Comandos

Nome Descrição

l TO "C:\Saída.TXT"
l TO "Resultados\Saída.TXT"
o PRINT: envia os resultados para a impressora padrão

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional Nota
Você deve garantir que a estrutura da saída do comando e o arquivo
existente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua
estrutura. Se a estrutura da saída e do arquivo existente não cor-
responderem, o resultado poderá ser dados misturados, ausentes ou
incorretos.

LOCAL Salva o arquivo de saída no mesmo local que o projeto do Analytics.


opcional Nota
Aplicável apenas na execução de um comando em uma tabela de ser-
vidor com um campo de saída que é uma tabela do Analytics.

OPEN Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o
comando criar uma tabela de saída.
opcional

Variáveis de saída do Analytics


Nome Contém

GAPDUPn O número total de grupos de falhas, duplicidades ou duplicidades parciais identificados


pelo comando.

Exemplos
Teste de números de fatura ausentes
Use GAPS para garantir que não há números de faturas ausentes na tabela Faturas :

OPEN Faturas
GAPS ON Num_Fat PRESORT TO "Falhas_Faturas.fil"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 226 de 966


Comandos

Observações
Uso de GAPS em campos de caracteres
Além de testar campos numéricos ou datahora, você também pode testar a existência de falhas em dados
numéricos em um campo de caracteres. Por exemplo, você pode testar números de cheques, que nor-
malmente são formatados como dados de caracteres.
Se letras e números aparecerem juntos em um campo de caracteres, apenas os números serão testados e
as letras serão ignoradas.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 227 de 966


Comandos

Comando GROUP
Executa um ou mais comandos do ACLScript em um registro antes de passar ao próximo registro na
tabela, executando apenas uma passagem pela tabela. A execução do comando pode ser controlada por
condições.

Sintaxe
GROUP <IF teste> <WHILE teste> <FIRST intervalo|NEXT intervalo>
comando
<...n>
<ELSE IF teste>
comando
<...n>
<ELSE>
comando
<...n>
END

Nota
Alguns comandos do Analytics não podem ser usados com o comando GROUP. Para
obter mais informações, consulte "Comandos que podem ser usados dentro do comando
GROUP" Na página 232.

Parâmetros
Nome Descrição

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes
em uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 228 de 966


Comandos

Nome Descrição

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número
opcional de registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até
alcançar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

comando <...n> Um ou mais comandos de script do ACL para execução dentro do GROUP. Para obter
uma lista completa dos comandos permitidos dentro de GROUP, consulte "Comandos
que podem ser usados dentro do comando GROUP" Na página 232.
Se houver um IF ou ELSE IF anteriores, o teste deverá ser avaliado como verdadeiro.
Se o estiver abaixo de ELSE, o comando será executado se houver registros que não
foram processados por nenhum dos comandos precedentes. Você pode incluir vários
comandos, com cada comando começando em uma linha separada.

ELSE IF teste Abre um block ELSE IF para o comando GROUP. A condição testa os registros que não
corresponderam no teste do comando GROUP ou em algum teste ELSE IF anterior.
opcional
Você pode incluir vários testes ELSE IF, que serão avaliados de cima para baixo, até
que o registro seja avaliado como verdadeiro e os comandos após essa instrução
ELSE IF sejam executados.

ELSE Abre um bloco ELSE para o comando GROUP. Os comandos seguintes são exe-
cutados para os registros avaliados como falso em todos os testes anteriores.
opcional

END O final do comando GROUP.

Exemplos
GROUP simples
Os grupos simples que iniciam com um comando GROUP são seguidos por uma série de comandos e ter-
minam com um comando END:

GROUP
COUNT
HISTOGRAM ON Quantidade MINIMUM 0 MAXIMUM 100 INTERVALS 10
CLASSIFY ON Local SUBTOTAL Quantidade
END

GROUP IF
Grupos condicionais executam comandos baseados em uma condição verdadeira ou falsa. O comando

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 229 de 966


Comandos

GROUP a seguir é executado somente em registros com um valor de Classe_produto inferior a 5:

GROUP IF Classe_produto < "05"


COUNT
HISTOGRAM ON Quantidade MINIMUM 0 MAXIMUM 100 INTERVALS 10
CLASSIFY ON Local SUBTOTAL Quantidade
END

GROUP IF ...ELSE
Os registros que não satisfazem a condição do teste são ignorados, a menos que você inclua um bloco
ELSE.
Qualquer número de comandos pode seguir uma instrução ELSE. No exemplo a seguir, todos os regis-
tros que não atenderem à condição serão processados tendo seus campos Quantidade totalizados:

GROUP IF Classe_produto < "05"


COUNT
HISTOGRAM ON Quantidade MINIMUM 0 MAXIMUM 100 INTERVALS 10
CLASSIFY ON Local SUBTOTAL Quantidade
ELSE
TOTAL Quantidade
END

GROUP IF...ELSE IF...ELSE


Você pode incluir vários blocos ELSE IF em um grupo, desde que cada bloco ELSE IF contenha um teste
diferente. No exemplo a seguir, os blocos ELSE IF e o bloco ELSE produzem quatro totais:

GROUP IF Classe_produto < "05"


COUNT
HISTOGRAM ON Quantidade MINIMUM 0 MAXIMUM 100 INTERVALS 10
CLASSIFY ON Local SUBTOTAL Quantidade
ELSE IF Classe_produto = "05"
TOTAL Quantidade
ELSE IF Classe_produto = "06"
TOTAL Quantidade
ELSE IF Classe_produto = "07"
TOTAL Quantidade
ELSE
TOTAL Quantidade
END

Comandos GROUP aninhados


Grupos aninhados são grupos incluídos em outros grupos. Os grupos aninhados fornecem uma forma

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 230 de 966


Comandos

poderosa de controlar quais comandos são executados para quais registros. A maioria das aplicações não
necessita deste nível avançado de funcionalidade, mas ele está disponível, se necessário.
Como em outros grupos, use o comando END para encerrar um grupo aninhado. O Analytics somente
começa a processar os dados após o término de todos os comandos:

GROUP IF Classe_produto < "05"


COUNT
STRATIFY ON Quantidade SUBTOTAL Quantidade MIN 0 MAX 100 INT 10
GROUP IF Quantidade> 0
STATISTICS ON Quantidade
HISTOGRAM ON Quantidade
END
ELSE
TOTAL Quantidade
END

Nesse exemplo, todos os comandos desde COUNT até o próximo GROUP, inclusive, somente serão exe-
cutados se Classe_produto for menor do que 05.
Os comandos STATISTICS e HISTOGRAM serão executados se Quantidade for maior que zero. Entre-
tanto, quando o segundo comando GROUP é aninhado, os comandos STATISTICS e HISTOGRAM são
executados somente para registros que atendam às condições Classe_produto < "05" e Quantidade > 0.

Geração de variáveis do sistema dentro de um GROUP


Você pode usar GROUP para criar diversas variáveis do sistema para um único comando.
Normalmente, ao executar um comando como TOTAL, COUNT ou STATISTICS, apenas uma variável do
sistema é gerada. Toda vez que você executa o comando, substitui o valor da última execução do
comando. Comandos executados dentro de um GROUP criam uma variável específica para cada instância
do comando dentro do GROUP.
Neste exemplo, o comando TOTAL calcula a soma do campo Total para cada classe de produto na tabela
Metaphor_Trans_2002. Quando o código é executado, as seguintes variáveis são geradas e podem ser
usadas em comandos subsequentes depois de GROUP:
l TOTAL2: a soma do campo Total para a classe de produto 03
l TOTAL3: a soma do campo Total para a classe de produto 05
l TOTAL4: a soma do campo Total para a classe de produto 08
l TOTAL5: a soma do campo Total para a classe de produto 09

OPEN Metaphor_Trans_2002
GROUP
TOTAL AMOUNT IF PRODCLS = "03"
TOTAL AMOUNT IF PRODCLS = "05"
TOTAL AMOUNT IF PRODCLS = "08"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 231 de 966


Comandos

TOTAL AMOUNT IF PRODCLS = "09"


END
CLOSE Metaphor_Trans_2002

Observações
Dica
Para ver um tutorial detalhado cobrindo os comandos GROUP e LOOP, consulte "Agru-
pamento e loops" Na página 33.

Comandos que podem ser usados dentro do comando


GROUP
A tabela a seguir lista os comandos do Analytics que podem ser usados dentro do comando GROUP.
Se um comando não estiver listado abaixo, não poderá ser usado dentro de GROUP.

AGE ASSIGN BENFORD

CLASSIFY COMMENT COUNT

CROSSTAB DUPLICATES EXPORT

EXTRACT GAPS GROUP

HISTOGRAM JOIN LIST

LOOP MERGE PROFILE

REPORT SEQUENCE STATISTICS

STRATIFY SUMMARIZE TOTAL

VERIFY

Agrupamento e loops
O comando GROUP permite que você execute vários comandos em um registro antes de passar ao pró-
ximo registro na tabela, o que pode reduzir significativamente o tempo de processamento.
Você pode usar o comando LOOP dentro do comando GROUP se precisar executar uma série de coman-
dos mais de uma vez.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 232 de 966


Comandos

Uso de variáveis com GROUP


Variáveis definidas pelo usuário
Para usar uma variável dentro do comando GROUP, defina a variável antes de inserir o bloco GROUP.
Nota
Embora seja possível inicializar e definir uma variável dentro de um bloco GROUP, não é
recomendado fazer isso. As variáveis inicializadas em um GROUP podem causar resul-
tados inesperados quando usadas.
Dentro de um GROUP, é possível avaliar variáveis usando a substituição de variável. O valor da variável
continua o mesmo de quando GROUP é inserido.
Você não pode definir uma variável dentro de um GROUP e então indicá-la como referência usando a subs-
tituição de variável:

ASSIGN v_teste = "olá"


GROUP
ASSIGN v_teste2 = "%v_teste% mundo"
COMMENT isto seria inválido: v_teste3 = "%v_teste2% novamente"
END

Variáveis definidas pelo sistema


Alguns comandos, como TOTAL e STATISTICS, geram variáveis do sistema baseadas em cálculos que os
comandos realizam. Se usar GROUP para executar esses comandos, todas as variáveis do sistema resul-
tantes serão numeradas consecutivamente, iniciando no número da linha de comando dentro do GROUP
(exceto linhas vazias) e executando para n. O valor de n aumenta em 1 para cada número de linha no
GROUP.
Nota
Você precisa aguardar até que GROUP seja concluído antes de usar qualquer variável
gerada pelo sistema criada dentro do GROUP. O comando deve ser executado contra
cada registro na tabela antes de a variável estar disponível. Use essas variáveis depois de
fechar a palavra-chave END do GROUP.
No exemplo a seguir, o primeiro comando TOTAL gera a variável TOTAL2 e o segundo gera TOTAL4.
Ambas variáveis estão disponíveis para uso em comandos subsequentes depois da conclusão de GROUP:

GROUP
TOTAL Desconto IF Prioridade_Pedido = "Baixa"
ASSIGN v_var = "teste"
TOTAL Desconto IF Prioridade_Pedido = "Alta"
END

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 233 de 966


Comandos

Notas de sintaxe
l A sintaxe com várias linhas listada para o comando é obrigatória, e assim o comando GROUP não
pode ser inserido na linha de comando.
l Cada comando GROUP deve ser encerrado com um comando END.
l Ao usar o comando GROUP em seus scripts, é possível melhorar a legibilidade do bloco de
comando indexando os comandos listados dentro do grupo.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 234 de 966


Comandos

Comando HELP
Abre os documentos de ajuda do Analytics em um navegador.

Sintaxe
HELP

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 235 de 966


Comandos

Comando HISTOGRAM
Agrupa os registros com base em valores de um campo de caracteres ou numérico, conta o número de
registros em cada grupo e exibe os grupos e contagens em um gráfico de barras.

Sintaxe
HISTOGRAM {<ON> campo_de_caractere|<ON> campo_numérico MINIMUM valor MAXIMUM
valor {<INTERVALS número>|FREE valor_intervalo <...n> último_intervalo}} <TO {SCREEN|nome_
arquivo|GRAPH|PRINT}> <IF teste> <WHILE teste> <FIRST intervalo|NEXT intervalo> <HEADER
texto_cabeçalho> <FOOTER texto_cabeçalho> <KEY campo_divisão> <SUPPRESS>
<COLUMNS número> <APPEND> <LOCAL> <OPEN>

Parâmetros
Nome Descrição

ON campo_de_caractere O campo ou expressão de caracteres a ser utilizado no histograma.

ON campo_numérico O campo ou expressão numérica a ser utilizado no histograma.

MINIMUM valor Aplica-se somente a campos numéricos. O valor mínimo do primeiro intervalo numé-
rico.
MINIMUM será opcional se você usar FREE. Caso contrário, será obrigatório.

MAXIMUM valor Aplica-se somente a campos numéricos. O valor máximo do último intervalo numérico.
MAXIMUM será opcional se você usar FREE. Caso contrário, será obrigatório.

INTERVALS número Aplica-se somente a campos numéricos.


opcional A quantidade de intervalos de tamanhos iguais que o Analytics deve produzir na faixa
especificada pelos valores MINIMUM e MAXIMUM. Se a quantidade de intervalos não
for especificada, uma quantidade padrão é utilizada.
O padrão é especificado pelo número Intervalos na guia Comando na caixa de diálogo
Opções.

FREE valor_do_intervalo Aplica-se somente a campos numéricos.


<...n> último_intervalo
Cria intervalos de tamanho personalizado, especificando o ponto inicial de cada inter-
opcional valo e o ponto final do último intervalo.
Se os valores MINIMUM e MAXIMUM forem especificados, eles serão o ponto inicial do
primeiro intervalo e o ponto final do último intervalo, e cada valor_intervalo criará um
novo intervalo nesta faixa. Os valores de intervalo especificados devem ser maiores
que o valor MINIMUM e iguais ou menores que o valor MAXIMUM.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 236 de 966


Comandos

Nome Descrição

Os valores do intervalo devem estar em sequência numérica e não podem conter valo-
res duplicados:

FREE -1000, 0, 1000, 2000, 3000

Se você especificar FREE e INTERVALS, INTERVALS será ignorado.

TO SCREEN | nome_ A localização para onde enviar os resultados do comando:


arquivo | GRAPH | PRINT o SCREEN: exibe os resultados na área de exibição do Analytics
o nome_arquivo: salva os resultados em um arquivo
Especifique nome_arquivo como uma cadeia entre aspas com uma extensão de
arquivo apropriada. Por exemplo: TO "Saída.TXT"
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma
pasta diferente já existente:
l TO "C:\Saída.TXT"
l TO "Resultados\Saída.TXT"
o GRAPH: exibe os resultados em um gráfico na área de exibição do Analytics
o PRINT: envia os resultados para a impressora padrão
Nota
Os resultados do histograma enviados a um arquivo são uma repre-
sentação em texto de um gráfico de barras.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes
em uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número
opcional de registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até
alcançar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 237 de 966


Comandos

Nome Descrição

HEADER texto_cabeçalho O texto a ser inserido na parte superior de cada página de um relatório.
opcional texto_cabeçalho deve ser especificado como uma cadeia entre aspas. O valor substitui
a variável de sistema HEADER do Analytics.

FOOTER texto_rodapé O texto a ser inserido na parte inferior de cada página de um relatório.
opcional texto_rodapé deve ser especificado como uma cadeia entre aspas. O valor substitui a
variável de sistema FOOTER do Analytics.

KEY campo_quebra O campo ou expressão que agrupa cálculos de subtotal. Um subtotal é calculado cada
vez que o valor de campo_quebra muda.
opcional
campo_quebra deve ser um campo ou expressão de caracteres. Apenas um campo
pode ser especificado, mas é possível usar uma expressão que contém mais que um
campo.

SUPPRESS Valores maiores que MAXIMUM e menores que MINIMUM devem ser excluídos da
saída do comando.
opcional

COLUMNS número O comprimento do eixo x na representação textual do gráfico de barras se você gerar
os resultados do histograma em um arquivo de texto.
opcional
O valor número é o número de espaços de caractere (colunas de texto) usado para o
eixo x (e os rótulos do eixo y). Se COLUMNS for omitido, o padrão de 78 espaços de
caractere será usado.

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional Nota
Você deve garantir que a estrutura da saída do comando e o arquivo
existente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua
estrutura. Se a estrutura da saída e do arquivo existente não cor-
responderem, o resultado poderá ser dados misturados, ausentes ou
incorretos.

LOCAL Salva o arquivo de saída no mesmo local que o projeto do Analytics.


opcional Nota
Aplicável apenas na execução de um comando em uma tabela de ser-
vidor com um campo de saída que é uma tabela do Analytics.

OPEN Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o
comando criar uma tabela de saída.
opcional

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 238 de 966


Comandos

Exemplos
Histograma básico para salário por hora
Use HISTOGRAM para criar um gráfico mostrando a distribuição dos salários entre 0 e 100 dólares por
hora:

HISTOGRAM ON Taxa MINIMUM 0 MAXIMUM 100 TO GRAPH

Histograma com intervalos definidos por salário por hora


Continuando o exemplo anterior, use HISTOGRAM para especificar os intervalos no gráfico de maneira
mais significativa.
A maioria dos salários se situa entre 20 e 50 dólares por hora. Portanto, portanto o gráfico inclui a seguinte
distribuição de intervalos:
l três no intervalo de 20 a 50
l um para 0 a 20
l um para 50 a 100
l um para maior que 100

HISTOGRAM ON Salario MINIMUM 0 MAXIMUM 100 FREE 20;30;40;50;100 TO GRAPH

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Preenchimento de valores baixos e altos


Os comandos STATISTICS e PROFILE podem ser executados em um campo numérico antes da exe-
cução do comando HISTOGRAM para popular automaticamente os valores dos parâmetros MINIMUM e
MAXIMUM com os valores mínimo e máximo do campo.

Comandos relacionados
Criar um histograma usando um campo de caracteres é similar a classificar. Criar um histograma usando
um campo numérico é similar a estratificar.
Diferentemente de outras operações de agrupamento do Analytics, os histogramas não oferecem suporte
à subtotalização de campos numéricos.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 239 de 966


Comandos

Comando IF
Especifica uma condição que deve ser avaliada como verdadeira para executar um comando.

Sintaxe
IF teste comando

Parâmetros
Nome Descrição

testar A condição que deve ser cumprida para que o comando seja executado.

comando Qualquer comando de ACLScript válido para execução se teste for avaliado como ver-
dadeiro.

Exemplos
Execução condicional de um comando
Você quer usar CLASSIFY em uma tabela, mas somente se a variável v_contador for maior que dez:

IF v_contador > 10 CLASSIFY ON Local TO "Contagem_por_local.fil" OPEN

Execução de um comando com base em uma decisão do usuário


Você quer permitir que o usuário do script decida se a tabela deve ou não ser classificada.
No script, inclua uma caixa de diálogo com uma caixa de seleção que, se selecionada, permite a exe-
cução do comando CLASSIFY. A caixa de seleção armazena um valor de entrada verdadeiro ou falso na
variável lógica v_caixa_seleção_classificar.
Use um teste IF para determinar o valor de v_caixa_seleção_classificar. Se o valor for verdadeiro,
CLASSIFY será executado:

IF v_caixa_seleção_classificar=T CLASSIFY ON Local TO "Contagem_por_local.fil" OPEN

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 240 de 966


Comandos

Observações
Comparação entre o comando IF e o parâmetro IF
A lógica do comando IF difere do parâmetro IF usado pela maioria dos comandos:
l O comando IF: determina se um comando associado é executado ou não, dependendo do valor da
expressão de teste
l O parâmetro IF: determina se o comando é executado em cada registro de uma tabela do Analytics
com base no valor da expressão de teste

Tomada de decisão em scripts


Em um script, você pode inserir uma série de testes do comando IF e executar comandos diferentes base-
ados nos resultados. O comando IF Também pode ser usado para testar o valor de uma variável para deter-
minar se há necessidade de mais processamento.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 241 de 966


Comandos

Comando IMPORT ACCESS


Cria uma tabela do Analytics definindo e importando um arquivo de banco de dados do Microsoft Access.

Sintaxe
IMPORT ACCESS TO tabela <PASSWORD num> nome_arquivo_importação FROM nome_
arquivo_origem TABLE nome_da_tabela_de_entrada CHARMAX tamanho_máximo_do_campo
MEMOMAX tamanho_máximo_do_campo

Parâmetros
Nome Descrição

TO tabela O nome da tabela do Analytics na qual os dados serão importados.


Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos. O
nome pode incluir o caractere de sublinhado ( _ ) mas nenhum outro
caractere especial e nenhum espaço. O nome não pode começar com
um número.

PASSWORD num Usado apenas com arquivos do Access protegidos por senha.
opcional A definição de senha a ser usada.
PASSWORD num não é usado para solicitar ou especificar uma senha real. A definição
de senha faz referência a uma senha previamente fornecida ou definida com o
comando PASSWORD, o comando SET PASSWORD ou a tag de análise PASSWORD.
num é o número da definição de senha. Por exemplo, se as duas senhas foram pre-
viamente fornecidas ou definidas em um script, ou no agendamento de uma análise,
PASSWORD 2 especifica o uso da senha nº 2.
Para obter mais informações sobre o fornecimento ou a definição de senhas, consulte:
l "Comando PASSWORD" Na página 363
l "Comando SET" Na página 424
l Tag de análise PASSWORD
Para obter mais informações sobre o fornecimento ou a definição de senhas, consulte:
l Comando PASSWORD
l Comando SET
l Tag de análise PASSWORD

nomearquivo_importação O nome do arquivo de dados do Analytics a ser criado.


Especifique nome_arquivo_importação como uma cadeia entre aspas com uma exten-
são de arquivo .FIL. Por exemplo, "Faturas.FIL".

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 242 de 966


Comandos

Nome Descrição

Por padrão, o arquivo de dados (.FIL) é salvo na pasta que contém o projeto do Analy-
tics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
o "C:\dados\Faturas.FIL"
o "dados\Faturas.FIL"

FROM nome_arquivo_ori- O nome do arquivo de dados de origem. nome_arquivo_origem deve ser uma cadeia
gem entre aspas.
Se o arquivo de dados de origem não está localizado no mesmo diretório que o projeto
do Analytics, é necessário usar um caminho absoluto para especificar a localização do
arquivo:
o "C:\dados\nome_arquivo_origem"
o "dados\nome_arquivo_origem"

TABLE nome_da_tabela_ O nome da tabela no arquivo de banco de dados do Microsoft Access a ser importado.
de_entrada

CHARMAX tamanho_ O tamanho máximo em caracteres de qualquer campo na tabela do Analytics originada
máximo_do_campo como dados caractere no arquivo de dados de origem que você está importando.
Você pode especificar de 1 a 255 caracteres.

MEMOMAX tamanho_ O comprimento máximo, em caracteres, do texto, anotação ou campos de memorando


máximo_do_campo que você está importando.
Você pode especificar de 1 a 32767 caracteres (Analytics não Unicode) ou de 1 a
16383 caracteres (Analytics Unicode).

Exemplos
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Importação para uma tabela


Você tem um arquivo do Microsoft Access denominado Códigos_Aceitáveis.mdb. É preciso importar
a tabela [Códigos_Aceitáveis] do arquivo para o Analytics. Para fazer isso, você usa o comando a seguir e
cria uma tabela denominada códigos_aceitáveis no Analytics.
O comprimento dos campos de caracteres ou memorando importados é definido como o comprimento do
valor mais longo do campo ou como o número máximo de caracteres especificado, o que for menor:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 243 de 966


Comandos

SET ECHO NONE


SET PASSWORD 1 TO "qr347wx"
SET ECHO ON
IMPORT ACCESS TO códigos_aceitáveis PASSWORD 1 "C:\ACL Data\Arquivos de dados da amos-
tra\códigos_aceitáveis.fil" FROM "Códigos_Aceitáveis.mdb" TABLE "[Códigos_Aceitáveis]"
CHARMAX 60 MEMOMAX 70

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 244 de 966


Comandos

Comando IMPORT DELIMITED


Cria uma tabela do Analytics definindo e importando um arquivo de texto delimitado.

Sintaxe
IMPORT DELIMITED TO tabela nome_arquivo_importação FROM nome_arquivo_origem <SERVER
nome_perfil> codificação_caracteres_origem SEPARATOR {carac|TAB|SPACE} QUALIFIER
{carac|NONE} <CONSECUTIVE> STARTLINE número_linha <KEEPTITLE> <CRCLEAR>
<LFCLEAR> <REPLACENULL> <ALLCHAR> {ALLFIELDS|[sintaxe_do_campo] <...n> <IGNORE
num_campo> <...n>}

sintaxe_campo ::=
FIELD nome tipo AT posição_inicial DEC valor WID bytes PIC formato AS nome_exibicao

Parâmetros
Nome Descrição

TO tabela O nome da tabela do Analytics na qual os dados serão importados.


Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos. O nome
pode incluir o caractere de sublinhado ( _ ) mas nenhum outro caractere
especial e nenhum espaço. O nome não pode começar com um número.

nomearquivo_importação O nome do arquivo de dados do Analytics a ser criado.


Especifique nome_arquivo_importação como uma cadeia entre aspas com uma exten-
são de arquivo .FIL. Por exemplo, "Faturas.FIL".
Por padrão, o arquivo de dados (.FIL) é salvo na pasta que contém o projeto do Analy-
tics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em uma
pasta diferente já existente:
o "C:\dados\Faturas.FIL"
o "dados\Faturas.FIL"

FROM nome_arquivo_ori- O nome do arquivo de dados de origem. nome_arquivo_origem deve ser uma cadeia
gem entre aspas.
Se o arquivo de dados de origem não está localizado no mesmo diretório que o projeto
do Analytics, é necessário usar um caminho absoluto para especificar a localização do
arquivo:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 245 de 966


Comandos

Nome Descrição

o "C:\dados\nome_arquivo_origem"
o "dados\nome_arquivo_origem"

SERVER nome_perfil O nome do perfil do servidor do Servidor AX onde os dados que você deseja importar
estão localizados.
opcional

codificação_caracteres_ori- O conjunto de caracteres e a codificação dos dados de origem.


gem
Dependendo da edição do Analytics usada e da codificação dos dados de origem, use
uma das seguintes opções:

Edição do
Código Analytics Codificação dos dados de origem

Edição não Uni- todos os dados


0 code

0 Edição Unicode Dados ASCII

2 Edição Unicode dados Unicode, codificação UTF-16 LE

Edição Unicode Dados Unicode que não usam a codificação UTF-16 LE


Para determinar o código numérico correspondente à codi-
ficação dos dados de origem, execute uma importação
usando o Assistente de Definição de Dados, sele-
cione a opção Texto codificado e encontre a codi-
ficação na lista suspensa.
3 código_ Para especificar o código, especifique 3 , acrescente um
numérico espaço e, em seguida, o código numérico.

SEPARATOR caractere | O caractere separador (delimitador) usado entre campos nos dados de origem. É preciso
TAB | SPACE especificar o caractere como uma cadeia entre aspas.
Você pode especificar um separador tabulação ou espaço digitando o caractere entre
aspas ou usando uma palavra-chave:
o SEPARATOR " " ou SEPARATOR TAB
o SEPARATOR " " ou SEPARATOR SPACE

QUALIFIER caractere | O caractere qualificador de texto para os dados de origem. Os valores dos campos des-
NONE ses dados são colocados entre caracteres qualificadores para identificação. É preciso
especificar o caractere como uma cadeia entre aspas.
Para especificar o caractere aspas como um qualificador de texto, coloque o caractere
entre apóstrofos: QUALIFIER '"'.
Você pode especificar que não há qualificadores de texto usando um dos seguintes
métodos:
o QUALIFIER ""
o QUALIFIER NONE

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 246 de 966


Comandos

Nome Descrição

CONSECUTIVE Qualificadores consecutivos de texto devem ser tratados como um único qualificador.
opcional

STARTLINE número_linha A linha em que começam os dados.


Por exemplo, se as primeiras quatro linhas de dados contiverem informações de cabe-
çalho indesejadas, especifique 5 como número_linha.

KEEPTITLE Trate o número de linha especificado por STARTLINE como nomes de campos em vez
de dados. Se você omitir KEEPTITLE, serão usados nomes de campo genéricos.
opcional
Se você especificar a sintaxe FIELD individualmente, o nome do FIELD terá precedência
sobre os valores na primeira linha do arquivo delimitado. Nessa situação, KEEPTITLE
evita a importação dos valores da primeira linha.

CRCLEAR Substitui todos os caracteres CR (retorno de carro) que ocorrem entre qualificadores de
texto por caracteres de espaço. Você deve especificar QUALIFIER com um valor carac-
opcional
tere para usar CRCLEAR.
Se você usar CRCLEAR e LFCLEAR, CRCLEAR deve ser o primeiro.

LFCLEAR Substitui todos os caracteres LF (quebra de linha) que ocorrem entre qualificadores de
texto por caracteres de espaço. Você deve especificar QUALIFIER com um valor carac-
opcional
tere para usar LFCLEAR.
Se você usar CRCLEAR e LFCLEAR, CRCLEAR deve ser o primeiro.

REPLACENULL Substitui todos os caracteres NUL que ocorrem no arquivo delimitado por caracteres de
espaço. O número dos caracteres NUL substituídos é gravado no log.
opcional

ALLCHAR O tipo de dados caractere é atribuído automaticamente a todos os campos importados.


opcional Dica
A atribuição do tipo de dados caractere a todos os campos importados
simplifica o processo de importação de arquivos texto delimitados.
Depois que os dados estiverem no Analytics, você poderá atribuir tipos
de dados diferentes, como Numérico ou DataHora, aos campos, e espe-
cificar detalhes do formato.
ALLCHAR é útil na importação de uma tabela com campos iden-
tificadores com o tipo de dados numérico atribuído automaticamente pelo
Analytics, quando na verdade o tipo de dados deveria ser caractere.

ALLFIELDS Todos os campos no arquivo de dados de origem são importados.


Para obter informações sobre como o Analytics atribui tipos de dados quando você usa
ALLFIELDS, consulte "Observações" Na página 250.
Nota
Se você especificar ALLFIELDS, não especifique nenhuma sintaxe FIELD
individual ou IGNORE.

FIELD nome tipo Os campos individuais no arquivo de dados de origem a importar, incluindo o nome e o

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 247 de 966


Comandos

Nome Descrição

tipo de dados do campo. Para excluir um campo da importação, não o especifique.


Para obter mais informações sobre tipo, consulte "Identificadores para os tipos de dados
de campo" Na página 251.
Nota
tipo será ignorado se você especificar ALLCHAR.

AT posição_inicial A posição inicial em bytes do campo no arquivo de dados do Analytics.


Nota

Analytics não Unicode 1 byte = 1 caractere

Analytics Unicode 2 bytes = 1 caractere

No Analytics Unicode, normalmente você deve especificar uma posição


inicial em bytes ímpar. A especificação de uma posição inicial par pode
causar exibição incorreta de caracteres.

DEC valor O número de casas decimais para campos numéricos.


Nota
DEC será ignorado se você especificar ALLCHAR.

WID bytes O comprimento em bytes do campo no layout da tabela do Analytics.


Nota

Analytics não Unicode 1 byte = 1 caractere

Analytics Unicode 2 bytes = 1 caractere

No Analytics Unicode, especifique apenas um número de bytes par. A


especificação de um número ímpar de bytes pode causar exibição incor-
reta de caracteres.

PIC formato Nota


Aplica-se somente a campos numéricos ou de datahora.
o campos numéricos: o formato de exibição de valores numéricos em exibições e rela-
tórios do Analytics
o campos datahora: o formato físico dos valores datahora nos dados de origem (ordem
de caracteres de data e hora, separadores e assim por diante)
Nota
Para campos de datahora, formato deve corresponder exatamente ao
formato físico dos dados de origem. Por exemplo, se os dados de ori-
gem são 31/12/2014, você deve inserir o formato como
"DD/MM/AAAA".
formato deve estar entre aspas.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 248 de 966


Comandos

Nome Descrição

Nota
PIC será ignorado se você especificar ALLCHAR.

AS nome_exibicao O nome de exibição (título alternativo da coluna) para o campo na exibição na nova
tabela do Analytics.
Especifique nome_exibicao como uma cadeia entre aspas. Utilize um ponto e vírgula (;)
entre palavras se quiser uma quebra de linha no título da coluna.
AS é obrigatório na definição de um FIELD. Para que o nome de exibição seja igual ao
nome do campo, insira um valor de nome_exibicao em branco usando a seguinte sin-
taxe: AS "". Verifique se não há espaço entre as duas aspas.

IGNORE num_campo Exclui o campo do layout da tabela.


<...n>
num_campo especifica a posição do campo nos dados de origem. Por exemplo,
opcional IGNORE 5 exclui o quinto campo nos dados de origem do layout da tabela do Analytics.
Nota
Os dados do campo ainda são importados, mas são indefinidos, e não
são exibidos na nova tabela do Analytics. Os dados podem ser definidos
posteriormente, se necessário, e adicionados à tabela.
Para excluir completamente um campo da importação, não o especifique
durante a especificação dos campos individuais.

Exemplos
Importação de todos os campos
Importe todos os campos de um arquivo delimitado por vírgula para uma tabela do Analytics chamada Fun-
cionários . O arquivo usa aspas como qualificador de texto. Os tipos de dados são atribuídos auto-
maticamente com base no conjunto de regras descrito em "Observações" Na página seguinte:

IMPORT DELIMITED TO Funcionários "Funcionários.fil" FROM "Funcionários.csv" 0 SEPARATOR ","


QUALIFIER '"' CONSECUTIVE STARTLINE 1 KEEPTITLE ALLFIELDS

Importação de todos os campos com atribuição automática do tipo de dados


caractere
Importe todos os campos de um arquivo delimitado por vírgula para uma tabela do Analytics chamada Fun-
cionários . O arquivo usa aspas como qualificador de texto. O tipo de dados caractere é atribuído auto-
maticamente a todos os campos importados:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 249 de 966


Comandos

IMPORT DELIMITED TO Funcionários "Funcionários.fil" FROM "Funcionários.csv" 0 SEPARATOR


"," QUALIFIER '"' CONSECUTIVE STARTLINE 1 KEEPTITLE ALLCHAR ALLFIELDS

Importação de campos especificados com atribuição automática do tipo de


dados caractere
Importe os campos especificados de um arquivo delimitado por tabulação para uma tabela do Analytics
chamada Funcionários . O arquivo usa aspas como qualificador de texto. O tipo de dados caractere é atri-
buído automaticamente a todos os campos importados:

IMPORT DELIMITED TO Funcionários "Funcionários.fil" FROM "Funcionários.csv" 0 SEPARATOR


TAB QUALIFIER '"' CONSECUTIVE STARTLINE 1 KEEPTITLE ALLCHAR FIELD "Nome" C AT 1
DEC 0 WID 25 PIC "" AS "Nome" FIELD "Sobrenome" C AT 26 DEC 0 WID 25 PIC "" AS "Sobre-
nome" FIELD "NumCart" C AT 51 DEC 0 WID 16 PIC "" AS "Número de cartão" FIELD "NumFunc" C
AT 67 DEC 0 WID 6 PIC "" AS "Número do funcionário" FIELD "DataContratação" C AT 73 DEC 0
WID 10 PIC "" AS "Data de contratação" FIELD "Salário" C AT 83 DEC 0 WID 5 PIC "" AS "" FIELD
"Bônus_2016" C AT 88 DEC 0 WID 10 PIC "" AS "Bônus 2016"

Importação de campos especificados com atribuição individual de tipos de


dados
Importe os campos especificados de um arquivo delimitado por ponto e vírgula para uma tabela do Analy-
tics chamada Funcionários . O arquivo não usa qualificadores de texto. Especifique o tipo de dados de
cada campo importado:

IMPORT DELIMITED TO Funcionários "Funcionário.fil" FROM "Funcionários.csv" 0 SEPARATOR


";" QUALIFIER "" CONSECUTIVE STARTLINE 1 KEEPTITLE FIELD "Nome" C AT 1 DEC 0 WID
25 PIC "" AS "Nome" FIELD "Sobrenome" C AT 26 DEC 0 WID 25 PIC "" AS "Sobrenome" FIELD
"NumCart" C AT 51 DEC 0 WID 16 PIC "" AS "Número de cartão" FIELD "NumFunc" C AT 67 DEC 0
WID 6 PIC "" AS "Número do funcionário" FIELD "DataContratação" D AT 73 DEC 0 WID 10 PIC
"DD/MM/YYYY" AS "Data de contratação" FIELD "Salário" N AT 83 DEC 0 WID 5 PIC "" AS "" FIELD
"Bônus_2016" N AT 88 DEC 2 WID 10 PIC "" AS "Bônus 2016"

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda
do Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 250 de 966


Comandos

Como o Analytics atribui tipos de dados quando você usa


ALLFIELDS
Quando você usa o parâmetro ALLFIELDS, em vez de definir campos individualmente, o Analytics exa-
mina um subconjunto de registros do início do arquivo delimitado e atribui tipos de dados de acordo com o
conjunto de regras definido a seguir.
Depois que os dados estiverem no Analytics, você poderá atribuir tipos de dados diferentes, como Numé-
rico ou DataHora, aos campos, e especificar detalhes do formato.

Tipo de dados atri-


Descrição dos valores de campo no arquivo delimitado Exemplos buído

Valores entre qualificadores de texto "Fornecedores ABC" Caractere


"6.990,75"

Os valores incluem um caractere não numérico em qualquer lugar do $995 Caractere


campo, com a exceção de vírgulas e pontos usados como sepa-
(995)
radores numéricos e o sinal negativo (-)

Os valores incluem somente números, separadores numéricos ou o 6,990.75 Numérico


sinal negativo
-6,990.75
995

Um ou mais valores em branco ocorrem em um campo Caractere

Valores datahora com separadores ou meses alfabéticos 2016/12/31 Caractere


31 dez 2016

Valores datahora totalmente numéricos 20161231 Numérico

Identificadores para os tipos de dados de campo


A tabela abaixo lista as letras que você deve usar ao especificar o tipo para FIELD. Cada letra corresponde
a um tipo de dado.
Por exemplo, se você estiver definindo um campo Sobrenome, que usa um tipo de dado de caractere, você
especificaria "C": FIELD "Sobrenome" C.
Nota
Ao usar o Assistente de Definição de Dados para definir uma tabela que inclui campos
EBCDIC, Unicode ou ASCII, os campos recebem automaticamente a letra “C” (para o tipo
CARACTERE).
Ao inserir a instrução IMPORT manualmente ou editar uma instrução IMPORT, você pode
substituir as letras mais específicas “E” ou “U” para os campos EBCDIC ou Unicode.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 251 de 966


Comandos

Letra Tipo de dados

A ACL

B BINARY

C CHARACTER

D DATETIME

E EBCDIC

F FLOAT

G ACCPAC

I IBMFLOAT

K UNSIGNED

L LOGICAL

N PRINT

P PACKED

Q BASIC

R MICRO

S CUSTOM

T PCASCII

U UNICODE

V VAXFLOAT

X NUMERIC

Y UNISYS

Z ZONED

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 252 de 966


Comandos

Comando IMPORT EXCEL


Cria uma tabela do Analytics definindo e importando uma planilha ou intervalo nomeado do Microsoft Excel.

Sintaxe
IMPORT EXCEL TO tabela nome_arquivo_importação FROM nome_arquivo_origem TABLE pla-
nilha_ou_intervalo_nomeado_de_entrada <KEEPTITLE> {ALLFIELDS|CHARMAX tamanho_
máximo_do_campo|[sintaxe_do_campo] <...n> <IGNORE num_campo> <...n>} <OPEN>

sintaxe_campo ::=
FIELD nome tipo {PIC formato|WID caracteres DEC valor} AS nome_exibicao

Parâmetros
Nome Descrição

TO tabela O nome da tabela do Analytics na qual os dados serão importados.


Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos. O nome
pode incluir o caractere de sublinhado ( _ ) mas nenhum outro caractere
especial e nenhum espaço. O nome não pode começar com um número.

nomearquivo_importação O nome do arquivo de dados do Analytics a ser criado.


Especifique nome_arquivo_importação como uma cadeia entre aspas com uma exten-
são de arquivo .FIL. Por exemplo, "Faturas.FIL".
Por padrão, o arquivo de dados (.FIL) é salvo na pasta que contém o projeto do Analy-
tics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em uma
pasta diferente já existente:
o "C:\dados\Faturas.FIL"
o "dados\Faturas.FIL"

FROM nome_arquivo_ori- O nome do arquivo de dados de origem. nome_arquivo_origem deve ser uma cadeia
gem entre aspas.
Se o arquivo de dados de origem não está localizado no mesmo diretório que o projeto
do Analytics, é necessário usar um caminho absoluto para especificar a localização do
arquivo:
o "C:\dados\nome_arquivo_origem"
o "dados\nome_arquivo_origem"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 253 de 966


Comandos

Nome Descrição

TABLE planilha_ou_inter- A planilha ou o intervalo nomeado do Microsoft Excel no arquivo de dados de origem a
valo_nomeado ser importado:
o será necessário inserir um sinal de "$" no final do nome da planilha
o planilha_ou_intervalo_nomeado deve ser especificado como uma cadeia entre
aspas

KEEPTITLE Trate a primeira linha de dados como nomes de campos em vez de dados. Se omitida,
serão usados nomes de campo genéricos.
opcional
Se os campos forem definidos individualmente, KEEPTITLE deverá aparecer antes do
primeiro FIELD.

ALLFIELDS Todos os campos no arquivo de dados de origem são importados.


Nota
Se você especificar ALLFIELDS, não especifique nenhuma sintaxe FIELD
individual, CHARMAX ou IGNORE.

CHARMAX tamanho_ Aplica-se somente quando você não está definindo campos individualmente.
máximo_do_campo
O tamanho máximo em caracteres de qualquer campo na tabela do Analytics originada
como dados caractere no arquivo de dados de origem.

FIELD nome tipo Os campos individuais no arquivo de dados de origem a importar, incluindo o nome e o
tipo de dados do campo. Para excluir um campo da importação, não o especifique.
Para obter mais informações sobre tipo, consulte "Identificadores para os tipos de dados
de campo" Na página 257.

PIC formato Nota


Aplica-se somente a campos numéricos ou de datahora.
o campos numéricos: o formato de exibição de valores numéricos em exibições e rela-
tórios do Analytics
o campos datahora: o formato físico dos valores datahora nos dados de origem (ordem
de caracteres de data e hora, separadores e assim por diante)
Nota
Para campos de datahora, formato deve corresponder exatamente ao
formato físico dos dados de origem. Por exemplo, se os dados de ori-
gem são 31/12/2014, você deve inserir o formato como
"DD/MM/AAAA".
formato deve estar entre aspas.

WID caracteres O comprimento em caracteres do campo no layout da tabela do Analytics.

DEC valor O número de casas decimais para campos numéricos.

AS nome_exibicao O nome de exibição (título alternativo da coluna) para o campo na exibição na nova
tabela do Analytics.
Especifique nome_exibicao como uma cadeia entre aspas. Utilize um ponto e vírgula (;)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 254 de 966


Comandos

Nome Descrição

entre palavras se quiser uma quebra de linha no título da coluna.


AS é obrigatório na definição de um FIELD. Para que o nome de exibição seja igual ao
nome do campo, insira um valor de nome_exibicao em branco usando a seguinte sin-
taxe: AS "". Verifique se não há espaço entre as duas aspas.

IGNORE num_campo Exclui o campo do layout da tabela.


<...n>
num_campo especifica a posição do campo nos dados de origem. Por exemplo,
opcional IGNORE 5 exclui o quinto campo nos dados de origem do layout da tabela do Analytics.

OPEN Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o
comando criar uma tabela de saída.
opcional

Exemplos
Importação de campos específicos
Execute uma importação que define uma nova tabela do Analytics denominada Cartões_Crédito. A impor-
tação usa a primeira linha de dados do Excel como nomes de arquivo.
A tabela do Analytics define e inclui três campos da tabela de origem, mas exclui os demais campos:

IMPORT EXCEL TO Cartões_Crédito "Cartões_Crédito.fil" FROM "Cartões_Crédito_Metaphor.xls"


TABLE "Cartões_Crédito_Corp$" KEEPTITLE FIELD "CARDNUM" N WID 16 DEC 0 AS "Número de
cartão" FIELD "EXPDT" D WID 10 PIC "YYYY-MM-DD" AS "Data de expiração" FIELD
"PASTDUEAMT" N WID 6 DEC 2 AS "Past Due" IGNORE 2 IGNORE 3 IGNORE 5 IGNORE 6
IGNORE 7 IGNORE 9 IGNORE 10 IGNORE 11 IGNORE 12

Importação de todos os campos


Execute uma importação que define uma nova tabela do Analytics denominada Transações_Maio. A
importação usa a primeira linha de dados do Excel como nomes de arquivo.
A tabela do Analytics inclui todos os campos da tabela de origem e usa definições de campo padrão.

Comprimento do campo definido como o valor mais comprido


No primeiro exemplo, os campos originados como dados de caracteres no arquivo de dados de origem são
definidos como o comprimento do valor mais longo do campo:

IMPORT EXCEL TO Transações_Maio "Transações_Maio.fil" FROM "Trans_Maio.xls" TABLE


"Trans1_Maio$" KEEPTITLE ALLFIELDS

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 255 de 966


Comandos

Comprimento restrito do campo


No segundo exemplo, os campos originados como dados de caracteres no arquivo de dados de origem
são definidos como o comprimento do valor mais longo do campo ou como o valor de CHARMAX de 100
caracteres, o que for menor:

IMPORT EXCEL TO Transações_Maio "Transações_Maio.fil" FROM "Trans_Maio.xls" TABLE


"Trans1_Maio$" KEEPTITLE CHARMAX 100

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda
do Analytics.

Defina os campos individualmente, ou importe todos os


campos usando uma definição padrão
Quando você importa um arquivo Excel para uma tabela do Analytics, pode usar os parâmetros FIELD
para definir cada campo individualmente ou usar o parâmetro ALLFIELDS ou o parâmetro CHARMAX
para importar todos os campos usando definições de campo padrão do Analytics.

Tamanho máximo de importação de dados


Formato de arquivo .xlsx ou .xlsm
O número máximo de colunas do Excel e o número máximo de caracteres em um campo que podem ser
importados de arquivos .xlsx ou .xlsm não são limitados a um número específico.
A importação desses tipos de arquivo do Excel é controlada pelo limite do comprimento do registro nos
arquivos de dados do Analytics (.fil) de 32 KB. Se qualquer registro no arquivo Excel de origem pos-
sibilitar a criação de um registro do Analytics maior que 32 KB, a importação falhará.

Formato do arquivo .xls


A importação de arquivos .xls (Excel 97 - 2003) usa um tipo diferente de processamento e está sujeita aos
limites máximos de:
l 255 colunas
l 255 caracteres por campo
l 32 KB por registro
l 65.000 linhas

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 256 de 966


Comandos

Identificadores para os tipos de dados de campo


A tabela abaixo lista as letras que você deve usar ao especificar o tipo para FIELD. Cada letra corresponde
a um tipo de dado.
Por exemplo, se você estiver definindo um campo Sobrenome, que usa um tipo de dado de caractere, você
especificaria "C": FIELD "Sobrenome" C.
Nota
Ao usar o Assistente de Definição de Dados para definir uma tabela que inclui campos
EBCDIC, Unicode ou ASCII, os campos recebem automaticamente a letra “C” (para o tipo
CARACTERE).
Ao inserir a instrução IMPORT manualmente ou editar uma instrução IMPORT, você pode
substituir as letras mais específicas “E” ou “U” para os campos EBCDIC ou Unicode.

Letra Tipo de dados

A ACL

B BINARY

C CHARACTER

D DATETIME

E EBCDIC

F FLOAT

G ACCPAC

I IBMFLOAT

K UNSIGNED

L LOGICAL

N PRINT

P PACKED

Q BASIC

R MICRO

S CUSTOM

T PCASCII

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 257 de 966


Comandos

Letra Tipo de dados

U UNICODE

V VAXFLOAT

X NUMERIC

Y UNISYS

Z ZONED

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 258 de 966


Comandos

Comando IMPORT GRCPROJECT


Cria uma tabela do Analytics importando uma tabela do Projetos do HighBond.

Sintaxe
IMPORT GRCPROJECT TO tabela nome_arquivo_importação PASSWORD num FROM id_org/id_
tipo <FIELD nome AS nome_exibicao <...n>>

Parâmetros
Nome Descrição

TO tabela O nome da tabela do Analytics na qual os dados serão importados.


Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos. O nome
pode incluir o caractere de sublinhado ( _ ) mas nenhum outro caractere
especial e nenhum espaço. O nome não pode começar com um número.

nomearquivo_importação O nome do arquivo de dados do Analytics a ser criado.


Especifique nome_arquivo_importação como uma cadeia entre aspas com uma exten-
são de arquivo .FIL. Por exemplo, "Faturas.FIL".
Por padrão, o arquivo de dados (.FIL) é salvo na pasta que contém o projeto do Analy-
tics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em uma
pasta diferente já existente:
o "C:\dados\Faturas.FIL"
o "dados\Faturas.FIL"

PASSWORD num A definição de senha a ser usada.


PASSWORD num não é usado para solicitar ou especificar uma senha real. A definição
de senha faz referência a uma senha previamente fornecida ou definida com o comando
PASSWORD, o comando SET PASSWORD ou a tag de análise PASSWORD.
num é o número da definição de senha. Por exemplo, se as duas senhas foram pre-
viamente fornecidas ou definidas em um script, ou no agendamento de uma análise,
PASSWORD 2 especifica o uso da senha nº 2.
Para obter mais informações sobre o fornecimento ou a definição de senhas, consulte:
l "Comando PASSWORD" Na página 363
l "Comando SET" Na página 424
l Tag de análise PASSWORD
Para obter mais informações sobre o fornecimento ou a definição de senhas, consulte:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 259 de 966


Comandos

Nome Descrição

l Comando PASSWORD
l Comando SET
l Tag de análise PASSWORD
Nota
Dependendo do ambiente em que o script é executado, PASSWORD
pode ou não ser obrigatório:

Analytics PASSWORD não é obrigatório.


(ativação on-line) O token de acesso do HighBond
do usuário atual é usado auto-
maticamente.

Analytics PASSWORD é obrigatório.


(ativação off-line)

Robôs

Analytics Exchange

Janela Aplicativo de análise

FROM id_org/id_tipo A organização e o tipo de informações que definem os dados sendo importados:
o id_org: a organização do Projetos de onde os dados estão sendo importados
o id_tipo: o tipo de informações importadas
Os valores de id_org e de id_tipo devem ser separados por uma barra, sem espaços
entre eles: FROM "125@eu/auditorias".
Toda a cadeia deve estar entre aspas.

ID da Organização
id_org deve incluir o número de ID da organização e, se você estiver importando de um
data center localizado fora da América do Norte, o código do data center. O número de
ID da organização e o código do data center devem ser separados por um símbolo de
arroba (@): FROM "125@eu".
O código do data center especifica de qual servidor regional do HighBond você está
importando dados:
o ap – Ásia-Pacífico
o au – Austrália
o ca – Canadá
o eu – Europa
o us – América do Norte
Você somente pode usar os códigos de data center autorizados para a instalação do
HighBond na sua organização. O data center da América do Norte é o padrão. Portanto,
a especificação de "@us" é opcional.
Se você não sabe qual é o número de ID da organização, use a interface do usuário do
Analytics para importar uma tabela do módulo Projetos. O número de ID da organização
está contido no comando no log. Para obter mais informações, consulte Definição de

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 260 de 966


Comandos

Nome Descrição

dados do ACL GRC.

ID do tipo
id_tipo especifica o tipo de informações importadas. As informações do módulo Projetos
estão contidas em uma série de tabelas relacionadas.
Para id_tipo, você pode usar um dos seguintes valores. Insira o valor exatamente como
aparece, incluindo sublinhados, se aplicável:
o audits - Projetos
o control_test_plans - Planos de Teste de Controle
o control_tests - Teste de Controle
o controls - Controles
o finding_actions - Ações
o findings - Problemas
o mitigations - Associações de Controle de Risco
o narratives - Narrativas
o objectives- Objetivos
o risks - Riscos
o walkthroughs - Orientações
Dica
Para obter informações sobre como as tabelas do módulo Projetos estão
relacionadas, e sobre os campos-chave que você pode usar para asso-
ciar as tabelas após tê-las importado para o Analytics, consulte Definição
de dados do ACL GRC.

FIELD nome AS nome_exi- Campos individuais nos dados de origem a serem importados. Especifique o nome.
bicao <...n>
Se você omitir FIELD, todos os campos serão importados.
opcional o nome deve corresponder exatamente ao nome do campo físico na tabela do Projetos,
inclusive maiúsculas e minúsculas
o nome_exibicao (título alternativo da coluna) é o nome do campo na exibição na nova
tabela do Analytics. Você deve especificar um nome de exibição para cada FIELD
nome. Especifique nome_exibicao como uma cadeia entre aspas.
Utilize um ponto e vírgula (;) entre palavras se quiser uma quebra de linha no título da
coluna.
Ao contrário de alguns comandos IMPORT no Analytics, não é possível especificar
nome_exibicao em branco como forma de usar o nome de FIELD como nome de exi-
bição.
Dica
Para obter os nomes dos campos físicos, use a interface do usuário do
Analytics para importar a tabela apropriada do módulo Projetos. Os
nomes dos campos físicos estão contidos no comando do log.
As importações subsequentes podem ser incluídas em um script.

Exemplos
Importação de todos os campos da tabela do Projetos

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 261 de 966


Comandos

Importe todos os campos da tabela do Projetos de todos os projetos ativos que pertencem à organização
286 para uma tabela do Analytics chamada Todos_Projetos . Inclua uma definição de senha numerada
para autenticar a conexão:

IMPORT GRCPROJECT TO Todos_Projetos "C:\ACL GRC Project Data\Todos_Projetos.fil"


PASSWORD 1 FROM "286@us/auditorias"

Importação e campos especificados na tabela do Projetos


Importe campos especificados da tabela do Projetos de todos os projetos ativos que pertencem à orga-
nização 286 para uma tabela do Analytics chamada Todos_Projetos :

IMPORT GRCPROJECT TO Todos_Projetos"C:\ACL GRC Project Data\Todos_Projetos.fil" FROM


"286@us/auditorias" FIELD "id" AS "Id" FIELD "descrição" AS "Descrição" FIELD "nome" AS "Nome"
FIELD "data_inicial" AS "Data inicial" FIELD "status" AS "Status" FIELD "criado_em" AS "Criado em"

Importação de todos os campos da tabela do Problemas


Importe todos os campos da tabela do Problemas de todos os projetos ativos que pertencem à orga-
nização 286 para uma tabela do Analytics chamada Todos_Problemas :

IMPORT GRCPROJECT TO Todos_Problemas "C:\ACL GRC Project Data\Todos_Problemas.fil"


FROM "286@us/findings"

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda
do Analytics.

Criação de uma definição de senha e especificação do


valor da senha
Comando PASSWORD
Se você usar o comando PASSWORD para criar o número de definição da senha para conexão ao
HighBond, nenhum valor de senha será especificado. Portanto, a senha será solicitada quando o script
tentar se conectar.
Para obter mais informações, consulte "Comando PASSWORD" Na página 363.
Comando SET PASSWORD

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 262 de 966


Comandos

Se você usar o comando SET PASSWORD para criar o número de definição da senha para conexão ao
HighBond, um valor de senha será especificado. Portanto, nenhuma senha será solicitada, o que é ade-
quado para scripts projetados para execução sem intervenção manual.
Para obter mais informações, consulte Comando SET PASSWORD.
Token de acesso do HighBond
Independentemente do método usado para criar a definição de senha, o valor de senha obrigatório é um
token de acesso do HighBond:
l Método PASSWORD – os usuários podem adquirir um token de acesso selecionando Ferramentas
> Token de acesso do HighBond e fazendo login no HighBond. Será retornado um token de
acesso, que pode ser copiado e colado pelos usuários no prompt de senha.
l Método SET PASSWORD – para inserir um token de acesso na sintaxe do comando SET
PASSWORD em um script do Analytics, clique com o botão direito no Editor de script, selecione
Inserir > Token HighBond e faça login no HighBond. Um token de acesso é inserido no script, na
posição do cursor.
Cuidado
O token de acesso retornado corresponde à conta usada para fazer login no HighBond.
Como autor de scripts, usar seu próprio token de acesso pode não ser apropriado se você
estiver escrevendo um script para ser usado por outras pessoas.

Recurso para depuração de importações


Existe um recurso de depuração simples para importações do HighBond.
Os dados importados são armazenados temporariamente em um arquivo JSON intermediário na pasta que
contém o projeto de destino do Analytics. Em qualquer pasta que contém um projeto do Analytics, você
pode criar um arquivo de texto para que o arquivo JSON seja retido, em vez de ser excluído, após a impor-
tação dos dados para o Analytics.
l Arquivo JSON presente: Se a importação do HighBond falhar, mas o arquivo JSON estiver pre-
sente no computador, você saberá que o problema está no Analytics e não no HighBond.
l Arquivo JSON ausente: Se a importação do HighBond falhar, mas o arquivo JSON não estiver pre-
sente no computador, você saberá que o problema está no HighBond.
Essa informação pode ser útil para solucionar o problema.

Configurar retenção do arquivo JSON intermediário


Na pasta que contém o projeto do Analytics de destino, crie um arquivo de texto vazio com o nome exa-
tamente igual a _grc_import_debug.txt
Quando você realizar uma importação do Resultados ou do Projetos do HighBond, o arquivo JSON inter-
mediário será retido com o nome results.json. O arquivo será sobrescrito a cada importação sub-
sequente do HighBond.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 263 de 966


Comandos

Comando IMPORT GRCRESULTS


Cria uma tabela do Analytics importando uma tabela ou interpretação do Resultados do HighBond.

Sintaxe
IMPORT GRCRESULTS TO tabela nome_arquivo_importação <PASSWORD num> FROM Cami-
nho_recursos_Resultados <FIELD nome AS nome_exibicao <...n>>

Parâmetros
Nome Descrição

TO tabela O nome da tabela do Analytics na qual os dados serão importados.


Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos. O
nome pode incluir o caractere de sublinhado ( _ ) mas nenhum outro
caractere especial e nenhum espaço. O nome não pode começar com
um número.

nomearquivo_importação O nome do arquivo de dados do Analytics a ser criado.


Especifique nome_arquivo_importação como uma cadeia entre aspas com uma exten-
são de arquivo .FIL. Por exemplo, "Faturas.FIL".
Por padrão, o arquivo de dados (.FIL) é salvo na pasta que contém o projeto do Analy-
tics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
o "C:\dados\Faturas.FIL"
o "dados\Faturas.FIL"

PASSWORD num A definição de senha a ser usada.


PASSWORD num não é usado para solicitar ou especificar uma senha real. A definição
de senha faz referência a uma senha previamente fornecida ou definida com o
comando PASSWORD, o comando SET PASSWORD ou a tag de análise PASSWORD.
num é o número da definição de senha. Por exemplo, se as duas senhas foram pre-
viamente fornecidas ou definidas em um script, ou no agendamento de uma análise,
PASSWORD 2 especifica o uso da senha nº 2.
Para obter mais informações sobre o fornecimento ou a definição de senhas, consulte:
l "Comando PASSWORD" Na página 363
l "Comando SET" Na página 424
l Tag de análise PASSWORD

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 264 de 966


Comandos

Nome Descrição

Para obter mais informações sobre o fornecimento ou a definição de senhas, consulte:


l Comando PASSWORD
l Comando SET
l Tag de análise PASSWORD
Nota
Dependendo do ambiente em que o script é executado, PASSWORD
pode ou não ser obrigatório:

Analytics PASSWORD não é obrigatório.


(ativação on-line) O token de acesso do HighBond
do usuário atual é usado auto-
maticamente.

Analytics PASSWORD é obrigatório.


(ativação off-line)

Robôs

Analytics Exchange

Janela Aplicativo de análise

FROM Caminho_recur- O caminho até os dados que estão sendo importados.


sos_Results
O formato do caminho varia dependendo dos dados importados. Para obter detalhes
sobre o formato do caminho, consulte "Caminho do módulo Resultados" Na
página 267.
Nota
O formato do caminho do módulo Resultados é fornecido por uma API e
está sujeito à alteração. A forma mais fácil e confiável de obter a sintaxe
correta e atual do caminho e executar uma importação manual dos
dados de destino e copiar o caminho do log de comandos.

FIELD nome AS nome_exi- Campos individuais nos dados de origem a serem importados. Especifique o nome.
bicao <...n>
Se você omitir FIELD, todos os campos serão importados.
opcional
Nome
nome deve corresponder exatamente ao nome do campo físico na tabela Resultados,
inclusive maiúsculas e minúsculas. Para exibir o nome físico do campo, realize uma
das ações a seguir:
o No Resultados, clique em um cabeçalho de coluna na Exibição de tabela. O nome
do campo físico é exibido após Nome do campo.
o No Analytics, quando você importa uma tabela do módulo Resultados, o nome de
campo físico aparece entre parênteses após o nome de exibição na caixa de diá-
logo que permite selecionar campos.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 265 de 966


Comandos

Nome Descrição

Nota
O nome do campo físico do Resultados não é o nome de exibição
usado para cabeçalhos de coluna na Exibição de tabela.
Consulte também "Considerações sobre nomes de campos para importação e expor-
tação de dados do Resultados" Na página 269.

Nome de exibição
nome_exibicao (título alternativo da coluna) é o nome do campo na exibição na nova
tabela do Analytics. Você deve especificar um nome de exibição para cada FIELD
nome. Especifique nome_exibicao como uma cadeia entre aspas.
Utilize um ponto e vírgula (;) entre palavras se quiser uma quebra de linha no título da
coluna.
Ao contrário de alguns comandos IMPORT no Analytics, não é possível especificar
nome_exibicao em branco como forma de usar o nome de FIELD como nome de exi-
bição.

Exemplos
Importação dos campos especificados de uma tabela do Resultados
Importe os campos especificados de uma tabela do Resultados para uma tabela do Analytics chamada
Exceções T e E:

IMPORT GRCRESULTS TO Exceções_T_e_E "C:\Análise Secundária\Exceções_T_e_E.fil"


PASSWORD 1 FROM "results/api/orgs/11594/control_tests/185699/exceptions" FIELD "meta-
data.status" AS "Status" FIELD "NumFunc" AS "Número Funcionário" FIELD "DATA" AS "Data"
FIELD "NUMCARTAO" AS "Número do cartão" FIELD "CODIGOS" AS "Códigos MC" FIELD
"VALOR" AS "Valor" FIELD "DESCRICAO" AS "Descrição"

Importação de todos os campos de uma tabela do Resultados


Importe todos os campos de uma tabela do Resultados para uma tabela do Analytics chamada Exceções
T e E:

IMPORT GRCRESULTS TO Exceções_T_e_E "C:\Análise Secundária\Exceções_T_e_E.fil"


PASSWORD 1 FROM "results/api/orgs/11594/control_tests/185699/exceptions"

Importação de dados de uma interpretação no Resultados


Importe uma interpretação no Resultados para uma tabela do Analytics chamada Exceções T e E fil-
tradas :

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 266 de 966


Comandos

IMPORT GRCRESULTS TO Exceções_T_e_E_filtradas "C:\Análise Secundária\Exceções_T_e_E_fil-


tradas.fil" FROM "results/api/orgs/11594/control_tests/185699/interpretations/22699/exceptions"

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Preservação de ordem de classificação e filtros


Quando você importa dados do Resultados, todas as personalizações de dados, como classificação e fil-
tragem, são preservadas ou ignoradas na tabela resultante do Analytics, dependendo da forma como os
dados são importados:
l importar uma tabela: a personalização de dados é ignorada. Todos os dados da tabela são impor-
tados, exceto os campos que você preferir omitir.
l importar uma interpretação: a personalização de dados preservada

Caminho do módulo Resultados


Nota
O formato do caminho do módulo Resultados é fornecido por uma API e está sujeito à alte-
ração. A forma mais fácil e confiável de obter a sintaxe correta e atual do caminho e exe-
cutar uma importação manual dos dados de destino e copiar o caminho do log de
comandos.
O caminho do módulo Resultados no parâmetro FROM tem o seguinte formato geral:
FROM "results <-código da região>/api/orgs/<ID da organização>/testes_controle/<ID do teste de con-
trole>/exceções
Por exemplo: FROM "results/api/orgs/11594/control_tests/4356/exceptions"
O ID da organização é exibido na barra de endereço do navegador quando você faz login no Launchpad. O
ID do teste de controle e o ID da interpretação são exibidos na barra de endereço quando você exibe essas
tabelas no módulo Resultados.
A tabela a seguir oferece todas as variações do caminho do módulo Resultados.

Para importar: Use este formato do caminho do módulo Resultados:

Teste de controle de FROM "results/api/orgs/11594/control_tests/4356/exceptions"


dados (tabela)

Teste de controle de trilha FROM "results/api/orgs/11594/control_tests/4356/audit_trail"


de auditoria (tabela)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 267 de 966


Comandos

Para importar: Use este formato do caminho do módulo Resultados:

Teste de controle de FROM "results/api/orgs/11594/control_tests/4356/comments"


comentários (tabela)

Interpretação FROM "results/api/orgs/11594/control_tests/4356/interpretations/1192/exceptions"

Dados de uma região do o Ásia-Pacífico: FROM "results-ap/api/orgs/11594/control_tests/4356/exceptions"


HighBond diferente da o Austrália: FROM "results-au/api/orgs/11594/control_tests/4356/exceptions"
região padrão (us) o Canadá: FROM "results-ca/api/orgs/11594/control_tests/4356/exceptions"
o Europa: FROM "results-eu/api/orgs/11594/control_tests/4356/exceptions"

Colunas de informações geradas pelo sistema


Quando você importa dados do módulo Resultados, pode também importar uma ou mais das colunas de
informações geradas pelo sistema listadas a seguir.
As colunas geradas pelo sistema se dividem em dois tipos:
l parte das tabelas do módulo Resultados, com informações de processamento relacionadas a regis-
tros individuais
l informações adicionais: nome da coleção nome da tabela ou número do ID do registro
Você deve especificar os nomes de campo das colunas geradas pelo sistema exatamente da forma como
aparecem a seguir. Os nomes de exibição padrão se aplicam na importação do módulo Resultados por
meio da interface do usuário do Analytics. É possível alterar os nomes de exibição se você codificar o pro-
cesso de importação em scripts.

Nome do campo Nome de exibição padrão

metadata.priority Prioridade

metadata.status Status

metadata.publish_date Publicado(a)

metadata.publisher Nome da editora

metadata.assignee Atribuído(a) a

metadata.group Grupo

metadata.updated_at Atualizado(a)

metadata.closed_at Fechado(a)

extras.collection Coleção

extras.results_table Tabela de Resultados

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 268 de 966


Comandos

Nome do campo Nome de exibição padrão

extras.record_id ID do registro

Considerações sobre nomes de campos para importação e


exportação de dados do Resultados
If you are round-tripping data between Results and Analytics, you need to ensure that all field names in the
Results table meet the more stringent Analytics field name requirements. Caso contrário, os dados do Analy-
tics e do Resultados poderão ficar desalinhados.
Por exemplo, todos os caracteres especiais dos nomes de campos do Resultados são convertidos auto-
maticamente em sublinhados quando importados para o Analytics, o que significa que os nomes de cam-
pos deixam de corresponder aos nomes originais do Resultados. Se em seguida você exportar os dados do
Analytics de volta para a tabela original no Resultados, os campos não corresponderão corretamente.
Para evitar esse problema em processos de ida e volta de dados, antes de carregar dados de arquivos
CSV ou Excel para o Resultados, verifique se os requisitos de nomenclatura de campos do Analytics a
seguir são cumpridos:
l sem caracteres especiais ou espaços
l não começa com um número
l contém apenas caracteres alfanuméricos ou o caractere sublinhado ( _ )

Criação de uma definição de senha e especificação do


valor da senha
Comando PASSWORD
Se você usar o comando PASSWORD para criar o número de definição da senha para conexão ao
HighBond, nenhum valor de senha será especificado. Portanto, a senha será solicitada quando o script ten-
tar se conectar.
Para obter mais informações, consulte "Comando PASSWORD" Na página 363.
Comando SET PASSWORD
Se você usar o comando SET PASSWORD para criar o número de definição da senha para conexão ao
HighBond, um valor de senha será especificado. Portanto, nenhuma senha será solicitada, o que é ade-
quado para scripts projetados para execução sem intervenção manual.
Para obter mais informações, consulte Comando SET PASSWORD.
Token de acesso do HighBond
Independentemente do método usado para criar a definição de senha, o valor de senha obrigatório é um
token de acesso do HighBond:
l Método PASSWORD – os usuários podem adquirir um token de acesso selecionando Ferramentas
> Token de acesso do HighBond e fazendo login no HighBond. Será retornado um token de

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 269 de 966


Comandos

acesso, que pode ser copiado e colado pelos usuários no prompt de senha.
l Método SET PASSWORD – para inserir um token de acesso na sintaxe do comando SET
PASSWORD em um script do Analytics, clique com o botão direito no Editor de script, selecione
Inserir > Token HighBond e faça login no HighBond. Um token de acesso é inserido no script, na
posição do cursor.
Cuidado
O token de acesso retornado corresponde à conta usada para fazer login no HighBond.
Como autor de scripts, usar seu próprio token de acesso pode não ser apropriado se
você estiver escrevendo um script para ser usado por outras pessoas.

Recurso para depuração de importações


Existe um recurso de depuração simples para importações do HighBond.
Os dados importados são armazenados temporariamente em um arquivo JSON intermediário na pasta
que contém o projeto de destino do Analytics. Em qualquer pasta que contém um projeto do Analytics,
você pode criar um arquivo de texto para que o arquivo JSON seja retido, em vez de ser excluído, após a
importação dos dados para o Analytics.
l Arquivo JSON presente: Se a importação do HighBond falhar, mas o arquivo JSON estiver pre-
sente no computador, você saberá que o problema está no Analytics e não no HighBond.
l Arquivo JSON ausente: Se a importação do HighBond falhar, mas o arquivo JSON não estiver pre-
sente no computador, você saberá que o problema está no HighBond.
Essa informação pode ser útil para solucionar o problema.

Configurar retenção do arquivo JSON intermediário


Na pasta que contém o projeto do Analytics de destino, crie um arquivo de texto vazio com o nome exa-
tamente igual a _grc_import_debug.txt
Quando você realizar uma importação do Resultados ou do Projetos do HighBond, o arquivo JSON inter-
mediário será retido com o nome results.json. O arquivo será sobrescrito a cada importação sub-
sequente do HighBond.

Importação de grandes tabelas


A importação de tabelas com um grande número de campos usando um único comando IMPORT
GRCRESULTS pode falhar. Se você precisar trabalhar com uma única tabela que contém um grande
número de campos fora do Resultados, use uma das seguintes abordagens:
l Divida a tabela: use dois ou mais comandos IMPORT GRCRESULTS para importar um sub-
conjunto dos campos e associe as tabelas resultantes no Analytics usando o comando JOIN
l Exporte a tabela para um arquivo: use o formato de exportação para CSV e importe o arquivo
resultante para o Analytics usando o comando IMPORT DELIMITED

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 270 de 966


Comandos

Comando IMPORT LAYOUT


Importa um arquivo de layout da tabela externo (.layout) para um projeto do Analytics.
Nota:
Antes da versão 11 do Analytics, os arquivos externos de layout de tabela usavam a exten-
são de arquivo .fmt. Os arquivos de layout de tabela com extensão .fmt ainda podem ser
importados, especificando a extensão manualmente.

Sintaxe
IMPORT LAYOUT arquivo_layout_externo TO nome_layout_tabela

Parâmetros
Nome Descrição

arquivo_layout_externo O nome do arquivo de layout da tabela externo. Se o nome ou caminho do arquivo con-
tiver espaços, ele deve estar entre aspas – por exemplo, "Trans Cp.layout".
A extensão de arquivo .layout é utilizada por padrão e não precisa ser especificada. Se
necessário, você pode usar outra extensão de arquivo, como .fmt.
Se o arquivo de layout não estiver localizado na mesma pasta que o projeto do Analy-
tics, você deve utilizar um caminho absoluto ou relativo para especificar a localização do
arquivo, como, por exemplo, "C:\Layouts salvos\Trans_Cp.layout" ou "Layouts sal-
vos\Trans_Cp.layout".

TO nome_layout_tabela O nome do layout da tabela importado para o projeto do Analytics, por exemplo, "Trans
Cp Maio". É preciso especificar o valor de nome_layout_tabela como uma cadeia entre
aspas se o nome tiver espaços. Pode ser especificado um nome_layout_tabela diferente
do nome do arquivo_layout_externo.

Exemplo
Importação de um arquivo externo de layout da tabela
Importe um arquivo de layout da tabela externo chamado Trans_Cp.layout e crie um novo layout de tabela
chamado Trans_Cp_Maio no projeto do Analytics:

IMPORT LAYOUT “C:\Layouts salvos\Trans_Cp.layout" TO “Trans_Cp_Maio"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 271 de 966


Comandos

Observações
Quando usar IMPORT LAYOUT
A importação de um arquivo externo de layout de tabela e sua associação com um arquivo de dados pode
economizar o trabalho de criar novos layouts de tabela do zero:
l Se o layout de tabela importado especificar uma associação com algum arquivo de dados do Analy-
tics (.fil) e um arquivo de dados com o mesmo nome existir na pasta que contém o projeto, o layout
de tabela importado será associado automaticamente ao arquivo de dados na pasta.
l Se não houver arquivo de dados com o mesmo nome na pasta do projeto, será necessário vincular
o layout de tabela importado a uma nova origem de dados.

Layouts de tabela e arquivo de dados de origem devem cor-


responder
O layout da tabela importada e o arquivo de dados associado devem corresponder. A estrutura dos dados
no arquivo de dados deve corresponder às definições de campos especificadas nos metadados do layout
da tabela.
Estrutura de dados se refere aos elementos de dados (campos) contidos no arquivo de dados, à quan-
tidade e ordem dos campos e ao tipo dos dados e tamanho dos campos. Caso o layout da tabela e o
arquivo de dados não correspondam, o resultado poderá ser dados misturados ou não encontrados.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 272 de 966


Comandos

Comando IMPORT
MULTIDELIMITED
Cria várias tabelas do Analytics definindo e importando várias planilhas do Microsoft Excel.

Sintaxe
IMPORT MULTIDELIMITED <TO pasta_importação> FROM {nome_arquivo_origem|pasta_origem}
codificação_caracteres_origem SEPARATOR {carac|TAB|SPACE} QUALIFIER {carac|NONE}
<CONSECUTIVE> STARTLINE número_linha <KEEPTITLE> <CRCLEAR> <LFCLEAR>
<REPLACENULL> <ALLCHAR>

Nota
Você deve especificar os parâmetros de IMPORT MULTIDELIMITED exatamente na
mesma ordem mostrada acima e na tabela abaixo.
Para importar vários arquivos delimitados corretamente, a estrutura de todos os arquivos
deve ser consistente antes da importação.
Para obter mais informações, consulte "Estrutura de arquivos consistente obrigatória" Na
página 278.

Parâmetros
Nome Descrição

TO pasta_impor- A pasta onde os dados serão importados.


tação
Para especificar a pasta, use um caminho de arquivo absoluto ou relativo à pasta que contém o pro-
opcional jeto do Analytics. Especifique pasta_importação como uma cadeia entre aspas.

Exemplo

TO "C:\Auditoria de pontos de venda\Dados\Dados de trabalho das transações"

TO "Dados\Dados de trabalho das transações"

Se você omitir TO, os dados serão importados na pasta que contém o projeto do Analytics.

FROM nome_ O nome dos arquivos de dados de origem, ou a pasta que contém esses arquivos.
arquivo_origem
Especifique nome_arquivo_origem ou pasta_origem como uma cadeia entre aspas.
| pasta_origem

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 273 de 966


Comandos

Nome Descrição

O comando permite a importação de quatro tipos de arquivos delimitados:


o *.csv
o *.dat
o *.del
o *.txt
Arquivos de dados de origem na pasta raiz do projeto do Analytics
Para especificar vários arquivos, use um curinga (*) no lugar de caracteres únicos em nomes de
arquivos. O caractere curinga representa zero (0) ou mais ocorrências de qualquer letra, número ou
caractere especial.

Exemplo

FROM "Transações_AF*.csv"

seleciona:
Transactions_AF18.csv
Transactions_AF17.csv
Você pode usar um curinga em mais de um local em um nome de arquivo e em uma extensão de
arquivo.

Exemplo

FROM "Transações_AF*.*"

seleciona:
Transactions_AF18.txt
Transactions_AF17.csv
Arquivos de dados de origem fora da pasta raiz do projeto do Analytics
Se os arquivos de dados de origem não estão localizados na mesma pasta do projeto do Analytics,
você deve usar um caminho de arquivo absoluto ou relativo à pasta que contém o projeto para
especificar a localização dos arquivos.

Exemplo

FROM "C:\Auditoria de pontos de venda\Dados\Arquivos mestre de transações\Transações_


AF*.csv"

FROM "Dados\Arquivos mestre de transações\Transações_AF*.csv"

Pasta que contém os arquivos de dados de origem


Em vez de especificar nomes de arquivos, basta especificar o nome da pasta que contém os arqui-
vos de dados de origem. Todos os tipos de arquivos delimitados permitidos na pasta são impor-
tados (*.csv, *.dat, *.del, *.txt).
Para especificar uma pasta de dados de origem, use um caminho de arquivo absoluto ou relativo à
pasta que contém o projeto do Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 274 de 966


Comandos

Nome Descrição

Exemplo

FROM "C:\Auditoria de pontos de venda\Dados\Arquivos mestre de transações"

FROM "Dados\Arquivos mestre de transações"

codificação_ O conjunto de caracteres e a codificação dos dados de origem.


caracteres_ori-
Dependendo da edição do Analytics usada e da codificação dos dados de origem, use uma das
gem
seguintes opções:

Edição do
Código Analytics Codificação dos dados de origem

Edição não Uni- todos os dados


0 code

0 Edição Unicode Dados ASCII

2 Edição Unicode dados Unicode, codificação UTF-16 LE

Edição Unicode Dados Unicode que não usam a codificação UTF-16 LE


Para determinar o código numérico correspondente à codificação
dos dados de origem, execute uma importação usando o Assis-
tente de Definição de Dados, selecione a opção Texto codi-
ficado e encontre a codificação na lista suspensa.
3 código_numé- Para especificar o código, especifique 3 , acrescente um espaço e,
rico em seguida, o código numérico.

Nota
Se você não especificar um código, o Analytics não Unicode automaticamente
usará 0 e o Analytics Unicode, 2 .

SEPARATOR O caractere separador (delimitador) usado entre campos nos dados de origem. É preciso espe-
caractere | TAB cificar o caractere como uma cadeia entre aspas.
| SPACE
Você pode especificar um separador tabulação ou espaço digitando o caractere entre aspas ou
usando uma palavra-chave:
o SEPARATOR " " ou SEPARATOR TAB
o SEPARATOR " " ou SEPARATOR SPACE

QUALIFIER O caractere qualificador de texto para os dados de origem. Os valores dos campos desses dados
caractere | são colocados entre caracteres qualificadores para identificação. É preciso especificar o caractere
NONE como uma cadeia entre aspas.
Para especificar o caractere aspas como um qualificador de texto, coloque o caractere entre após-
trofos: QUALIFIER '"'.
Você pode especificar que não há qualificadores de texto usando um dos seguintes métodos:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 275 de 966


Comandos

Nome Descrição

o QUALIFIER ""
o QUALIFIER NONE

CONSECUTIVE Qualificadores consecutivos de texto devem ser tratados como um único qualificador.
opcional

STARTLINE A linha em que começam os dados.


número_linha
Por exemplo, se as primeiras quatro linhas de dados contiverem informações de cabeçalho inde-
sejadas, especifique 5 como número_linha.
Nota
O ideal é que a linha inicial dos dados seja a mesma em todos os arquivos deli-
mitados importados com uma única execução de IMPORT MULTIDELIMITED.
Se as linhas iniciais forem diferentes, consulte "Estrutura de arquivos consistente
obrigatória" Na página 278.

KEEPTITLE Trate o número de linha especificado por STARTLINE como nomes de campos em vez de dados.
Se você omitir KEEPTITLE, serão usados nomes de campo genéricos.
opcional
Nota
Os nomes dos campos devem estar no mesmo número de linha em todos os arqui-
vos delimitados importados com uma única execução de
IMPORT MULTIDELIMITED.
Se os nomes de campos estiverem em números de linha diferentes, consulte "Estru-
tura de arquivos consistente obrigatória" Na página 278.

CRCLEAR Substitui todos os caracteres CR (retorno de carro) que ocorrem entre qualificadores de texto por
caracteres de espaço. Você deve especificar QUALIFIER com um valor caractere para usar
opcional
CRCLEAR.
Se você usar CRCLEAR e LFCLEAR, CRCLEAR deve ser o primeiro.

LFCLEAR Substitui todos os caracteres LF (quebra de linha) que ocorrem entre qualificadores de texto por
caracteres de espaço. Você deve especificar QUALIFIER com um valor caractere para usar
opcional
LFCLEAR.
Se você usar CRCLEAR e LFCLEAR, CRCLEAR deve ser o primeiro.

REPLACENUL- Substitui todos os caracteres NUL que ocorrem no arquivo delimitado por caracteres de espaço. O
L número dos caracteres NUL substituídos é gravado no log.
opcional

ALLCHAR O tipo de dados caractere é atribuído automaticamente a todos os campos importados.


opcional

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 276 de 966


Comandos

Nome Descrição

Dica
A atribuição do tipo de dados caractere a todos os campos importados simplifica o
processo de importação de arquivos texto delimitados. Depois que os dados esti-
verem no Analytics, você poderá atribuir tipos de dados diferentes, como Numérico
ou DataHora, aos campos, e especificar detalhes do formato.
ALLCHAR é útil na importação de uma tabela com campos identificadores com o
tipo de dados numérico atribuído automaticamente pelo Analytics, quando na ver-
dade o tipo de dados deveria ser caractere.

Exemplos
Os exemplos abaixo supõem que você tem dados de transações mensais armazenados em 12 arquivos do
Excel:
l Transações_Jan.csv a Transações_Dez.csv
Nota
Uma tabela do Analytics separada será criada para cada planilha ou arquivo nomeado que
você importar.

Importar todos os arquivos delimitados


Você quer importar todos os 12 arquivos delimitados. O símbolo de curinga (*) é usado onde o nome do
mês ocorre em cada nome de arquivo.
O Analytics tenta atribuir o tipo de dados apropriado a cada campo.

IMPORT MULTIDELIMITED FROM "Transações_*.csv" 0 SEPARATOR "," QUALIFIER '"'


CONSECUTIVE STARTLINE 1 KEEPTITLE

Importar todos os arquivos delimitados como dados de caracteres


Este exemplo é o mesmo exemplo acima, exceto que o Analytics atribui automaticamente o tipo de dados
de caracteres a todos os campos importados.

IMPORT MULTIDELIMITED FROM "Transações_*.csv" 0 SEPARATOR "," QUALIFIER '"'


CONSECUTIVE STARTLINE 1 KEEPTITLE ALLCHAR

Importar todos os arquivos delimitados da pasta especificada


Você quer importar todos os arquivos delimitados na pasta C:\Auditoria de pontos de ven-
da\Dados\Arquivos mestre de transações.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 277 de 966


Comandos

IMPORT MULTIDELIMITED FROM "C:\Auditoria de pontos de venda\Dados\Arquivos mestre de


transações" 0 SEPARATOR "," QUALIFIER '"' CONSECUTIVE STARTLINE 1 KEEPTITLE

Importar todos os arquivos delimitados na pasta especificada e salvar as


tabelas do Analytics em outra pasta
Este exemplo é o mesmo exemplo acima, mas em vez de salvar as tabelas do Analytics na pasta raiz do
projeto, você quer salvá-las na pasta "C:\Auditoria de pontos de venda\Dados\Dados de
trabalho das transações".

IMPORT MULTIDELIMITED TO "C:\Auditoria de pontos de venda\Dados\Dados de trabalho das tran-


sações" FROM "C:\Auditoria de pontos de venda\Dados\Arquivos mestre de transações" 0
SEPARATOR "," QUALIFIER '"' CONSECUTIVE STARTLINE 1 KEEPTITLE

Observações
Estrutura de arquivos consistente obrigatória
Para importar um grupo de arquivos delimitados corretamente usando IMPORT MULTIDELIMITED, a
estrutura de todos os arquivos do grupo deve ser consistente.
Você pode importar arquivos delimitados com estruturas inconsistentes e depois limpar e padronizar os
dados no Analytics. No entanto, essa abordagem é trabalhosa. Em muitos casos, é mais fácil tornar os
arquivos delimitados consistentes antes da importação.
Para importar vários arquivos delimitados corretamente, os itens a seguir devem ser consistentes em
todos os arquivos:

Palavra-chave
Item do ACLScript Problema Solução

O conjunto de código numé- (somente para edição Unicode do Agrupe os arquivos de origem pelo
caracteres e a rico Analytics) tipo de codificação e faça uma impor-
codificação dos tação separada para cada grupo.
Os arquivos de origem delimitados
dados de ori-
usam codificações de caracteres
gem
diferentes. Por exemplo, alguns
arquivos têm a codificação ASCII e
outros têm a codificação Unicode.

Caractere deli- SEPARATOR Os arquivos de origem delimitados Execute uma das seguintes ações:
mitador usam um caractere separador dife- o Padronize o caractere separador
rente (delimitador) entre os campos.
nos arquivos de origem antes de
importá-los.
o Agrupe os arquivos de origem pelo
caractere separador e faça uma
importação separada para cada

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 278 de 966


Comandos

Palavra-chave
Item do ACLScript Problema Solução

grupo.

Caractere qua- QUALIFIER Os arquivos de origem delimitados Execute uma das seguintes ações:
lificador de usam um caractere qualificador de o Padronize o caractere qualificador
texto texto diferente para envolver e iden-
nos arquivos de origem antes de
tificar os valores de campo.
importá-los.
o Agrupe os arquivos de origem pelo
caractere qualificador e faça uma
importação separada para cada
grupo.

Linha inicial STARTLINE Os arquivos de origem delimitados Execute uma das seguintes ações:
dos dados têm linhas iniciais diferentes para os o Padronize a linha inicial nos arqui-
dados.
vos de origem antes de importá-los.
o Agrupe os arquivos de origem que
têm a mesma linha inicial e faça
uma importação separada para
cada grupo.
o Defina o campo número_linha
como a linha inicial mais baixa de
todos os arquivos. Após a impor-
tação dos arquivos para as tabelas
do Analytics, você poderá usar o
"Comando EXTRACT" Na
página 203 para extrair apenas os
registros de qualquer tabela com
informações de cabeçalho inde-
sejadas.

Nomes de KEEPTITLE Os arquivos de origem delimitados Execute uma das seguintes ações:
campo têm nomes de campo em diferentes o Padronize o número de linha com
números de linha.
os nomes de campo nos arquivos
de origem antes de importá-los.
o Agrupe os arquivos de origem que
têm os nomes de campo no mesmo
número de linha e faça uma impor-
tação separada para cada grupo.

Nomes de KEEPTITLE Alguns arquivos de origem deli- Execute uma das seguintes ações:
campo mitados têm nomes de campo, o Adicione nomes de campo aos
outros não.
arquivos de origem em que são
necessários antes de importar
todos os arquivos.
o Agrupe os arquivos de origem que
têm nomes de campo, e os arquivos
que não têm nomes de campo, e
faça uma importação separada
para cada grupo.
o Omita KEEPTITLE para importar

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 279 de 966


Comandos

Palavra-chave
Item do ACLScript Problema Solução

todos os arquivos usando nomes


de campo genéricos. Após a impor-
tação dos arquivos para as tabelas
do Analytics, você poderá usar o
"Comando EXTRACT" Na
página 203 para extrair apenas os
dados que quiser de qualquer
tabela.

Vários comandos IMPORT DELIMITED


O comando IMPORT MULTIDELIMITED na verdade executa vários comandos IMPORT DELIMETED
individuais, um para cada arquivo importado. Se você clicar na entrada de IMPORT MULTIDELIMITED
no log, os comandos IMPORT DELIMITED individuais serão exibidos na área de exibição.

Combinação de vários arquivos delimitados após a impor-


tação
Após importar vários arquivos delimitados para tabelas do Analytics individuais, você pode combiná-las
em uma única tabela do Analytics. Por exemplo, você pode combinar os dados de doze tabelas mensais
em uma única tabela anual contendo todos os dados.
Para obter informações sobre como combinar várias tabelas do Analytics, consulte "Comando APPEND"
Na página 73.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 280 de 966


Comandos

Comando IMPORT MULTIEXCEL


Cria várias tabelas do Analytics definindo e importando várias planilhas ou intervalos nomeados do Micro-
soft Excel.

Sintaxe
IMPORT MULTIEXCEL <TO pasta_importação> FROM {nome_arquivo_origem|pasta_origem}
TABLE planilhas_intervalos_nomeados_entrada <PREFIX> <KEEPTITLE> <CHARMAX tamanho_
máximo_do_campo>

Nota
Você deve especificar os parâmetros de IMPORT MULTIEXCEL exatamente na mesma
ordem mostrada acima e na tabela abaixo.

Parâmetros
Nome Descrição

TO pasta_ A pasta onde os dados serão importados.


importação
Para especificar a pasta, use um caminho de arquivo absoluto ou relativo à pasta que contém o pro-
opcional jeto do Analytics. Especifique pasta_importação como uma cadeia entre aspas.

Exemplo

TO "C:\Auditoria de pontos de venda\Dados\Dados de trabalho das transações"

TO "Dados\Dados de trabalho das transações"

Se você omitir TO, os dados serão importados na pasta que contém o projeto do Analytics.

FROM O nome do arquivo ou dos arquivos de dados de origem, ou a pasta que contém esses arquivos.
nome_
Especifique nome_arquivo_origem ou pasta_origem como uma cadeia entre aspas.
arquivo_ori-
gem | pasta_ Arquivo ou arquivos de dados de origem na pasta raiz do projeto do Analytics
origem
o único arquivo Excel
Especifique o nome e a extensão do arquivo completos.

Exemplo

FROM "Transações_AF18.xlsx"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 281 de 966


Comandos

Nome Descrição

o vários arquivos Excel


Para especificar vários arquivos, use um curinga (*) no lugar de caracteres únicos em nomes de
arquivos. O caractere curinga representa zero (0) ou mais ocorrências de qualquer letra, número ou
caractere especial.

Exemplo

FROM "Transações_AF*.xlsx"

seleciona:
Transações_FY18.xlsx
Transações_FY17.xlsx
Você pode usar um curinga em mais de um local em um nome de arquivo e em uma extensão de
arquivo.

Exemplo

FROM "Transações_AF*.*"

seleciona:
Transações_FY18.xlsx
Transações_FY17.xls

Arquivo ou arquivos de dados de origem fora da pasta raiz do projeto do Analy-


tics
Se o arquivo ou os arquivos de dados de origem não estão localizados na mesma pasta do projeto do
Analytics, você deve usar um caminho de arquivo absoluto ou relativo à pasta que contém o projeto
para especificar a localização dos arquivos.

Exemplo

FROM "C:\Auditoria de pontos de venda\Dados\Arquivos mestre de transações\Transações_


AF18.xlsx"

FROM "Dados\Arquivos mestre de transações\Transações_AF*.xlsx"

Pasta que contém o arquivo ou os arquivos de dados de origem


Em vez de especificar um nome de arquivo, basta especificar o nome da pasta que contém o arquivo
ou os arquivos de dados de origem.
Para especificar uma pasta de dados de origem, use um caminho de arquivo absoluto ou relativo à
pasta que contém o projeto do Analytics.

Exemplo

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 282 de 966


Comandos

Nome Descrição

FROM "C:\Auditoria de pontos de venda\Dados\Arquivos mestre de transações"

FROM "Dados\Arquivos mestre de transações"

Nota
Quando você especifica uma pasta, todas as planilhas de todos os arquivos do Excel
da pasta com um nome de planilha correspondente ao valor de TABLE serão impor-
tados.

TABLE pla- O nome das planilhas ou intervalos nomeados a importar. Uma tabela do Analytics separada é criada
nilhas_inter- para cada planilha ou intervalo nomeado importado.
valos_
Especifique planilhas_intervalos_nomeados_entrada como uma cadeia entre aspas.
nomeados_
entrada Use um curinga (*) no lugar de caracteres únicos em nomes de planilhas ou intervalos.
Por exemplo, "Trans_*$" seleciona as seguintes planilhas:
o Trans_Jan
o Trans_Fev
o Trans_Mar
o e assim por diante
Nota
O caractere curinga (*) representa zero (0) ou mais ocorrências de qualquer letra,
número ou caractere especial.
Você pode usar um curinga em mais de um local. Por exemplo, *Trans*$ seleciona:
l Trans_Jan
l Jan_Trans

O significado do símbolo de dólar ($)


Em um arquivo do Excel, as planilhas são identificadas por um símbolo de dólar ($) acrescentado no
nome da planilha (Trans_Jan$). O símbolo de dólar não é visível no Excel.
Os intervalos nomeados são identificados pela ausência de um símbolo de dólar (Trans_Jan_comer-
cial).
Não é necessário especificar o símbolo de dólar ao usar IMPORT MULTIEXCEL. No entanto, você
deve incluí-lo, ou excluí-lo, nas seguintes situações:
o Incluir "$": se você quer importar apenas planilhas, e nenhum intervalo nomeado, inclua o símbolo
de dólar no final do nome da planilha
o Excluir "$": se você quer importar intervalos nomeados, ou planilhas e intervalos nomeados, em
uma única operação de importação, não inclua o símbolo de dólar

PREFIX Adicione o nome do arquivo do Excel ao início do nome das tabelas do Analytics.
opcional Dica
Se planilhas em arquivos diferentes tiverem o mesmo nome, a anexação do nome do
arquivo do Excel permitirá evitar conflitos entre os nomes das tabelas.

KEEPTITLE Trate a primeira linha de dados como nomes de campos em vez de dados. Se omitida, serão usados

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 283 de 966


Comandos

Nome Descrição

opcional nomes de campo genéricos.


Nota
Todas as primeiras linhas das planilhas e intervalos nomeados importados devem
usar uma abordagem consistente. As primeiras linhas devem ser nomes de campos,
ou dados, em todos os conjuntos de dados. Evite misturar as duas abordagens em
uma única operação de importação.
Se os conjuntos de dados tiverem uma abordagem inconsistente nas primeiras
linhas, use duas operações de importação separadas.

CHARMAX O tamanho máximo em caracteres de qualquer campo em uma tabela do Analytics originada como
tamanho_ dados de caracteres em um arquivo de dados de origem.
máximo_do_
campo
opcional

Exemplos
Os exemplos abaixo supõem que você tem dados de transações mensais de três anos armazenados em
três arquivos do Excel:
l Transações_FY18.xlsx
l Transações_FY17.xlsx
l Transações_FY16.xlsx
Cada arquivo do Excel tem 12 planilhas, uma para cada mês do ano. As planilhas também incluem alguns
intervalos nomeados que identificam vários subconjuntos de transações.
Nota
Uma tabela do Analytics separada será criada para cada planilha ou intervalo nomeado
que você importar.

Importar planilhas
Importar todas as planilhas de AF18
Você quer importar todas as 12 planilhas mensais do arquivo do Excel AF18 e ignorar todos os intervalos
nomeados.
l use o símbolo de curinga (*) onde o nome do mês ocorre em cada nome de planilha
l inclua o símbolo de dólar ($) no fim do nome da planilha para selecionar apenas planilhas e
nenhum intervalo nomeado

IMPORT MULTIEXCEL FROM "Transações_AF18.xlsx" TABLE "Trans_*$"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 284 de 966


Comandos

Importar todas as planilhas de AF18, manter os nomes dos campos e espe-


cificar o comprimento máximo dos campos de caracteres
Este exemplo é o mesmo exemplo acima, mas você quer manter os nomes dos campos dos arquivos do
Excel, além de l imitar o comprimento dos campos de caracteres.
l inclua KEEPTITLE para usar a primeira linha dos dados do Excel como nomes de campos
l inclua CHARMAX 50 para que os campos originados como dados de caracteres no arquivo do Excel
sejam limitados a 50 caracteres na tabela do Analytics resultante

IMPORT MULTIEXCEL FROM "Transações_AF18.xlsx" TABLE "Trans_*$" KEEPTITLE CHARMAX


50

Importar todas as planilhas de todos os três arquivos do Excel


Você quer importar todas as 36 planilhas mensais dos três arquivos do Excel e ignorar todos os intervalos
nomeados.
l use o símbolo de curinga (*) onde o nome do mês ocorre em cada nome de planilha
l inclua o símbolo de dólar ($) no fim do nome da planilha para selecionar apenas planilhas e nenhum
intervalo nomeado
l use o símbolo de curinga (*) onde o ano ocorre em cada nome de planilha
l como forma de reduzir a chance de conflitos de nomes, use PREFIX para acrescentar o nome do
arquivo do Excel de origem ao início de cada nome de tabela do Analytics

IMPORT MULTIEXCEL FROM "Transações_AF*.xlsx" TABLE "Trans_*$" PREFIX

Importar intervalos nomeados


Importar todos os intervalos nomeados "Transação_comercial" de AF18
Você quer importar todos os intervalos nomeados "Transação_comercial" do arquivo do Excel AF18 e igno-
rar planilhas e outros intervalos nomeados.
l use o símbolo de curinga (*) onde um identificador único ocorre em cada nome de planilha
l exclua o símbolo de dólar ($) para que intervalos nomeados possam ser selecionados

IMPORT MULTIEXCEL FROM "Transações_AF18.xlsx" TABLE "Transação_comercial_*"

Importar planilhas e intervalos nomeados


Importar todas as planilhas e intervalos nomeados de AF18
Você quer importar todas as 12 planilhas mensais e todos os intervalos nomeados do arquivo do Excel

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 285 de 966


Comandos

AF18.
l com TABLE, você usa apenas o símbolo de curinga (*) para que todas as planilhas e intervalos
nomeados do arquivo sejam selecionados
l exclua o símbolo de dólar ($) para que intervalos nomeados possam ser selecionados

IMPORT MULTIEXCEL FROM "Transações_AF18.xlsx" TABLE "*"

Gerenciar diretórios
Importar todas as planilhas de todos os arquivos do Excel na pasta espe-
cificada
Você quer importar todas as planilhas de todos os arquivos do Excel na pasta C:\Auditoria de pon-
tos de venda\Dados\Arquivos mestre de transações.
l com TABLE, você usa apenas o símbolo de curinga (*) para que todas as planilhas de cada arquivo
sejam selecionadas, e o símbolo de dólar ($) para que somente as planilhas sejam selecionadas,
sem intervalos nomeados
l como forma de reduzir a chance de conflitos de nomes, use PREFIX para acrescentar o nome do
arquivo do Excel de origem ao início de cada nome de tabela do Analytics

IMPORT MULTIEXCEL FROM "C:\Auditoria de pontos de venda\Dados\Arquivos mestre de tran-


sações" TABLE "*$" PREFIX

Importar todas as planilhas de todos os arquivos do Excel na pasta espe-


cificada e salvar as tabelas do Analytics em outra pasta
Este exemplo é o mesmo exemplo acima, mas em vez de salvar as tabelas do Analytics na pasta raiz do
projeto, você quer salvá-las na pasta "C:\Auditoria de pontos de venda\Dados\Dados de
trabalho das transações".

IMPORT MULTIEXCEL TO "C:\Auditoria de pontos de venda\Dados\Dados de trabalho das tran-


sações" FROM "C:\Auditoria de pontos de venda\Dados\Arquivos mestre de transações" TABLE "*$"
PREFIX

Observações
Vários comandos IMPORT EXCEL
O comando IMPORT MULTIEXCEL na verdade executa vários comandos IMPORT EXCEL individuais,
um para cada planilha importada. Se você clicar na entrada de IMPORT MULTIEXCEL no log, os coman-
dos IMPORT EXCEL individuais serão exibidos na área de exibição.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 286 de 966


Comandos

A última tabela importada é aberta automaticamente


IMPORT MULTIEXCEL não permite a palavra-chave OPEN. No entanto, após a execução do comando, a
última tabela importada é aberta automaticamente.

Combinação de várias planilhas após a importação


Após importar várias planilhas para tabelas do Analytics individuais, você pode combiná-las em uma única
tabela do Analytics. Por exemplo, você pode combinar os dados de doze tabelas mensais em uma única
tabela anual contendo todos os dados.
Para obter informações sobre como combinar várias tabelas do Analytics, consulte "Comando APPEND"
Na página 73.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 287 de 966


Comandos

Comando IMPORT ODBC


Cria uma tabela do Analytics definindo e importando dados de uma origem de dados ODBC.
ODBC significa Open Database Connectivity (conectividade aberta de banco de dados), um padrão da
Microsoft para acessar bancos de dados.

Sintaxe
IMPORT ODBC SOURCE nome_da_fonte TABLE nome_tabela <QUALIFIER qualificador_de_
dados> <OWNER nome_do_usuário> <USERID id_do_usuário> <PASSWORD num> <WHERE
clausula_where> <TO nome_tabela> <WIDTH tamanho_máximo_do_campo> <MAXIMUM tama-
nho_máximo_do_campo> <FIELDS campo <;...n>>

Parâmetros
Nome Descrição

SOURCE nome_da_fonte O nome da fonte de dados (DSN) ODBC com que será feita a conexão. O DSN já deve
existir e estar configurado corretamente.
Nota
Você está limitado a usar fontes de dados que usam os drivers ODBC
do Windows instalados no seu computador. Os conectores de dados
nativos do Analytics que podem ser usados com o comando
ACCESSDATA podem não estar disponíveis com o ODBC IMPORT.

TABLE nome_tabela O nome da tabela na fonte de dados ODBC de que os dados serão importados.
nome_tabela geralmente é uma referência a uma tabela de dados nos dados de ori-
gem, mas pode ser uma referência a tudo que o Analytics importa como tabela. Por
exemplo, se usar o Microsoft Text Driver, nome_tabela é uma referência ao arquivo de
texto do qual você quer importar os dados.

QUALIFIER qualificador_ O caractere qualificador de texto. Os valores dos campos são colocados entre carac-
de_dados teres qualificadores para identificação. É preciso especificar o caractere como uma
cadeia entre aspas.
opcional
Use apóstrofos para especificar o caractere aspas: '"'.

OWNER nome_do_usu- O nome da conta de usuário do banco de dados que é o proprietário da tabela à qual
ário você está se conectando.
opcional

USERID id_do_usuário O nome de usuário para acessar a fonte de dados.


opcional

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 288 de 966


Comandos

Nome Descrição

PASSWORD num A definição de senha a ser usada.


opcional PASSWORD num não é usado para solicitar ou especificar uma senha real. A definição
de senha faz referência a uma senha previamente fornecida ou definida com o
comando PASSWORD, o comando SET PASSWORD ou a tag de análise PASSWORD.
num é o número da definição de senha. Por exemplo, se as duas senhas foram pre-
viamente fornecidas ou definidas em um script, ou no agendamento de uma análise,
PASSWORD 2 especifica o uso da senha nº 2.
Para obter mais informações sobre o fornecimento ou a definição de senhas, consulte:
l "Comando PASSWORD" Na página 363
l "Comando SET" Na página 424
l Tag de análise PASSWORD
Para obter mais informações sobre o fornecimento ou a definição de senhas, consulte:
l Comando PASSWORD
l Comando SET
l Tag de análise PASSWORD

WHERE clausula_onde Uma cláusula SQL WHERE que limita os registros retornados com base em critérios
especificados. Deve ser uma instrução SQL válida e ser inserida como uma cadeia
opcional
entre aspas:

WHERE "SALARY > 50000".

TO nome_tabela O nome do arquivo de dados do Analytics a ser criado.


opcional Especifique nome_tabela como uma cadeia entre aspas com uma extensão de arquivo
.FIL. Por exemplo, TO "Faturas.FIL".
Por padrão, o arquivo de dados (.FIL) é salvo na pasta que contém o projeto do Analy-
tics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
o TO "C:\dados\Faturas.FIL"
o TO "dados\Faturas.FIL".

WIDTH tamanho_ O tamanho máximo em caracteres de qualquer campo na tabela do Analytics originada
máximo_do_campo como dados caractere no arquivo de dados de origem que você está importando.
opcional Você pode digitar qualquer valor entre 1 e 254. O valor padrão é 50. Dados que ultra-
passem o comprimento máximo do campo são truncados quando importados para o
Analytics.

MAXIMUM tamanho_ O comprimento máximo, em caracteres, do texto, anotação ou campos de memorando


máximo_do_campo que você está importando.
opcional Você pode digitar qualquer valor entre 1 e 1.100. O valor padrão é 100. Dados que
ultrapassem o comprimento máximo do campo são truncados quando importados para
o Analytics.

FIELDS campo <,...n> Campos individuais nos dados de origem a serem importados. Especifique o nome.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 289 de 966


Comandos

Nome Descrição

opcional Se especificar vários campos, cada campo deve ser separado por um ponto e vírgula.
Se você omitir FIELDS, todos os campos serão importados.
Colocando os nomes de campo entre aspas faz com que diferenciem maiúsculas de
minúsculas. Se você usar aspas, os nomes de campo de FIELDS e da origem de dados
ODBC devem corresponder exatamente, inclusive maiúsculas e minúsculas. Se você
usar aspas e as maiúsculas e minúsculas dos nomes de campo não corresponderem,
os campos não serão importados.
Nota
FIELDS deve estar posicionado em último entre os parâmetros de
IMPORT ODBC. Caso contrário, o comando falhará.

Exemplos
Importação de dados do SQL Server
Importe dados de um banco de dados do SQL Server para uma tabela do Analytics denominada Trans_
Dec11:

IMPORT ODBC SOURCE "SQLServerAudit" TABLE "Transações" OWNER "audit" TO "C:\ACL


DATA\Trans_Dec11.FIL" WIDTH 100 MAXIMUM 200 FIELDS
"CARDNUM","CREDLIM","CUSTNO","PASTDUEAMT"

Observações
Método anterior de conectar-se a origens de dados ODBC
O comando IMPORT ODBC é o método anterior de conectar-se a origens de dados compatíveis com
ODBC a partir do Analytics. O novo método de conexão com origens dos dados ODBC usa a janela de
Acesso a Dados e o comando ACCESSDATA.
Você pode continuar a usar IMPORT ODBC no Analytics. No entanto, esse método de conexão agora
está disponível apenas em scripts e a partir da linha de comando do Analytics. Você não pode mais aces-
sar esse método de conexão no Assistente de Definição de Dados .

Suprime a parte de tempo dos valores de datahora


Ao usar o comando IMPORT ODBC para definir uma tabela do Analytics, é possível suprimir a parte da
hora dos valores de datahora precedendo o comando com o comando SET SUPPRESSTIME ON.
Esse recurso permite alterar retroativamente scripts do Analytics criados antes da versão 10.0 do Analy-
tics, quando a parte de tempo dos valores de datahora eram automaticamente truncados. Se SET

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 290 de 966


Comandos

SUPPRESSTIME ON não for adicionado a esses scripts, eles não serão executados na versão com
suporte a datahora do Analytics.
Para obter mais informações, consulte a seção "SET SUPPRESSTIME" no "Comando SET" Na
página 424.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 291 de 966


Comandos

Comando IMPORT PDF


Cria uma tabela do Analytics definindo e importando um arquivo Adobe PDF.

Sintaxe
IMPORT PDF TO tabela <PASSWORD num> nome_arquivo_importação FROM nome_arquivo_ori-
gem <SERVER nome_perfil> ignorar_comprimento <PARSER "VPDF"> <PAGES intervalo_de_
páginas> {[sintaxe_registro] [sintaxe_campo] <...n>} <...n>

sintaxe_registro ::=
RECORD nome_registro tipo_registro linhas_no_registro transparente [sintaxe_teste] <...n>

sintaxe_teste ::=
TEST incluir_excluir tipo_correspondência AT linha_inicial,posição_inicial,intervalo lógica texto

sintaxe_campo ::=
FIELD nome tipo AT linha_inicial,posição_inicial SIZE comprimento,linhas_no_campo DEC valor
WID bytes PIC formato AS nome_exibicao

Parâmetros
Parâmetros gerais
Nome Descrição

TO tabela O nome da tabela do Analytics na qual os dados serão importados.


Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos. O
nome pode incluir o caractere de sublinhado ( _ ) mas nenhum outro
caractere especial e nenhum espaço. O nome não pode começar com
um número.

PASSWORD num Usado para arquivos PDF protegidos por senha.


opcional A definição de senha a ser usada.
PASSWORD num não é usado para solicitar ou especificar uma senha real. A definição
de senha faz referência a uma senha previamente fornecida ou definida com o
comando PASSWORD, o comando SET PASSWORD ou a tag de análise PASSWORD.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 292 de 966


Comandos

Nome Descrição

num é o número da definição de senha. Por exemplo, se as duas senhas foram pre-
viamente fornecidas ou definidas em um script, ou no agendamento de uma análise,
PASSWORD 2 especifica o uso da senha nº 2.
Para obter mais informações sobre o fornecimento ou a definição de senhas, consulte:
l "Comando PASSWORD" Na página 363
l "Comando SET" Na página 424
l Tag de análise PASSWORD
Para obter mais informações sobre o fornecimento ou a definição de senhas, consulte:
l Comando PASSWORD
l Comando SET
l Tag de análise PASSWORD

nomearquivo_importação O nome do arquivo de dados do Analytics a ser criado.


Especifique nome_arquivo_importação como uma cadeia entre aspas com uma exten-
são de arquivo .FIL. Por exemplo, "Faturas.FIL".
Por padrão, o arquivo de dados (.FIL) é salvo na pasta que contém o projeto do Analy-
tics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
o "C:\dados\Faturas.FIL"
o "dados\Faturas.FIL"

FROM nome_arquivo_ori- O nome do arquivo de dados de origem. nome_arquivo_origem deve ser uma cadeia
gem entre aspas.
Se o arquivo de dados de origem não está localizado no mesmo diretório que o projeto
do Analytics, é necessário usar um caminho absoluto para especificar a localização do
arquivo:
o "C:\dados\nome_arquivo_origem"
o "dados\nome_arquivo_origem"

SERVER nome_perfil O nome do perfil do servidor onde estão os dados que você quer importar.
opcional

ignorar_comprimento O número de bytes a ser ignorado no início do arquivo.


opcional Por exemplo, se os primeiros 32 bytes contêm informações de cabeçalho, especifique
um valor de comprimento a ignorar de 32 para omitir essas informações.
Nota
Para dados Unicode, especifique apenas um número de bytes par. A
especificação de um número de bytes ímpar pode causar problemas no
processamento subsequente dos dados importados.

PARSER "VPDF" Use o analisador VeryPDF para analisar o arquivo PDF durante o processo de defi-
nição de arquivo.
opcional
Se você omitir PARSER, será usado o analisador padrão Xpdf.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 293 de 966


Comandos

Nome Descrição

Se você está importando o arquivo PDF pela primeira vez e não tiver motivo para pro-
ceder de outra forma, use o analisador padrão Xpdf. Se você já encontrou problemas
de alinhamento de dados usando o Xpdf com o arquivo, use o analisador VeryPDF
para verificar se os resultados da análise são melhores.

PAGES intervalo_de_pági- As páginas a serem incluídas quando você não quer incluir todas as páginas do
nas arquivo PDF. intervalo_de_páginas deve ser especificado como uma cadeia entre
aspas.
opcional
Você pode especificar:
o páginas individuais separadas por vírgulas (1,3,5)
o intervalos de páginas (2-7)
o uma combinação de páginas e intervalos (1, 3, 5-7, 11)
Se você omitir PAGES, todas as páginas do arquivo PDF serão importadas.

Parâmetro RECORD
Informações gerais sobre definição de registros.
Nota
Algumas informações de definição de registros são especificadas usando códigos numé-
ricos associados a opções no Assistente de Definição de Dados.
Em scripts, especifique o código numérico e não o nome da opção.

Nome Descrição

RECORD nome_registro O nome do registro no Assistente de Definição de Dados.


É necessário especificar nome_registro no comando IMPORT PDF, mas o valor nome_
registro não aparece na tabela do Analytics resultante.
No Assistente de Definição de Dados, o Analytics oferece nomes padrão de acordo
com o tipo de registro:
o Detalhes
o Cabeçalhon
o Rodapén
Você pode usar os nomes padrão ou especificar nomes diferentes.

tipo_registro Os três tipos de registro possíveis ao definir um arquivo PDF:


o 0 – detalhe
o 1 – cabeçalho
o 2 – rodapé
Nota
Você pode definir vários conjuntos de registros de cabeçalho e rodapé
em uma única execução de IMPORT PDF, mas apenas um conjunto de
registros de detalhe.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 294 de 966


Comandos

Nome Descrição

linhas_no_registro O número de linhas ocupadas em um registro no arquivo PDF.


Você pode definir registros de uma única linha ou de várias linhas para corresponder
aos dados no arquivo PDF.

transparente A definição de transparência para um registro de cabeçalho.


Nota
Aplicável apenas a registros de cabeçalho.
o 0 – não transparente
o 1 – transparente
Os registros de cabeçalho transparentes não dividem registros de detalhe de várias
linhas.
Se um registro de cabeçalho dividir um registro de detalhe de várias linhas no arquivo
PDF de origem, o que poderá acontecer na quebra de página, a especificação de 1
(transparente) unificará o registro de detalhe na tabela do Analytics resultante.

Parâmetro TEST
Os critérios para definir um conjunto de registros no arquivo PDF. Você pode ter uma ou mais (até 8) ocor-
rências de TEST para cada ocorrência de RECORD.
Nota
Alguns critérios são especificados usando códigos numéricos associados a opções no
Assistente de Definição de Dados (os nomes das opções são mostrados abaixo entre
parênteses).
Em scripts, especifique o código numérico e não o nome da opção.

Nome Descrição

TEST incluir_excluir Como tratar dados correspondentes:


o 0 – (Incluir) dados que cumprem os critérios são incluídos no conjunto de registros
o 1 – (Excluir) dados que cumprem os critérios são excluídos do conjunto de registros

tipo_correspondência O tipo de correspondência a ser executada:


o 0 – (Correspondência exata) os registros correspondentes devem conter o caractere
especificado ou a cadeia de caracteres especificada, na linha inicial especificada e a
partir da posição especificada
o 2 – (Alfa) os registros correspondentes devem conter um ou mais caracteres alfa-
béticos na linha inicial especificada, na posição inicial especificada ou em todas as
posições do intervalo especificado
o 3 – (Numérico) os registros correspondentes devem conter um ou mais caracteres
numéricos na linha inicial especificada, na posição inicial especificada ou em todas
as posições do intervalo especificado
o 4 – (Em branco) os registros correspondentes devem conter um ou mais espaços em
branco na linha inicial especificada, na posição inicial especificada ou em todas as
posições do intervalo especificado

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 295 de 966


Comandos

Nome Descrição

o 5 – (Não em branco) os registros correspondentes devem conter um ou mais carac-


teres não em branco (incluindo caracteres especiais) na linha inicial especificada, na
posição inicial especificada ou em todas as posições do intervalo especificado
o 7 – (Encontrar na linha) os registros correspondentes devem conter o caractere espe-
cificado ou a cadeia de caracteres especificada em qualquer lugar da linha inicial
especificada
o 8 – (Encontrar no intervalo) os registros correspondentes devem conter o caractere
especificado ou a cadeia de caracteres especificada, na linha inicial especificada, em
qualquer lugar dentro do intervalo especificado
o 10 – (Mapa personalizado) os registros correspondentes devem conter caracteres que
correspondem ao padrão de caracteres especificado, na linha inicial especificada e a
partir da posição especificada

AT linha_inicial, posição_ o linha_inicial: a linha de um registro ao qual os critérios se aplicam


inicial, intervalo
Por exemplo, se você criar um mapa personalizado para corresponder CEPs, e os
CEPs forem exibidos na terceira linha de um registro de três linhas, você deverá espe-
cificar 3 em linha_inicial.
Nota
Para registros de uma única linha, o valor de linha_inicial é sempre 1.
o posição_inicial: a posição inicial em bytes no arquivo PDF para comparação com os
critérios
o intervalo: o número de bytes a partir da posição inicial em bytes no arquivo PDF
usada na comparação com os critérios
Se você estiver usando apenas a posição inicial em bytes, sem um intervalo, espe-
cifique 0 como intervalo.
Nota

Analytics não Unicode 1 byte = 1 caractere

Analytics Unicode 2 bytes = 1 caractere

lógica As relações lógicas entre os critérios:


o 0 – (E) os critérios atual e próximo são relacionados com um AND lógico
o 1 – (Ou) os critérios atual e próximo são relacionados com um OR lógico
o 4 – (Novo grupo > E) o critério atual é o último em um grupo de critérios lógicos, e os
grupos atual e próximo são relacionados com um AND lógico
o 5 – (Novo grupo > Ou) o critério atual é o último em um grupo de critérios lógicos, e os
grupos atual e próximo são relacionados com um OU lógico
o 7 – (Fim) o critério atual é o último em um grupo de critérios lógicos

texto Caracteres literais ou curinga para correspondência:


o Em Correspondência exata, Encontrar na linha ou Encontrar no intervalo: especifica
o caractere ou a cadeia de caracteres que identifica unicamente o conjunto de regis-
tros no arquivo PDF
o Em Mapa personalizado: especifica o padrão de caracteres que identifica unicamente
o conjunto de registros no arquivo PDF
A opção Mapa personalizado usa a mesma sintaxe de "Função MAP( )" Na

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 296 de 966


Comandos

Nome Descrição

página 652.
Para outros tipos de correspondência, o texto é uma cadeia vazia "".

Parâmetros de FIELD
Informações de definição de campo.

Nome Descrição

FIELD nome tipo Os campos individuais no arquivo de dados de origem a importar, incluindo o nome e o
tipo de dados do campo. Para excluir um campo da importação, não o especifique.
Para obter mais informações sobre tipo, consulte "Identificadores para os tipos de dados
de campo" Na página 299.

AT linha_inicial, posição_ o linha_inicial: a linha inicial do campo no registro do arquivo PDF


inicial
Para registros de várias linhas em um arquivo PDF, linha_inicial permite iniciar um
campo em qualquer linha do registro. linha_inicial será sempre 1 se linhas_no_regis-
tro for 1.
o posição_inicial: a posição inicial em bytes do campo no arquivo PDF
Nota

Analytics não Unicode 1 byte = 1 caractere

Analytics Unicode 2 bytes = 1 caractere

No Analytics Unicode, normalmente você deve especificar uma posi-


ção inicial em bytes ímpar. A especificação de uma posição inicial par
pode causar exibição incorreta de caracteres.

SIZE comprimento, linhas_ o comprimento: o comprimento em bytes do campo no layout da tabela do Analytics
no_campo
Nota

Analytics não Unicode 1 byte = 1 caractere

Analytics Unicode 2 bytes = 1 caractere

No Analytics Unicode, especifique apenas um número de bytes par. A


especificação de um número ímpar de bytes pode causar exibição
incorreta de caracteres.
o linhas_no_campo: o número de linhas ocupadas por um único valor de campo no
arquivo PDF
Você pode definir registros de uma única linha ou de várias linhas para corresponder
aos dados no arquivo.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 297 de 966


Comandos

Nome Descrição

Nota
O número de linhas especificado para um campo não pode exceder o
número de linhas especificado para o registro que contém o campo.

DEC valor O número de casas decimais para campos numéricos.

WID bytes A largura de exibição do campo em bytes.


O valor especificado controla a largura de exibição do campo em exibições e relatórios
do Analytics. A largura de exibição nunca altera os dados. No entanto, pode ocultá-los
se for menor que o comprimento do campo.

PIC formato Nota


Aplica-se somente a campos numéricos ou de datahora.
o campos numéricos: o formato de exibição de valores numéricos em exibições e rela-
tórios do Analytics
o campos datahora: o formato físico dos valores datahora nos dados de origem (ordem
de caracteres de data e hora, separadores e assim por diante)
Nota
Para campos de datahora, formato deve corresponder exatamente ao
formato físico dos dados de origem. Por exemplo, se os dados de ori-
gem são 31/12/2014, você deve inserir o formato como
"DD/MM/AAAA".
formato deve estar entre aspas.

AS nome_exibicao O nome de exibição (título alternativo da coluna) para o campo na exibição na nova
tabela do Analytics.
Especifique nome_exibicao como uma cadeia entre aspas. Utilize um ponto e vírgula (;)
entre palavras se quiser uma quebra de linha no título da coluna.
AS é obrigatório na definição de um FIELD. Para que o nome de exibição seja igual ao
nome do campo, insira um valor de nome_exibicao em branco usando a seguinte sin-
taxe: AS "". Verifique se não há espaço entre as duas aspas.

Exemplos
Importação de dados de uma página específica de um arquivo PDF
Importe dados da página 1 de um arquivo PDF protegido por senha, Fornecedores.pdf.
Um conjunto de registros de detalhes, com três campos, é criado na tabela do Analytics resultante, Lista_
Fornecedores :

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 298 de 966


Comandos

IMPORT PDF TO Lista_Fornecedores PASSWORD 1 "Lista_Fornecedores.FIL" FROM "For-


necedores.pdf" 2 PAGES "1" RECORD "Detalhe" 0 1 0 TEST 0 3 AT 1;1;0 7 "" FIELD "Número_For-
necedor" C AT 1;1 SIZE 10;1 DEC 0 WID 10 PIC "" AS "" FIELD "Nome_Fornecedor" C AT 1;33 SIZE
58;1 DEC 0 WID 58 PIC "" AS "" FIELD "Data_Última_Atividade" D AT 1;277 SIZE 20;1 DEC 0 WID
20 PIC "DD/MM/AAAA" AS ""

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Resolução de problemas de importação de arquivos PDF


na edição Unicode do Analytics
Se você encontrar problemas ao importar um arquivo PDF usando a edição Unicode do Analytics, o motivo
poderá estar relacionado às especificações de tamanho:
l Se caracteres de idioma estrangeiros aparecerem inesperadamente ou o layout da tabela do Analy-
tics resultante estiver deslocado, verifique se o comprimento de SIZE é um número par.
A especificação de um número de bytes ímpar para SIZE comprimento pode causar problemas no
processamento subsequente dos dados importados.
l Se a tabela do Analytics for criada, mas não tiver nenhum registro, experimente definir ignorar_com-
primento com 2 ou outro número par se existirem dados de cabeçalho no início do arquivo que você
quer ignorar.

Identificadores para os tipos de dados de campo


A tabela abaixo lista as letras que você deve usar ao especificar o tipo para FIELD. Cada letra corresponde
a um tipo de dado.
Por exemplo, se você estiver definindo um campo Sobrenome, que usa um tipo de dado de caractere, você
especificaria "C": FIELD "Sobrenome" C.
Nota
Ao usar o Assistente de Definição de Dados para definir uma tabela que inclui campos
EBCDIC, Unicode ou ASCII, os campos recebem automaticamente a letra “C” (para o tipo
CARACTERE).
Ao inserir a instrução IMPORT manualmente ou editar uma instrução IMPORT, você pode
substituir as letras mais específicas “E” ou “U” para os campos EBCDIC ou Unicode.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 299 de 966


Comandos

Letra Tipo de dados

A ACL

B BINARY

C CHARACTER

D DATETIME

E EBCDIC

F FLOAT

G ACCPAC

I IBMFLOAT

K UNSIGNED

L LOGICAL

N PRINT

P PACKED

Q BASIC

R MICRO

S CUSTOM

T PCASCII

U UNICODE

V VAXFLOAT

X NUMERIC

Y UNISYS

Z ZONED

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 300 de 966


Comandos

Comando IMPORT PRINT


Cria uma tabela do Analytics definindo e importando um arquivo de imagem de impressão (relatório).

Sintaxe
IMPORT PRINT TO tabela nome_arquivo_importação FROM nome_arquivo_origem
<SERVER nome_perfil> valor_do_conjunto_de_caracteres < número_da_página_de_código> {[sin-
taxe_registro] [sintaxe_campo] <...n>} <...n>

sintaxe_registro ::=
RECORD nome_registro tipo_registro linhas_no_registro transparente [sintaxe_teste] <...n>

sintaxe_teste ::=
TEST incluir_excluir tipo_correspondência AT linha_inicial,posição_inicial,intervalo lógica texto

sintaxe_campo ::=
FIELD nome tipo AT linha_inicial,posição_inicial SIZE comprimento,linhas_no_campo DEC valor WID
bytes PIC formato AS nome_exibicao

Parâmetros
Parâmetros gerais
Nome Descrição

TO tabela O nome da tabela do Analytics na qual os dados serão importados.


Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos. O nome
pode incluir o caractere de sublinhado ( _ ) mas nenhum outro caractere
especial e nenhum espaço. O nome não pode começar com um número.

nomearquivo_importação O nome do arquivo de dados do Analytics a ser criado.


Especifique nome_arquivo_importação como uma cadeia entre aspas com uma exten-
são de arquivo .FIL. Por exemplo, "Faturas.FIL".
Por padrão, o arquivo de dados (.FIL) é salvo na pasta que contém o projeto do Analy-
tics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em uma

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 301 de 966


Comandos

Nome Descrição

pasta diferente já existente:


o "C:\dados\Faturas.FIL"
o "dados\Faturas.FIL"

FROM nome_arquivo_ori- O nome do arquivo de dados de origem. nome_arquivo_origem deve ser uma cadeia
gem entre aspas.
Se o arquivo de dados de origem não está localizado no mesmo diretório que o projeto
do Analytics, é necessário usar um caminho absoluto para especificar a localização do
arquivo:
o "C:\dados\nome_arquivo_origem"
o "dados\nome_arquivo_origem"

SERVER nome_perfil O nome do perfil do servidor onde estão os dados que você quer importar.
opcional

valor_do_conjunto_de_ O conjunto de caracteres usado para codificar o arquivo de imagem de impressão (Rela-
caracteres tório). É oferecido suporte para os seguintes valores:
o 0 – ASCII
o 1 – EBCDIC
o 2 – Unicode
o 3 – Texto codificado

número_da_página_de_ Se especificar 3 (texto codificado) para valor_do_conjunto_de_caracteres, você também


código deverá inserir o número da página de código.
opcional

Parâmetro RECORD
Informações gerais sobre definição de registros.
Nota
Algumas informações de definição de registros são especificadas usando códigos numé-
ricos associados a opções no Assistente de Definição de Dados.
Em scripts, especifique o código numérico e não o nome da opção.

Nome Descrição

RECORD nome_registro O nome do registro no Assistente de Definição de Dados.


É necessário especificar nome_registro no comando IMPORT PRINT, mas o valor
nome_registro não aparece na tabela do Analytics resultante.
No Assistente de Definição de Dados, o Analytics oferece nomes padrão de acordo
com o tipo de registro:
o Detalhes
o Cabeçalhon
o Rodapén

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 302 de 966


Comandos

Nome Descrição

Você pode usar os nomes padrão ou especificar nomes diferentes.

tipo_registro Os três tipos de registro possíveis ao definir um arquivo imagem de impressão:


o 0 – detalhe
o 1 – cabeçalho
o 2 – rodapé
Nota
Você pode definir vários conjuntos de registros de cabeçalho e rodapé
em uma única execução de IMPORT PRINT, mas apenas um conjunto
de registros de detalhe.

linhas_no_registro O número de linhas ocupadas em um registro no arquivo de imagem de impressão.


Você pode definir registros de uma única linha ou de várias linhas para corresponder
aos dados no arquivo.

transparente A definição de transparência para um registro de cabeçalho.


Nota
Aplicável apenas a registros de cabeçalho.
o 0 – não transparente
o 1 – transparente
Os registros de cabeçalho transparentes não dividem registros de detalhe de várias
linhas.
Se um registro de cabeçalho dividir um registro de detalhe de várias linhas no arquivo
de imagem de impressão de origem, o que poderá acontecer na quebra de página, a
especificação de 1 (transparente) unificará o registro de detalhe na tabela do Analytics
resultante.

Parâmetro TEST
Os critérios para definir um conjunto de registros no arquivo de imagem de impressão. Você pode ter uma
ou mais (até 8) ocorrências de TEST para cada ocorrência de RECORD.
Nota
Alguns critérios são especificados usando códigos numéricos associados a opções no
Assistente de Definição de Dados (os nomes das opções são mostrados abaixo entre
parênteses).
Em scripts, especifique o código numérico e não o nome da opção.

Nome Descrição

TEST incluir_excluir Como tratar dados correspondentes:


o 0 – (Incluir) dados que cumprem os critérios são incluídos no conjunto de registros
o 1 – (Excluir) dados que cumprem os critérios são excluídos do conjunto de registros

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 303 de 966


Comandos

Nome Descrição

tipo_correspondência O tipo de correspondência a ser executada:


o 0 – (Correspondência exata) os registros correspondentes devem conter o caractere
especificado ou a cadeia de caracteres especificada, na linha inicial especificada e a
partir da posição especificada
o 2 – (Alfa) os registros correspondentes devem conter um ou mais caracteres alfa-
béticos na linha inicial especificada, na posição inicial especificada ou em todas as
posições do intervalo especificado
o 3 – (Numérico) os registros correspondentes devem conter um ou mais caracteres
numéricos na linha inicial especificada, na posição inicial especificada ou em todas
as posições do intervalo especificado
o 4 – (Em branco) os registros correspondentes devem conter um ou mais espaços em
branco na linha inicial especificada, na posição inicial especificada ou em todas as
posições do intervalo especificado
o 5 – (Não em branco) os registros correspondentes devem conter um ou mais carac-
teres não em branco (incluindo caracteres especiais) na linha inicial especificada, na
posição inicial especificada ou em todas as posições do intervalo especificado
o 7 – (Encontrar na linha) os registros correspondentes devem conter o caractere espe-
cificado ou a cadeia de caracteres especificada em qualquer lugar da linha inicial
especificada
o 8 – (Encontrar no intervalo) os registros correspondentes devem conter o caractere
especificado ou a cadeia de caracteres especificada, na linha inicial especificada, em
qualquer lugar dentro do intervalo especificado
o 10 – (Mapa personalizado) os registros correspondentes devem conter caracteres que
correspondem ao padrão de caracteres especificado, na linha inicial especificada e a
partir da posição especificada

AT linha_inicial, posição_ o linha_inicial: a linha de um registro ao qual os critérios se aplicam


inicial, intervalo
Por exemplo, se você criar um mapa personalizado para corresponder CEPs, e os
CEPs forem exibidos na terceira linha de um registro de três linhas, você deverá espe-
cificar 3 em linha_inicial.
Nota
Para registros de uma única linha, o valor de linha_inicial é sempre 1.
o posição_inicial: a posição inicial em bytes no arquivo de imagem de impressão para
comparação com os critérios
o intervalo: o número de bytes a partir da posição inicial em bytes no arquivo de ima-
gem de impressão usada na comparação com os critérios
Se você estiver usando apenas a posição inicial em bytes, sem um intervalo, espe-
cifique 0 como intervalo.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 304 de 966


Comandos

Nome Descrição

Nota

Analytics não Unicode 1 byte = 1 caractere

Analytics Unicode, dados em ASCII estendido 1 byte = 1 caractere


(ANSI)

Analytics Unicode, dados Unicode 2 bytes = 1 caractere

Para dados Unicode, intervalo deve ser um número par de bytes. Por
exemplo, 50;59 (10 bytes). A especificação de um número ímpar de
bytes pode impedir a correspondência correta com critérios.

lógica As relações lógicas entre os critérios:


o 0 – (E) os critérios atual e próximo são relacionados com um AND lógico
o 1 – (Ou) os critérios atual e próximo são relacionados com um OR lógico
o 4 – (Novo grupo > E) o critério atual é o último em um grupo de critérios lógicos, e os
grupos atual e próximo são relacionados com um AND lógico
o 5 – (Novo grupo > Ou) o critério atual é o último em um grupo de critérios lógicos, e os
grupos atual e próximo são relacionados com um OU lógico
o 7 – (Fim) o critério atual é o último em um grupo de critérios lógicos

texto Caracteres literais ou curinga para correspondência:


o Em Correspondência exata, Encontrar na linha ou Encontrar no intervalo: especifica
o caractere ou a cadeia de caracteres que identifica unicamente o conjunto de regis-
tros no arquivo de imagem de impressão
o Em Mapa personalizado: especifica o padrão de caracteres que identifica unicamente
o conjunto de registros no arquivo de imagem de impressão
A opção Mapa personalizado usa a mesma sintaxe de "Função MAP( )" Na
página 652.
Para outros tipos de correspondência, o texto é uma cadeia vazia "".

Parâmetros de FIELD
Informações de definição de campo.

Nome Descrição

FIELD nome tipo Os campos individuais no arquivo de dados de origem a importar, incluindo o nome e o
tipo de dados do campo. Para excluir um campo da importação, não o especifique.
Para obter mais informações sobre tipo, consulte "Identificadores para os tipos de dados
de campo" Na página 308.

AT linha_inicial, posição_ o linha_inicial: a linha inicial do campo no registro do arquivo de imagem de impressão
inicial
Para registros de várias linhas em um arquivo de imagem de impressão, linha_inicial
permite iniciar um campo em qualquer linha do registro. linha_inicial será sempre 1
se linhas_no_registro for 1.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 305 de 966


Comandos

Nome Descrição

o posição_inicial: a posição inicial em bytes do campo no arquivo de imagem de


impressão
Nota

Analytics não Unicode 1 byte = 1 caractere

Analytics Unicode, dados em ASCII estendido 1 byte = 1 caractere


(ANSI)

Analytics Unicode, dados Unicode 2 bytes = 1 caractere

SIZE comprimento, linhas_ o comprimento: o comprimento em bytes do campo no layout da tabela do Analytics
no_campo Nota

Analytics não Unicode 1 byte = 1 caractere

Analytics Unicode, dados em ASCII estendido 1 byte = 1 caractere


(ANSI)

Analytics Unicode, dados Unicode 2 bytes = 1 caractere

Para dados Unicode, especifique apenas um número par de bytes. A


especificação de um número ímpar de bytes pode causar exibição
incorreta de caracteres.
o linhas_no_campo: o número de linhas ocupadas por um único valor de campo no
arquivo de imagem de impressão
Você pode definir registros de uma única linha ou de várias linhas para corresponder
aos dados no arquivo.
Nota
O número de linhas especificado para um campo não pode exceder o
número de linhas especificado para o registro que contém o campo.

DEC valor O número de casas decimais para campos numéricos.

WID bytes A largura de exibição do campo em bytes.


O valor especificado controla a largura de exibição do campo em exibições e relatórios
do Analytics. A largura de exibição nunca altera os dados. No entanto, pode ocultá-los
se for menor que o comprimento do campo.

PIC formato Nota


Aplica-se somente a campos numéricos ou de datahora.
o campos numéricos: o formato de exibição de valores numéricos em exibições e rela-
tórios do Analytics
o campos datahora: o formato físico dos valores datahora nos dados de origem (ordem
de caracteres de data e hora, separadores e assim por diante)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 306 de 966


Comandos

Nome Descrição

Nota
Para campos de datahora, formato deve corresponder exatamente ao
formato físico dos dados de origem. Por exemplo, se os dados de ori-
gem são 31/12/2014, você deve inserir o formato como
"DD/MM/AAAA".
formato deve estar entre aspas.

AS nome_exibicao O nome de exibição (título alternativo da coluna) para o campo na exibição na nova
tabela do Analytics.
Especifique nome_exibicao como uma cadeia entre aspas. Utilize um ponto e vírgula (;)
entre palavras se quiser uma quebra de linha no título da coluna.
AS é obrigatório na definição de um FIELD. Para que o nome de exibição seja igual ao
nome do campo, insira um valor de nome_exibicao em branco usando a seguinte sin-
taxe: AS "". Verifique se não há espaço entre as duas aspas.

Exemplos
Importação de dados de um arquivo de imagem de impressão (relatório)
Importe dados de um arquivo de imagem de impressão (relatório), Relatório.txt.
Um registro de cabeçalho e um conjunto de registros de detalhes, com cinco campos, são criados na tabela
do Analytics resultante, Relatório_inventário:

IMPORT PRINT TO Relatório_inventário "Relatório_inventário.FIL" FROM "Relatório.txt" 0 RECORD


"Cabeçalho1" 1 1 0 TEST 0 0 AT 1;17;0 7 ":" FIELD "Campo_1" C AT 1;19 SIZE 2;1 DEC 0 WID 2 PIC
"" AS "Classe Produto" FIELD "Campo_2" C AT 1;24 SIZE 31;1 DEC 0 WID 31 PIC "" AS "Descrição
Produto" RECORD "Detalhe" 0 1 0 TEST 0 0 AT 1;59;59 7 "." FIELD "Campo_3" X AT 1;6 SIZE 9;1
DEC 0 WID 9 PIC "" AS "ID do item" FIELD "Campo_4" C AT 1;16 SIZE 24;1 DEC 0 WID 24 PIC "" AS
"Desc. do item" FIELD "Campo_5" N AT 1;40 SIZE 10;1 DEC 0 WID 10 PIC "" AS "Na mão" FIELD
"Campo_6" N AT 1;50 SIZE 12;1 DEC 2 WID 12 PIC "" AS "Custo" FIELD "Campo_7" N AT 1;62 SIZE
12;1 DEC 2 WID 12 PIC "" AS "Total"

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 307 de 966


Comandos

Identificadores para os tipos de dados de campo


A tabela abaixo lista as letras que você deve usar ao especificar o tipo para FIELD. Cada letra cor-
responde a um tipo de dado.
Por exemplo, se você estiver definindo um campo Sobrenome, que usa um tipo de dado de caractere,
você especificaria "C": FIELD "Sobrenome" C.
Nota
Ao usar o Assistente de Definição de Dados para definir uma tabela que inclui campos
EBCDIC, Unicode ou ASCII, os campos recebem automaticamente a letra “C” (para o
tipo CARACTERE).
Ao inserir a instrução IMPORT manualmente ou editar uma instrução IMPORT, você
pode substituir as letras mais específicas “E” ou “U” para os campos EBCDIC ou Unicode.

Letra Tipo de dados

A ACL

B BINARY

C CHARACTER

D DATETIME

E EBCDIC

F FLOAT

G ACCPAC

I IBMFLOAT

K UNSIGNED

L LOGICAL

N PRINT

P PACKED

Q BASIC

R MICRO

S CUSTOM

T PCASCII

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 308 de 966


Comandos

Letra Tipo de dados

U UNICODE

V VAXFLOAT

X NUMERIC

Y UNISYS

Z ZONED

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 309 de 966


Comandos

Comando IMPORT SAP


Cria uma tabela do Analytics importando dados de um sistema SAP usando o Direct Link.

Sintaxe
IMPORT SAP PASSWORD num TO nome_tabela SAP SOURCE "SAP AGENT" detalhes_impor-
tação

Parâmetros
Nome Descrição

PASSWORD num A definição de senha a ser usada.


PASSWORD num não é usado para solicitar ou especificar uma senha real. A definição
de senha faz referência a uma senha previamente fornecida ou definida com o
comando PASSWORD, o comando SET PASSWORD ou a tag de análise PASSWORD.
num é o número da definição de senha. Por exemplo, se as duas senhas foram pre-
viamente fornecidas ou definidas em um script, ou no agendamento de uma análise,
PASSWORD 2 especifica o uso da senha nº 2.
Para obter mais informações sobre o fornecimento ou a definição de senhas, consulte:
l "Comando PASSWORD" Na página 363
l "Comando SET" Na página 424
l Tag de análise PASSWORD
Para obter mais informações sobre o fornecimento ou a definição de senhas, consulte:
l Comando PASSWORD
l Comando SET
l Tag de análise PASSWORD
Nota
A senha é usada para acessar o sistema SAP.

TO nome_tabela O nome da tabela do Analytics na qual os dados serão importados.


Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos. O
nome pode incluir o caractere de sublinhado ( _ ) mas nenhum outro
caractere especial e nenhum espaço. O nome não pode começar com
um número.

SAP SOURCE "SAP Obrigatório para importar dados do SAP. "SAP AGENT" é a única opção disponível.
AGENT"

detalhes_importação Os detalhes da consulta. Deve estar entre as tags <q></q> e usar as tags listadas na

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 310 de 966


Comandos

Nome Descrição

"Tags de consulta do Direct Link" Na página 313 para definir a consulta.


O tamanho físico desse valor pode ser até 16 KB.

Exemplos
Execução de consulta de várias tabelas
Este exemplo executa uma consulta em várias tabelas usando o comando IMPORT SAP.
A ordem e o aninhamento corretos das tags são necessários para criar uma cadeia de consulta válida. As
tags no exemplo são ordenadas e aninhadas corretamente. Use esse exemplo para determinar a ordem e
o aninhamento necessários das tags de consulta do IMPORT SAP.
Nota
Para facilitar a leitura, esse exemplo está formatado em diversas linhas. No script, o
comando e a cadeia de consulta devem ser inseridos sem quebras de linha.
Dica

Normalmente, a sintaxe de uma cadeia de comando IMPORT SAP é complexa. A melhor


maneira de adicionar comandos IMPORT SAP com cadeias de consulta a seus scripts é
copiar um comando IMPORT SAP existente da guia Log no Analytics e depois editar as
tags de consulta conforme a necessidade.

IMPORT SAP PASSWORD 1 TO Doc_compra SAP SOURCE "SAP AGENT"


<q version="6.0">
  <s>0</s>
  <d>IDES</d>
  <u>mzunini</u>
  <c>800</c>
  <lg>en</lg>
  <cf>C:\ACL Data\Doc_compra.fil</cf>
  <sf>E:\Data\DL_JSMITH111107.DAT</sf>
  <jcount>11110701</jcount>
  <jname>DL_JSMITH111107.DAT</jname>
  <dl>75</dl>
  <m>2</m>
  <dt>20140321</dt>
  <tm>033000</tm>
  <r>500</r>
  <ar>0</ar>

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 311 de 966


Comandos

  <e>500</e>
  <ts>
    <t>
      <n>EKKO</n>
      <a>T00001</a>
      <td>Cabeçalho do documento de compra</td>
      <fs>
        <f>EBELN</f>
        <f>BUKRS</f>
        <f>BSTYP</f>
        <f>BSART</f>
        <f>STATU</f>
        <f>WKURS</f>
      </fs>
      <wc>
        <w>
           <f>BUKRS</f>
           <o>0</o>
           <l>1000</l>
           <h></h>
        </w>
      </wc>
    </t>
    <t>
      <n>EKPO</n>
      <a>T00002</a>
      <td>Item do documento de compra</td>
      <fs>
        <f>EBELP</f>
        <f>WERKS</f>
        <f>MENGE</f>
        <f>BRTWR</f>
      </fs>
      <wc></wc>
    </t>
  </ts>
  <js>
    <jc>
      <pt>
        <pa>T00001</pa>
        <pf>EBELN</pf>
      </pt>
      <ct>
        <ca>T00002</ca>

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 312 de 966


Comandos

        <cf>EBELN</cf>
      </ct>
    </jc>
  </js>
</q>

Observações
O comando IMPORT SAP somente será permitido se o Direct Link estiver instalado e configurado.
A tabela em "Tags de consulta do Direct Link" abaixo lista as tags que podem ser incluídas no parâmetro
detalhes_importação. A coluna Obrigatório usa os seguintes valores para indicar quando as tags devem
estar presentes:
l Y: Obrigatório
l N: Opcional
l M: Obrigatório somente para consultas em várias tabelas
l B: Obrigatório, mas nenhum valor deve ser passado
l W: Opcional quando os filtros são usados
l S: Obrigatório quando o modo agendado é especificado

Tags de consulta do Direct Link


Nome Tag Obrigatório Descrição

Nome alternativo <a> M O nome alternativo que identifica a tabela dentro da consulta. Isso
da tabela: permite que a mesma tabela seja usada mais de uma vez.
O comprimento máximo é 6 caracteres.

Todas as linhas <ar> Y Indica que todas as linhas correspondentes devem ser retornadas
como parte do conjunto de resultados da pesquisa.
Os valores válidos são:
1: Substitui o número de registros especificado na tag <r> (Máximo
de linhas)
0: Retorna o número de registros especificado na tag <r> (Máximo de
linhas)
Esta tag sempre aparece após a tag <r></r>.

Cliente <c> N O cliente no sistema SAP.

Nome alternativo <ca> M O nome alternativo da tabela filha.


da tabela filha

Campo da tabela <cf> M O campo na tabela filha no qual a condição de associação está base-
filha ada.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 313 de 966


Comandos

Nome Tag Obrigatório Descrição

Nome do arquivo <cf> Y Identifica o arquivo alvo no sistema do cliente onde os resultados da
do cliente consulta serão armazenados.

Tabela filha <ct> M A tabela filha na condição de associação.

Destino <d> N Identifica um destino no arquivo de biblioteca do SAP RFC


(sapnwrfc.ini), usado para localizar um sistema SAP.

Comprimento dos <dl> B O número de caracteres em cada linha, incluindo os caracteres de


dados retorno de carro e quebra de linha indicando o final do registro
(CR+LF ou os caracteres hexadecimais 0D+0A).

Data <dt> S Obrigatório quando o modo agendado é usado. Especifica o


momento para a execução da tarefa do SAP.
Deve ser formatado como AAAAMMDD. Por exemplo, 31 de dezem-
bro de 2014 deve ser especificado como 20141231.

Linhas esperadas <e> B O número esperado de linhas que a consulta retornará.

Nome do campo <f> Y O nome do campo nativo.

Campo do filtro <f> W O nome do campo nativo em que o filtro é aplicado.

Campos <fs> Y A lista de campos na tabela que será retornada como parte dos resul-
tados de consulta.

Valor alto <h> W Contém o valor alto ao usar o operador BETWEEN. Ignorado ao usar
qualquer outro operador.

Condição de asso- <jc> M A condição de associação.


ciação

Contagem de tare- <jcount> B Usada internamente pelo SAP para identificar uma consulta em
fas modo de segundo plano.

Nome da tarefa <jname> B Usada internamente pelo SAP para identificar uma consulta em
modo de segundo plano.

Relações de asso- <js> Y A lista de condições de associação que liga tabelas com a consulta.
ciação

Indicador de asso- <jw> N Equivalente numérico do tipo enumerado indicador de associação.


ciação
Os valores válidos são:
0: Associação interna
1: Associação externa esquerda

Valor baixo <l> W Contém o valor mais baixo ao usar o operador BETWEEN ou o valor

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 314 de 966


Comandos

Nome Tag Obrigatório Descrição

ao usar qualquer outro operador.

Idioma <lg> Y Identificador de idioma usado para determinar o local dos campos no
banco de dados SAP.

Modo <m> Y Equivalente numérico do tipo enumerado do modo de envio.


Os valores válidos são:
0: Extrair agora
1: Segundo plano
2: Agendado

Nome da tabela <n> Y O nome da tabela nativa.

Operador <o> W Equivalente numérico do tipo enumerado do operador.


Os valores válidos são:
0: Igual a (=)
1: Não igual a (<>)
2: Menor que (<)
3: Menor ou igual a (<=)
4: Maior que (>)
5: Maior ou igual a (>=)
6: Entre
7: Contém

Nome alternativo <pa> M O nome alternativo da tabela pai.


da tabela pai

Campo da tabela <pf> M O campo na tabela pai no qual a condição de associação está base-
pai ada.

Tabela pai <pt> M A tabela pai na condição de associação.

Consulta <q> Y Delimita uma consulta.

Máximo de linhas <r> Y O número máximo de linhas que a consulta deve retornar.

Selecionado <s> Y Se a tag <s> aparecer abaixo da tag <f>, isso indicará que o campo
será retornado como parte do conjunto de resultados da consulta.

Sistema <s> Y Se a tag <s> aparecer abaixo da tag <q>, ela identificará o tipo de sis-
tema em relação ao qual essa consulta é usada (no momento, ape-
nas SAP é suportado).

Nome do arquivo <sf> B Identifica o arquivo no servidor que guarda os resultados da consulta

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 315 de 966


Comandos

Nome Tag Obrigatório Descrição

do servidor em modo de segundo plano.

Nome do grupo de <sg> N O nome do grupo de servidores. Máximo de 20 caracteres.


servidores

Nome do Servidor <sn> N O nome do servidor. Máximo de 20 caracteres.

Tabela <t> Y A tabela.

Descrição da <td> Y A descrição da tabela do dicionário de dados SAP. Ela deve sempre
tabela aparecer abaixo da tag <a>.

Tempo <tm> S Obrigatório quando o modo agendado é usado. Especifica o


momento para a execução da tarefa do SAP.
Deve ser formatado como hhmmss. Por exemplo, 14h30 deve ser
especificado como 143000.

Tabelas <ts> Y A lista de tabelas das quais a consulta extrairá os dados.

Tipo de tabela <tt> Y O tipo da tabela do SAP.


Os valores válidos são:
0: em cluster
1: transparente
2: em pool
3: exibição

Nome de usuário <u> N O nome de logon do usuário.

Filtro <w> W O filtro aplicado aos dados da tabela.

Filtros <wc> W A lista de filtros que serão aplicados aos dados contidos na tabela.

Indicador de filtro <ws> N Equivalente numérico do tipo enumerado indicador de filtro.


Os valores válidos são:
0: (Or) And (Or)
1: (And) Or (And)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 316 de 966


Comandos

Comando IMPORT XBRL


Cria uma tabela do Analytics definindo e importando um arquivo XBRL.

Sintaxe
IMPORT XBRL TO tabela nome_arquivo_importação FROM nome_arquivo_origem CONTEXT
nome_contexto <...n> [sintaxe_do_campo] <...n> <IGNORE num_campo> <...n>

sintaxe_campo ::=
FIELD nome tipo AT posição_inicial DEC valor WID bytes PIC formato AS nome_exibicao

Parâmetros
Nome Descrição

TO tabela O nome da tabela do Analytics na qual os dados serão importados.


Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos. O nome
pode incluir o caractere de sublinhado ( _ ) mas nenhum outro caractere
especial e nenhum espaço. O nome não pode começar com um número.

nomearquivo_importação O nome do arquivo de dados do Analytics a ser criado.


Especifique nome_arquivo_importação como uma cadeia entre aspas com uma exten-
são de arquivo .FIL. Por exemplo, "Faturas.FIL".
Por padrão, o arquivo de dados (.FIL) é salvo na pasta que contém o projeto do Analy-
tics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em uma
pasta diferente já existente:
o "C:\dados\Faturas.FIL"
o "dados\Faturas.FIL"

FROM nome_arquivo_ori- O nome do arquivo de dados de origem. nome_arquivo_origem deve ser uma cadeia
gem entre aspas.
Se o arquivo de dados de origem não está localizado no mesmo diretório que o projeto
do Analytics, é necessário usar um caminho absoluto para especificar a localização do
arquivo:
o "C:\dados\nome_arquivo_origem"
o "dados\nome_arquivo_origem"

CONTEXT nome_contexto O contexto XBRL do qual será definida a tabela. Se você especificar mais de um con-

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 317 de 966


Comandos

Nome Descrição

texto, todos os contextos deverão ser do mesmo tipo (instante, período ou contínuo).

FIELD nome tipo Os campos individuais no arquivo de dados de origem a importar, incluindo o nome e o
tipo de dados do campo. Para excluir um campo da importação, não o especifique.
Para obter mais informações sobre tipo, consulte "Identificadores para os tipos de dados
de campo" Na página oposta.

AT posição_inicial A posição inicial em bytes do campo no arquivo de dados do Analytics.


Nota

Analytics não Unicode 1 byte = 1 caractere

Analytics Unicode 2 bytes = 1 caractere

No Analytics Unicode, normalmente você deve especificar uma posição


inicial em bytes ímpar. A especificação de uma posição inicial par pode
causar exibição incorreta de caracteres.

DEC valor O número de casas decimais para campos numéricos.

WID bytes O comprimento em bytes do campo no layout da tabela do Analytics.


Nota

Analytics não Unicode 1 byte = 1 caractere

Analytics Unicode 2 bytes = 1 caractere

No Analytics Unicode, especifique apenas um número de bytes par. A


especificação de um número ímpar de bytes pode causar exibição incor-
reta de caracteres.

PIC formato Nota


Aplica-se somente a campos numéricos ou de datahora.
o campos numéricos: o formato de exibição de valores numéricos em exibições e rela-
tórios do Analytics
o campos datahora: o formato físico dos valores datahora nos dados de origem (ordem
de caracteres de data e hora, separadores e assim por diante)
Nota
Para campos de datahora, formato deve corresponder exatamente ao
formato físico dos dados de origem. Por exemplo, se os dados de ori-
gem são 31/12/2014, você deve inserir o formato como
"DD/MM/AAAA".
formato deve estar entre aspas.

AS nome_exibicao O nome de exibição (título alternativo da coluna) para o campo na exibição na nova
tabela do Analytics.
Especifique nome_exibicao como uma cadeia entre aspas. Utilize um ponto e vírgula (;)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 318 de 966


Comandos

Nome Descrição

entre palavras se quiser uma quebra de linha no título da coluna.


AS é obrigatório na definição de um FIELD. Para que o nome de exibição seja igual ao
nome do campo, insira um valor de nome_exibicao em branco usando a seguinte sin-
taxe: AS "". Verifique se não há espaço entre as duas aspas.

IGNORE num_campo Exclui um campo do layout da tabela.


opcional num_campo especifica a posição do campo nos dados de origem. Por exemplo,
IGNORE 5 exclui o quinto campo nos dados de origem do layout da tabela do Analytics.

Exemplos
Importação de um arquivo XBRL para uma tabela do Analytics
Importe dados do contexto Atual_Em de um arquivo XBRL para uma tabela do Analytics chamada Finan-
ças :

IMPORT XBRL TO Finanças "Finanças.fil" FROM "DeclaraçãoFinanceiraXBRL.xml" CONTEXT


"Atual_Em" FIELD "Item" C AT 1 DEC 0 WID 57 PIC "" AS "" FIELD "Valor" X AT 58 DEC 0 WID 7 PIC
"" AS "" IGNORE 1 IGNORE 3

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Identificadores para os tipos de dados de campo


A tabela abaixo lista as letras que você deve usar ao especificar o tipo para FIELD. Cada letra corresponde
a um tipo de dado.
Por exemplo, se você estiver definindo um campo Sobrenome, que usa um tipo de dado de caractere, você
especificaria "C": FIELD "Sobrenome" C.
Nota
Ao usar o Assistente de Definição de Dados para definir uma tabela que inclui campos
EBCDIC, Unicode ou ASCII, os campos recebem automaticamente a letra “C” (para o tipo
CARACTERE).
Ao inserir a instrução IMPORT manualmente ou editar uma instrução IMPORT, você pode
substituir as letras mais específicas “E” ou “U” para os campos EBCDIC ou Unicode.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 319 de 966


Comandos

Letra Tipo de dados

A ACL

B BINARY

C CHARACTER

D DATETIME

E EBCDIC

F FLOAT

G ACCPAC

I IBMFLOAT

K UNSIGNED

L LOGICAL

N PRINT

P PACKED

Q BASIC

R MICRO

S CUSTOM

T PCASCII

U UNICODE

V VAXFLOAT

X NUMERIC

Y UNISYS

Z ZONED

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 320 de 966


Comandos

Comando IMPORT XML


Cria uma tabela do Analytics definindo e importando um arquivo XML.

Sintaxe
IMPORT XML TO tabela nome_arquivo_importação FROM nome_arquivo_origem [sintaxe_do_
campo] <...n>

sintaxe_campo ::=
FIELD nome tipo AT posição_inicial DEC valor WID bytes PIC formato AS nome_exibicao RULE
expressão_xpath

Parâmetros
Nome Descrição

TO tabela O nome da tabela do Analytics na qual os dados serão importados.


Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos. O nome
pode incluir o caractere de sublinhado ( _ ) mas nenhum outro caractere
especial e nenhum espaço. O nome não pode começar com um número.

nomearquivo_importação O nome do arquivo de dados do Analytics a ser criado.


Especifique nome_arquivo_importação como uma cadeia entre aspas com uma exten-
são de arquivo .FIL. Por exemplo, "Faturas.FIL".
Por padrão, o arquivo de dados (.FIL) é salvo na pasta que contém o projeto do Analy-
tics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em uma
pasta diferente já existente:
o "C:\dados\Faturas.FIL"
o "dados\Faturas.FIL"

FROM nome_arquivo_ori- O nome do arquivo de dados de origem. nome_arquivo_origem deve ser uma cadeia
gem entre aspas.
Se o arquivo de dados de origem não está localizado no mesmo diretório que o projeto
do Analytics, é necessário usar um caminho absoluto para especificar a localização do
arquivo:
o "C:\dados\nome_arquivo_origem"
o "dados\nome_arquivo_origem"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 321 de 966


Comandos

Nome Descrição

FIELD nome tipo Os campos individuais no arquivo de dados de origem a importar, incluindo o nome e o
tipo de dados do campo. Para excluir um campo da importação, não o especifique.
Para obter mais informações sobre tipo, consulte "Identificadores para os tipos de dados
de campo" Na página oposta.

AT posição_inicial A posição inicial em bytes do campo no arquivo de dados do Analytics.


Nota

Analytics não Unicode 1 byte = 1 caractere

Analytics Unicode 2 bytes = 1 caractere

No Analytics Unicode, normalmente você deve especificar uma posição


inicial em bytes ímpar. A especificação de uma posição inicial par pode
causar exibição incorreta de caracteres.

DEC valor O número de casas decimais para campos numéricos.

WID bytes O comprimento em bytes do campo no layout da tabela do Analytics.


Nota

Analytics não Unicode 1 byte = 1 caractere

Analytics Unicode 2 bytes = 1 caractere

No Analytics Unicode, especifique apenas um número de bytes par. A


especificação de um número ímpar de bytes pode causar exibição incor-
reta de caracteres.

PIC formato Nota


Aplica-se somente a campos numéricos ou de datahora.
o campos numéricos: o formato de exibição de valores numéricos em exibições e rela-
tórios do Analytics
o campos datahora: o formato físico dos valores datahora nos dados de origem (ordem
de caracteres de data e hora, separadores e assim por diante)
Nota
Para campos de datahora, formato deve corresponder exatamente ao
formato físico dos dados de origem. Por exemplo, se os dados de ori-
gem são 31/12/2014, você deve inserir o formato como
"DD/MM/AAAA".
formato deve estar entre aspas.

AS nome_exibicao O nome de exibição (título alternativo da coluna) para o campo na exibição na nova
tabela do Analytics.
Especifique nome_exibicao como uma cadeia entre aspas. Utilize um ponto e vírgula (;)
entre palavras se quiser uma quebra de linha no título da coluna.
AS é obrigatório na definição de um FIELD. Para que o nome de exibição seja igual ao

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 322 de 966


Comandos

Nome Descrição

nome do campo, insira um valor de nome_exibicao em branco usando a seguinte sin-


taxe: AS "". Verifique se não há espaço entre as duas aspas.

RULE expressão_xpath A expressão XPath usada para selecionar o conteúdo do campo do arquivo XML.
XPath é uma maneira padrão de acessar dados de arquivos XML. Por exemplo, acct/-
title/text() recupera o texto na tag <title> no arquivo XML.

Exemplos
Importação de dados de um arquivo XML para uma tabela do Analytics
Importe dados de um arquivo XML para uma tabela do Analytics chamada Funcionários :

IMPORT XML TO Funcionários "Funcionários.fil" FROM "emp.XML" FIELD "NumFunc" C AT 1 DEC 0


WID 6 PIC "" AS "" RULE "/RECORDS/RECORD/NumFunc/text()" FIELD "Nome" C AT 7 DEC 0 WID
13 PIC "" AS "" RULE "/RECORDS/RECORD/Nome/text()" FIELD "Sobrenome" C AT 20 DEC 0 WID
20 PIC "" AS "" RULE "/RECORDS/RECORD/Sobrenome/text()"FIELD "DataContratação" D AT 40
DEC 0 WID 10 PIC "AAAA-MM-DD" AS "" RULE "/RECORDS/RECORD/DataContrat/text()" FIELD
"Salário" N AT 50 DEC 2 WID 8 PIC "" AS "" RULE "/RECORDS/RECORD/Salário/text()"

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Identificadores para os tipos de dados de campo


A tabela abaixo lista as letras que você deve usar ao especificar o tipo para FIELD. Cada letra corresponde
a um tipo de dado.
Por exemplo, se você estiver definindo um campo Sobrenome, que usa um tipo de dado de caractere, você
especificaria "C": FIELD "Sobrenome" C.
Nota
Ao usar o Assistente de Definição de Dados para definir uma tabela que inclui campos
EBCDIC, Unicode ou ASCII, os campos recebem automaticamente a letra “C” (para o tipo
CARACTERE).
Ao inserir a instrução IMPORT manualmente ou editar uma instrução IMPORT, você pode
substituir as letras mais específicas “E” ou “U” para os campos EBCDIC ou Unicode.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 323 de 966


Comandos

Letra Tipo de dados

A ACL

B BINARY

C CHARACTER

D DATETIME

E EBCDIC

F FLOAT

G ACCPAC

I IBMFLOAT

K UNSIGNED

L LOGICAL

N PRINT

P PACKED

Q BASIC

R MICRO

S CUSTOM

T PCASCII

U UNICODE

V VAXFLOAT

X NUMERIC

Y UNISYS

Z ZONED

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 324 de 966


Comandos

Comando INDEX
Cria um índice para uma tabela do Analytics que permite acessar os registros em uma ordem sequencial
em vez de na ordem física.

Sintaxe
INDEX <ON> {campo_chave <D> <...n>|ALL} TO nome_arquivo <IF teste> <WHILE teste> <FIRST
intervalo|NEXT intervalo> <OPEN> <ISOLOCALE código_local>

Parâmetros
Nome Descrição

ON campo_chave D <...n> O campo ou campos-chave, ou a expressão, que devem ser utilizados para a indexação.
| ALL
Você pode indexar por qualquer tipo de campo, incluindo campos calculados e
expressões ad hoc, independentemente do tipo de dados.
o campo_chave: use o campo ou os campos especificados
Se você indexar por mais de um campo, criará uma indexação aninhada na tabela. A
ordem do aninhamento seguirá a ordem em que os campos são especificados.
Inclua D para indexar o campo-chave em ordem decrescente. A ordem de indexação
padrão é crescente.
o ALL: usar todos os campos na tabela
Se você indexar por todos os campos em uma tabela, criará uma indexação ani-
nhada. A ordem do aninhamento seguirá a ordem em que os campos aparecem no
layout da tabela.
Uma ordem de indexação crescente é a única opção para ALL.

TO nome_arquivo O nome do índice e o arquivo de índice associado. O arquivo de índice é criado com
uma extensão .INX.
Nota
Na interface do usuário do Analytics, os nomes de índice são limitados a
64 caracteres alfanuméricos. O nome pode incluir o caractere de subli-
nhado ( _ ) mas nenhum outro caractere especial e nenhum espaço. O
nome não pode começar com um número.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 325 de 966


Comandos

Nome Descrição

Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes em
uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número de
opcional registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até alcan-
çar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

OPEN Abre a tabela e aplica o índice à tabela.


opcional

ISOLOCALE código_local Nota


opcional Aplicável apenas à edição Unicode do Analytics.
A localidade do sistema no formato idioma_ país. Por exemplo, para usar francês cana-
dense, insira fr_ca.
Use os códigos a seguir:
o idioma: código de idioma padrão ISO 639
o país: código de país padrão ISO 3166
Se você não especificar um código de país, será usado o país padrão do idioma.
Se você não usar ISOLOCALE, a localidade do sistema padrão será usada.

Exemplos
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda
do Analytics.

Criar um índice e abrir a tabela


Na tabela Fornecedor, você cria um índice no campo Cidade_Fornecedor e abre a tabela:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 326 de 966


Comandos

OPEN Fornecedor
INDEX ON Cidade_Fornecedor TO "ÍndiceCidade" OPEN

Criar um índice e aplicá-lo à tabela


Na tabela Fornecedor, você cria um índice no campo Cidade_Fornecedor. Depois, você aplica o índice à
tabela:

OPEN Fornecedor
INDEX ON Cidade_Fornecedor TO "ÍndiceCidade"
,
,
,
SET INDEX TO "ÍndiceCidade"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 327 de 966


Comandos

Comando JOIN
Combina campos de duas tabelas do Analytics em uma única tabela nova do Analytics.
Nota
Para usar correspondência parcial na associação de tabelas, consulte "Comando
FUZZYJOIN" Na página 218.

Sintaxe
JOIN {PKEY campos_chave_primários|PKEY ALL} {FIELDS campos_primários|FIELDS ALL}
{SKEY campos_chave_secundários|SKEY ALL} <WITH campos_secundários|WITH ALL> {sem_
palavra_chave|MANY|UNMATCHED|PRIMARY|SECONDARY|PRIMARY SECONDARY} <IF
teste> TO nome_tabela <LOCAL> <OPEN> <WHILE teste> <FIRST intervalo|NEXT intervalo>
<APPEND> <PRESORT> <SECSORT> <ISOLOCALE código_local>

Parâmetros
Nome Descrição

PKEY campos_chave_pri- Um ou mais campos-chave ou uma expressão na tabela primária.


mários | PKEY ALL o campos_chave_primários: use o campo ou os campos especificados
o ALL: usar todos os campos da tabela

FIELDS campos_pri- Os campos ou expressões da tabela primária a serem incluídos na tabela de saída
mários | FIELDS ALL associada.
o campos_primários: inclua o campo ou os campos especificados
o ALL: inclua todos os campos da tabela
Nota
Você deve especificar de forma explícita o campo-chave ou os campos-
chave primários se desejar inclui-los na tabela associada. A espe-
cificação de ALL também inclui esses campos.

SKEY campos_chave_ Um ou mais campos-chave ou uma expressão na tabela secundária.


secundários | SKEY ALL o campos_chave_secundários: use o campo ou os campos especificados
o ALL: usar todos os campos da tabela

WITH campos_secun- Os campos ou expressões da tabela secundária a serem incluídos na tabela de saída
dários | WITH ALL associada.
opcional o campos_secundários: inclua o campo ou os campos especificados
o ALL: inclua todos os campos da tabela

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 328 de 966


Comandos

Nome Descrição

Nota
Você deve especificar de forma explícita o campo-chave ou os campos-
chave primários e secundários se desejar inclui-los na tabela asso-
ciada. A especificação de ALL também inclui esses campos.
Não será possível especificar WITH se você estiver usando o tipo de
associação UNMATCHED.

sem_palavra_chave | O tipo de associação a executar.


MANY | UNMATCHED |
PRIMARY | SECONDARY sem_palavra_chave (omitir todas as palavras-chave de tipo de
| PRIMARY SECONDARY associação)

Opção correspondente na caixa de diá-


A tabela de saída associada contém: logo Associar

o todos os registros primários cor- Primários e secundários cor-


respondentes e o primeiro registro secun- respondentes
dário correspondente
(primeiro secundário correspondente)

MANY

Opção correspondente na caixa de diá-


A tabela de saída associada contém: logo Associar

o todos os registros primários cor- Primários e secundários cor-


respondentes e todos os registros secun- respondentes
dários correspondentes
o um registro para cada correspondência (todos os secundários cor-
entre a tabela primária e a secundária respondentes)

UNMATCHED

Opção correspondente na caixa de diá-


A tabela de saída associada contém: logo Associar

o registros primários não correspondentes Primários não correspondentes

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 329 de 966


Comandos

Nome Descrição

PRIMARY

Opção correspondente na caixa de diá-


A tabela de saída associada contém: logo Associar

o todos os registros primários (cor- Todos os primários e os secundários


respondentes e não correspondentes) e o correspondentes
primeiro registro secundário cor-
respondente

Nota
A palavra-chave BOTH é o mesmo que especificar PRIMARY.

SECONDARY

Opção correspondente na caixa de diá-


A tabela de saída associada contém: logo Associar

o todos os registros secundários (cor- Todos os secundários e os primários


respondentes e não correspondentes) e os correspondentes
registros primários correspondentes
Somente a primeira ocorrência de quais-
quer registros secundários duplicados é
associada a um registro primário.

PRIMARY SECONDARY

Opção correspondente na caixa de diá-


A tabela de saída associada contém: logo Associar

o todos os registros primários e secundários Todos os primários e secundários


(correspondentes e não correspondentes)
Somente a primeira ocorrência de quais-
quer registros secundários duplicados é
associada a um registro primário.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 330 de 966


Comandos

Nome Descrição

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes
em uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).
Nota
Para a maioria dos tipos de associação, uma condição IF se aplica
somente à tabela primária.
A única exceção é uma associação de muitos para muitos, na qual a
condição IF também pode fazer referência à tabela secundária.

TO nome_tabela A localização para onde enviar os resultados do comando:


o nome_tabela: salva os resultados em uma tabela do Analytics
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o pro-
jeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos,
sem contar a extensão .FIL. O nome pode incluir o caractere de subli-
nhado ( _ ) mas nenhum outro caractere especial e nenhum espaço.
O nome não pode começar com um número.

LOCAL Salva o arquivo de saída no mesmo local que o projeto do Analytics.


opcional Nota
Aplicável apenas na execução de um comando em uma tabela de ser-
vidor com um campo de saída que é uma tabela do Analytics.

OPEN Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o
comando criar uma tabela de saída.
opcional

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 331 de 966


Comandos

Nome Descrição

intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número
de registros especificado
opcional o NEXT: iniciar o processamento a partir do registro selecionado no momento até
alcançar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional Nota
Você deve garantir que a estrutura da saída do comando e o arquivo
existente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua
estrutura. Se a estrutura da saída e do arquivo existente não cor-
responderem, o resultado poderá ser dados misturados, ausentes ou
incorretos.

PRESORT Ordena a tabela primária pelo campo-chave antes de executar o comando.


opcional Nota
Você não pode usar PRESORT dentro do comando GROUP.

Indexação em vez de ordenação


A tabela primária pode ser indexada em vez de ordenada. Com tabelas grandes, o uso
da indexação em vez da ordenação pode reduzir o tempo necessário para associar as
tabelas.
Se você estiver associando duas tabelas usando um campo-chave comum indexado,
omita PRESORT e SECSORT.

SECSORT Ordena a tabela secundária pelo campo da chave secundária antes executar o
comando.
opcional
Nota
Não é possível usar SECSORT dentro do comando GROUP.

Indexação em vez de ordenação


A tabela secundária pode ser indexada em vez de ordenada. Com tabelas grandes, o
uso da indexação em vez da ordenação pode reduzir o tempo necessário para asso-
ciar as tabelas.
Se você estiver associando duas tabelas usando um campo-chave comum indexado,
omita PRESORT e SECSORT.

ISOLOCALE código_local Nota


opcional Aplicável apenas à edição Unicode do Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 332 de 966


Comandos

Nome Descrição

A localidade do sistema no formato idioma_ país. Por exemplo, para usar francês cana-
dense, insira fr_ca.
Use os códigos a seguir:
o idioma: código de idioma padrão ISO 639
o país: código de país padrão ISO 3166
Se você não especificar um código de país, será usado o país padrão do idioma.
Se você não usar ISOLOCALE, a localidade do sistema padrão será usada.

Exemplos
Associe duas tabelas como forma de descobrir empregados que também
podem ser fornecedores
O exemplo a seguir associa as tabelas MestreFunc e Fornecedor usando o endereço como campo-chave
comum (os campos Endereço e Rua_Fornecedor).
O comando JOIN cria uma nova tabela com registros primários e secundários correspondidos, o que
resulta em uma lista com todos os funcionários e fornecedores com o mesmo endereço.

OPEN MestreFunc PRIMARY


OPEN Fornecedor SECONDARY
JOIN PKEY Endereço FIELDS NumFunc Nome Sobrenome Endereço SKEY Rua_Fornecedor WITH
Num_Fornecedor Nome_Fornecedor Rua_Fornecedor TO "Funcionários_Fornecedores_Cor-
respondentes" OPEN PRESORT SECSORT

Esta versão do comando JOIN inclui todos os campos das tabelas primária e secundária na tabela de saída
associada.

OPEN MestreFunc PRIMARY


OPEN Fornecedor SECONDARY
JOIN PKEY Endereço FIELDS ALL SKEY Rua_Fornecedor WITH ALL TO "Funcionários_For-
necedores_Correspondentes" OPEN PRESORT SECSORT

Associar duas tabelas como forma de descobrir registros de contas a rece-


ber sem cliente correspondente
O exemplo a seguir associa as tabelas Ar e Cliente usando o Número do cliente (Númclien) como o campo-
chave comum.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 333 de 966


Comandos

O comando JOIN usa o tipo de associação UNMATCHED para criar uma nova tabela com registros pri-
mários não correspondentes, o que resulta em uma lista de registros de Ar que não são associados a qual-
quer registro de Cliente.

OPEN Ar PRIMARY
OPEN Cliente SECONDARY
JOIN PKEY Númclien FIELDS Númclien Vencimento Valor SKEY Númclien UNMATCHED TO "Cli-
enteNãoEncontrado.fil" OPEN PRESORT SECSORT

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda
do Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 334 de 966


Comandos

Comando LIST
Exibe os dados de um ou mais campos de uma tabela do Analytics formatados em colunas.

Sintaxe
LIST {FIELDS nome_campo <AS nome_exibicao> <...n>|FIELDS ALL} <LINE número lista_de_cam-
pos> <TO {SCREEN|nome_arquivo|PRINT}> <UNFORMATTED> <IF teste> <WHILE teste>
<FIRST intervalo|NEXT intervalo> <HEADER texto_cabeçalho> <FOOTER texto_rodapé> <SKIP
linhas> <EOF> <APPEND>

Parâmetros
Nome Descrição

FIELDS nome_campo Os campos a serem incluídos na saída:


<...n> | FIELDS ALL o FIELDS nomes_campos: usar os campos especificados
o FIELDS ALL: usar todos os campos da tabela

AS nome_exibicao Usado apenas na listagem usando FIELDS nome_campo.


opcional O nome de exibição (título alternativo da coluna) para o campo na saída. Se você quiser
que o nome de exibição seja o mesmo que o nome do campo ou um nome de exibição
já existente na tabela de origem, não use AS.
Especifique nome_exibicao como uma cadeia entre aspas. Utilize um ponto e vírgula (;)
entre palavras se quiser uma quebra de linha no título da coluna.

LINE número lista_de_ Mais de uma linha é usada na saída para cada registo:
campos o número: o número da linha, deve estar entre 2 e 60 inclusive
opcional o lista_de_campos: os campos serão incluídos nessa linha

TO SCREEN | nome_ A localização para onde enviar os resultados do comando:


arquivo | PRINT o SCREEN: exibe os resultados na área de exibição do Analytics
opcional o nome_arquivo: salva os resultados em um arquivo
Especifique nome_arquivo como uma cadeia entre aspas com uma extensão de
arquivo apropriada. Por exemplo: TO "Saída.TXT"
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma pasta
diferente já existente:
l TO "C:\Saída.TXT"
l TO "Resultados\Saída.TXT"
o PRINT: envia os resultados para a impressora padrão

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 335 de 966


Comandos

Nome Descrição

UNFORMATTED A saída é exibida como texto não formatado. A saída é idêntica àquela criada pelo
comando EXPORT ASCII. A saída de dados não formatados pode ser feita em formato
opcional
de um arquivo, que posteriormente pode ser processado por outros programas.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes em
uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número de
opcional registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até alcan-
çar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

HEADER texto_cabeçalho O texto a ser inserido na parte superior de cada página de um relatório.
opcional texto_cabeçalho deve ser especificado como uma cadeia entre aspas. O valor substitui a
variável de sistema HEADER do Analytics.

FOOTER texto_rodapé O texto a ser inserido na parte inferior de cada página de um relatório.
opcional texto_rodapé deve ser especificado como uma cadeia entre aspas. O valor substitui a
variável de sistema FOOTER do Analytics.

SKIP linhas Insere o número especificado de linhas em branco entre cada registo da lista. Por exem-
plo, LIST ALL SKIP 1 produz uma lista com duplo espaço (uma linha em branco entre
opcional
cada registro).

EOF Execute o comando uma ou mais vezes após alcançar o fim do arquivo.
opcional Isso garante que o registro final na tabela seja processado dentro de um comando
GROUP. Use EOF somente se todos os campos forem campos calculados referentes a
registros anteriores.

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 336 de 966


Comandos

Exemplos
Listagem de exceções e como salvá-las em um arquivo de texto
Use LIST para criar um relatório listando exceções identificadas em uma tabela de estoque. O relatório é
salvo como um arquivo de texto:

LIST Número_de_produto Descrição Quantidade Custo_unitário Valor IF Quantidade < 0 OR Custo_


unitário < 0 HEADER "Valores negativos" TO "Exceções.txt"

Observações
Quando usar LIST
Use o comando LIST para imprimir dados, exibir dados na tela e exportá-los para um arquivo de texto.

Formatação e totais
A menos que você especifique UNFORMATTED, as seguintes informações são incluídas auto-
maticamente:
l números de página
l data
l hora
l identificação do usuário
l cabeçalhos de colunas
As colunas numéricas também são totalizadas automaticamente.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 337 de 966


Comandos

Comando LOCATE
Pesquisa pelo primeiro registro que corresponde ao valor ou condição especificado ou move para o
número de registro especificado.

Sintaxe
LOCATE {IF teste <WHILE teste> <FIRST intervalo|NEXT intervalo>|RECORD num}

Parâmetros
Nome Descrição

IF teste O valor ou condição a ser pesquisado. Os valores literais de caracteres devem estar
entre aspas, e os valores de datahora entre acentos graves.

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número
opcional de registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até
alcançar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

RECORD num O número de registro a localizar.

Exemplos
Localizar o primeiro registro que corresponde a um valor especificado
Os exemplos a seguir mostram o uso de LOCATE para encontrar a primeira ocorrência de um valor espe-
cífico em uma tabela:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 338 de 966


Comandos

LOCATE IF Nome_Fornecedor = "Equipamentos United"

LOCATE IF Nome_Fornecedor = "Uni"

LOCATE IF Valor_Fatura > 1000

LOCATE IF Data_Fatura = `20141231`

Localizar o primeiro registro que corresponde a uma condição ou expressão


especificada
Os exemplos a seguir ilustram o uso do LOCATE para encontrar a primeira ocorrência de uma condição ou
expressão específica em uma tabela:

LOCATE IF Nome_Fornecedor = "Equipamentos United" AND Valor_Fatura > 1000 AND Data_
Fatura > `20140930`

LOCATE IF Cidade_Fornecedor = v_cidade

Localizar um registro pelo número do registro


O exemplo a seguir ilustra o uso do LOCATE para avançar para um registro específico em uma tabela:

LOCATE RECORD 50

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Como funciona?
Use o comando LOCATE para avançar diretamente para o primeiro registro em uma tabela que cor-
responde ao valor ou condição especificado.
Se o valor ou expressão pesquisado for encontrado, o primeiro registro correspondente da tabela é sele-
cionado. Se o valor ou condição especificado não for encontrado, a tabela é posicionada no seu primeiro
registro.
Você também pode usar LOCATE para avançar diretamente para um número de registro especificado

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 339 de 966


Comandos

LOCATE comparado a FIND e SEEK


Diferentemente dos comandos FIND e SEEK, o comando LOCATE não é restrito a pesquisas em tabelas
indexadas ou a um único campo de caracteres. Com o LOCATE, é possível pesquisar por qualquer tipo
de literal ou por uma expressão com qualquer tipo de dados ou uma mistura de tipos de dados.
Quando usado para pesquisar uma tabela não indexada, o comando LOCATE pode ser sig-
nificativamente mais lento que FIND ou SEEK porque precisa processar sequencialmente cada registro
na tabela. O tempo de processamento necessário depende do tamanho da tabela, da localização do regis-
tro correspondente e de o escopo da pesquisa ser reduzido usando WHILE, FIRST ou NEXT.

Correspondência parcial suportada


A correspondência parcial é suportada para pesquisas de caracteres. O valor pesquisado pode estar con-
tido em um valor mais longo no campo ou campos pesquisados. Porém, os valores pesquisados devem
aparecer no início dos campos para constituírem correspondência.

Ativação ou desativação de correspondência parcial


Você pode ativar ou desativar a correspondência parcial usando o comando SET ou uma configuração
na caixa de diálogo Opções :

Ativar correspondência parcial Desativar correspondência parcial

Especifique: SET EXACT OFF Especifique: SET EXACT ON


ou ou
Desmarque: Comparações exatas de caractere na caixa Marque: Comparações exatas de caractere na caixa de
de diálogo Opções (Ferramentas > Opções > Tabela) diálogo Opções (Ferramentas > Opções > Tabela)
Resultado: o valor pesquisado pode estar contido em Resultado: o valor pesquisado deve corresponder exa-
um valor mais longo no campo ou campos pesquisados. tamente a um valor em um campo para constituir uma cor-
O valor pesquisado deve aparecer no início de um respondência.
campo para constituir uma correspondência.

Para obter mais informações sobre SET EXACT, consulte "Comando SET" Na página 424.
Para obter mais informações a opção Comparações exatas de caractere, consulte Guia Tabela (caixa
de diálogo Opções).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 340 de 966


Comandos

Comando LOOP
Executa repetidamente uma série de comandos do ACLScript em um registro enquanto uma condição
especificada é avaliada como verdadeira.
Nota
O comando LOOP deve estar incluído dentro do comando GROUP.

Sintaxe
LOOP WHILE teste
comando
<...n>
END

Parâmetros
Nome Descrição

WHILE teste O teste que deve ser avaliado como verdadeiro para que os comandos dentro do
comando LOOP sejam executados. Se o teste for avaliado como verdadeiro, os coman-
dos serão executados repetidamente até que o teste seja avaliado como falso.

comando <...n> Um ou mais comandos para execução.


Você pode inserir vários comandos dentro do comando LOOP. Cada comando deve ini-
ciar em uma nova linha.

END O final do comando LOOP.

Exemplos
Divisão de um campo delimitado por vírgula
Você tem uma tabela com dados de fatura e precisa isolar informações específicas para valores de fatura
por departamento. Uma fatura pode ser relacionada a mais de um departamento, e os códigos de depar-
tamento são armazenados em formato delimitado por vírgulas na tabela.
Para extrair os valores de fatura por departamento, você:
1. Usa um comando GROUP para processar a tabela registro a registro.
2. Calcula o número de departamentos (n) associados a cada registro.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 341 de 966


Comandos

3. Usa o comando LOOP para iterar o registro n vezes para extrair dados de cada departamento asso-
ciado ao registro.

COMMENT Use GROUP para contar as vírgulas em cada campo de código de departamento como
forma de identificar quantos departamentos estão associados a ao registro Execute um "LOOP" em
cada registro para cada código do campo, extraindo cada código em seu próprio registro END
GROUP v_quantidade_departamentos = OCCURS(Código_Departamento;',') v_contador = 0 LOOP
WHILE v_contador <= v_quantidade_departamentos v_dept = SPLIT(Código_Departamento; ','; (v_
contador + 1)) EXTRACT FIELDS Número_Fatura; Valor_Fatura; v_dept AS "Departamento" TO
resultado1 v_contador = v_contador + 1 END END

Observações
Dica
Para ver um tutorial detalhado cobrindo os comandos LOOP e GROUP, consulte "Agru-
pamento e loops" Na página 33.

Quando usar LOOP


Os loops são utilizados com frequência quando um registro contém segmentos de dados repetidos que
você quer processar.

Como funciona?
Cada comando LOOP deve especificar uma condição WHILE para a ser testada e ser fechado com uma
instrução END. Os comandos entre LOOP e END serão executados repetidamente para o registro atual
enquanto o teste especificado for verdadeiro.
Se inicialmente o resultado do teste for falso, os comandos não serão executados.

Como evitar loops infinitos


Para evitar a criação de um "loop infinito", certifique-se de que o teste especificado eventualmente retor-
nará falso. Você também pode usar o comando SET LOOP para evitar um loop infinito.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 342 de 966


Comandos

Comando MERGE
Combina registros de duas tabelas ordenadas do Analytics com estrutura idêntica em uma nova tabela do
Analytics que usa a mesma ordem de classificação das tabelas originais.

Sintaxe
MERGE {ON campos_chave|PKEY campos_chave_primários SKEY secondary_key_fields} <IF
teste> TO nome_tabela <LOCAL> <OPEN> <WHILE teste> <FIRST intervalo|NEXT intervalo>
<APPEND> <PRESORT> <ISOLOCALE código_local>

Parâmetros
Nome Descrição

ON campos_chave | PKEY Nota


campos_chave_primários
Somente campos de caracteres ou campos calculados de caracteres
SKEY campos_chave_
podem usados como campos-chave no MERGE.
secundários
o ON campos_chave: um ou mais campos-chave que serão base da mescla se as tabe-
las primária e secundária tiverem o mesmo nome
Se os campos correspondentes tiverem nomes diferentes ou se forem expressões em
vez de campos físicos reais, você deverá usar PKEY e SKEY.
o PKEY campos_chave_primária: Um ou mais campos-chave ou uma expressão na
tabela primária
o SKEY campos_chave_primária: Um ou mais campos-chave ou uma expressão na
tabela secundária

Requisito de organização
Os campos-chave nas tabelas primária e secundária devem ser organizados em ordem
ascendente. Se um ou ambos os campos-chave não estiverem ordenados, ou estiverem
ordenados em ordem decrescente, o comando MERGE falhará.
É possível usar PRESORT para ordenar o campo-chave primário. Se o campo secun-
dário não estiver organizado, você deve primeiramente organizá-lo em uma operação
de organização separada antes de realizar a fusão.

Indexação em vez de ordenação


As tabelas primárias e secundárias podem ser indexadas em vez de ordenadas. Com
tabelas grandes, o uso da indexação em vez da ordenação pode reduzir o tempo neces-
sário para mesclar as tabelas.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 343 de 966


Comandos

Nome Descrição

Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes em
uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

TO nome_tabela A localização para onde enviar os resultados do comando:


o nome_tabela: salva os resultados em uma tabela do Analytics
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o projeto
do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos, sem
contar a extensão .FIL. O nome pode incluir o caractere de sublinhado
( _ ) mas nenhum outro caractere especial e nenhum espaço. O nome
não pode começar com um número.

LOCAL Salva o arquivo de saída no mesmo local que o projeto do Analytics.


opcional Nota
Aplicável apenas na execução de um comando em uma tabela de ser-
vidor com um campo de saída que é uma tabela do Analytics.

OPEN Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o
comando criar uma tabela de saída.
opcional

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número de
opcional registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até alcan-
çar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 344 de 966


Comandos

Nome Descrição

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional Nota
Você deve garantir que a estrutura da saída do comando e o arquivo exis-
tente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua estru-
tura. Se a estrutura da saída e do arquivo existente não corresponderem,
o resultado poderá ser dados misturados, ausentes ou incorretos.

PRESORT Ordena a tabela primária pelo campo-chave antes de executar o comando.


opcional Nota
Você não pode usar PRESORT dentro do comando GROUP.
Omita PRESORT:
o Se o campo-chave primário já estiver ordenado
o Se você estiver mesclando duas tabelas usando um campo-chave comum indexado

ISOLOCALE código_local Nota


opcional Aplicável apenas à edição Unicode do Analytics.
A localidade do sistema no formato idioma_ país. Por exemplo, para usar francês cana-
dense, insira fr_ca.
Use os códigos a seguir:
o idioma: código de idioma padrão ISO 639
o país: código de país padrão ISO 3166
Se você não especificar um código de país, será usado o país padrão do idioma.
Se você não usar ISOLOCALE, a localidade do sistema padrão será usada.

Exemplos
Mesclar tabelas com nomes de campos chave idênticos
O exemplo a seguir mescla duas tabelas com nomes de campos-chave idênticos:

OPEN Funcionários_Localização_1 PRIMARY


OPEN Funcionários_Localização_2 SECONDARY
MERGE ON Sobrenome TO "TodosFuncionários" PRESORT

Mesclar tabelas com nomes de campos-chave diferentes

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 345 de 966


Comandos

O exemplo a seguir mescla duas tabelas com nomes de campos-chave diferentes:

OPEN Funcionários_Localização_1 PRIMARY


OPEN Funcionários_Localização_2 SECONDARY
MERGE PKEY Sobrenome SKEY SNome TO "TodosFuncionários" PRESORT

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda
do Analytics.

Alternativas à mesclagem
Pode ser complicado realizar a mesclagem corretamente. Você pode conseguir o mesmo resultado ane-
xando, ou extraindo e anexando, e, em seguida, ordenando.
Para obter mais informações, consulte "Comando APPEND" Na página 73 e "Comando EXTRACT" Na
página 203.
Se as duas tabelas de origem já estiverem ordenadas, a mesclagem será mais eficiente e poderá ser exe-
cutada com mais rapidez.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 346 de 966


Comandos

Comando NOTES
Cria, modifica ou remove uma nota associada a um registro individual em uma tabela do Analytics.

Sintaxe
NOTES <IF teste> <TEXT texto_da_nota> <APPEND> <CLEAR>

Parâmetros
Nome Descrição

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes em
uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).
o Se você não especificar um teste IF, o texto da nota será adicionado a todos os regis-
tros na tabela
o Se você especificar um teste IF e CLEAR, as notas dos registros que corresponderem
à condição serão excluídas

TEXT texto_da_nota O texto a adicionar como nota. texto_da_nota deve ser uma cadeia entre aspas ou uma
expressão de caracteres.
opcional

APPEND A texto da nota é adicionado ao final de todas as notas existentes. Se omitido, todas as
notas atuais serão substituídas.
opcional

LIMPAR As notas são excluídas. Mesmo se todas as notas de registro em uma tabela forem exclu-
ídas, o campo NotaDoRegistro gerado automaticamente não será excluído do layout da
opcional
tabela.

Exemplos
Adição da mesma nota a vários registros
Todas as notas atuais dos registros especificados são sobrescritas:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 347 de 966


Comandos

NOTES IF MATCH(RECNO();1;3;5;7) TEXT "texto da nota"

Adição ou anexação da mesma nota a vários registros


O novo texto da nota é anexado a todas as notas existentes dos registros especificados:

NOTES IF MATCH(RECNO();1;3;5;7) TEXT "texto da nota" APPEND

Exclusão de notas de vários registros


Todas as notas de registro na tabela são excluídas:

NOTES CLEAR

As notas dos registros especificados são excluídas:

NOTES IF MATCH(RECNO();1;3;5;7) CLEAR

As notas dos registros 1 a 100 são excluídas:

NOTES IF RECNO() <= 100 CLEAR

Observações
Exclusão do campo NotaDoRegistro
Para excluir o campo NotaDoRegistro do layout da tabela, e todas as notas na tabela, use o comando
DELETE NOTES sem nenhuma opção especificada.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 348 de 966


Comandos

Comando NOTIFY
Envia uma mensagem de notificação por e-mail.

Sintaxe
NOTIFY USER nome_do_usuário <PASSWORD senha> MAILBOX nome_do_caminho
ADDRESS destinatário <CC destinatário_cc> <BCC destinatário_cco> <SUBJECT assunto>
MESSAGE mensagem <ATTACHMENT nome_do_caminho>

Parâmetros
Nome Descrição

USER nome_do_usuário O endereço de e-mail do remetente.

PASSWORD senha A senha do servidor de e-mail.


opcional

MAILBOX nome_do_cami- O nome do servidor SMTP a ser usado para enviar a mensagem de e-mail. Por exemplo:
nho
MAILBOX "mailserver.acl.com"

ADDRESS destinatário O endereço de e-mail de um ou mais destinatários. Separe vários endereços de e-mail
com vírgula.
Insira no máximo 1.020 caracteres.

CC destinatário_cc O endereço de e-mail de um ou mais destinatários de cópia. Separe vários endereços


de e-mail com vírgula.
opcional
Insira no máximo 1.000 caracteres.

BCC recipientes_cco O endereço de e-mail de um ou mais destinatários de cópia oculta. Separe vários ende-
reços de e-mail com vírgula.
opcional

SUBJECT assunto A linha de assunto da mensagem de e-mail.


opcional

MESSAGE mensagem O texto do corpo da mensagem de e-mail. A mensagem usa texto simples e não permite
HTML.
Se você quiser inserir uma quebra de linha na mensagem, use dois caracteres de cir-
cunflexo: ^^.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 349 de 966


Comandos

Nome Descrição

ATTACHMENT nome_do_ O caminho e o nome do arquivo de um ou mais anexos. Deve ser uma cadeia entre
caminho aspas.
opcional Especifique vários anexos, inserindo uma lista separada por vírgula de arquivos para
nome_do_caminho:

ATTACHMENT "resultado1,resultado2"

Exemplos
Envio de um e-mail de relato de erro
Você está executando um script e deseja enviar um e-mail de notificação em caso de falha do script. Use
NOTIFY para definir a mensagem de e-mail e incluir dois anexos:
l o arquivo de log
l um arquivo .fil contendo os erros registrados

NOTIFY USER "support@company.com" MAILBOX "mail.company.com" ADDRESS "script_


admin@acl.com" SUBJECT "Relatório de erros" MESSAGE "Falha ao processar script. Detalhes em
anexo." ATTACHMENT "Erros.fil,ACL_Demo.log"

Observações
Destinatários e anexos
O comando NOTIFY pode ser utilizado para enviar mensagens de notificação por meio de e-mail para um
ou mais destinatários. As mensagens podem incluir arquivos de dados anexados e projetos do Analytics.
O comando NOTIFY pode ser usado para notificar os funcionários apropriados quando um script falhar
inesperadamente.

Protocolos e portas
O comando pode ser utilizado com qualquer servidor de e-mail que ofereça suporte a SMTP (Simple Mail
Transfer Protocol), utilizado pelo Microsoft Exchange e diversos outros servidores de e-mail. O comando
NOTIFY pode também ser usado com aplicativos mais antigos de e-mail, da Microsoft e de outros, que
enviam e-mail localmente.
O NOTIFY usa a porta 25. Portanto, essa porta deve estar aberta, caso contrário, o comando falhará.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 350 de 966


Comandos

Tratamento de erros
Caso o Analytics não consiga se conectar ao servidor de e-mail, ele realiza mais cinco tentativas de cone-
xão, com uma pausa de 10 segundos entre cada tentativa. Caso todas as tentativas resultem em falha, o
comando NOTIFY é cancelado com o registro de uma mensagem no log mas o script continua em pro-
cessamento.
O comando SET pode ser usado para alterar esse comportamento. Um outro número de tentativas de
conexão e de tempo entre conexões pode ser especificado, ou as tentativas adicionais de conexão podem
ser desabilitadas. Também é possível instruir que o Analytics interrompa o processamento de um script
caso um comando NOTIFY seja cancelado. Para obter mais informações, consulte "Comando SET" Na
página 424.
Um destinatário inválido de e-mail não constitui uma falha no comando NOTIFY e não causa a interrupção
do script independentemente da configuração associada.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 351 de 966


Comandos

Comando OPEN
Abre uma tabela do Analytics e o arquivo de dados associado.

Sintaxe
OPEN {nome_tabela|arquivo_de_dados <FORMAT nome_do_layout>} <BUFFERLENGTH com-
primento> <CRLF> <DBASE> <INDEX arquivo_índice> <PRIMARY|SECONDARY> <SKIP
bytes> <RELATION campo_chave>

Parâmetros
Nome Descrição

nome_tabela O nome da tabela do Analytics a ser aberta.

arquivo_de_dados O arquivo de dados a ser associado à tabela especificada por FORMAT nome_do_
layout.
O Analytics assume uma extensão de arquivo .fil se nenhuma extensão for espe-
cificada. Para abrir um arquivo sem extensão, insira um ponto (.) no final do nome do
arquivo.

FORMAT nome_do_layout O layout da tabela do Analytics será aplicado ao arquivo de dados aberto como tabela.
opcional

BUFFERLENGTH n O comprimento em bytes da área de entrada do buffer a ser alocada à tabela. O valor
padrão é 33.000 bytes.
opcional
Áreas maiores do buffer podem melhorar a velocidade de processamento à custa de
RAM disponível para armazenamento dos comandos do Analytics.
Se nenhum bloco de comprimento variável da IBM que excede o comprimento do buf-
fer for lido, o Analytics exibirá uma mensagem de erro e para o processamento. O valor
padrão é definido no campo Tamanho de buffer na guia Tabela na caixa de diálogo
Opções.
Raramente será necessário alterar BUFFERLENGTH N, pois o padrão é suficiente para
tratar quase todas as situações.

CRLF Especifica que um arquivo ASCII do comprimento variável será lido. O Analytics ajusta
automaticamente os comprimentos de registro variáveis.
opcional
Por padrão, os arquivos são considerados arquivos de comprimento fixo.

DBASE Especifica que a origem de dados é um arquivo dBASE. O Analytics reconhece o tipo
de arquivo do dBASE e automaticamente cria uma tabela a partir da descrição do
opcional

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 352 de 966


Comandos

Nome Descrição

arquivo. Esse parâmetro pode ser omitido para arquivos do dBASE com extensão .dbf.

INDEX arquivo_índice O arquivo de índice a ser aplicado à tabela quando ela fora aberta.
opcional A extensão de arquivo usada para o nome de arquivo de índice é .inx, quando
nenhuma extensão for especificada. Você pode especificar INDEX com tabelas pri-
márias ou secundárias.

PRIMARY | SECONDARY Especifica que uma tabela é aberta como tabela primária ou tabela secundária. Se omi-
tido, a tabela é aberta como uma tabela primária.
opcional

SKIP bytes O número de bytes a serem ignorados no início físico da tabela.


opcional SKIP pode ser usado para ignorar os registros do cabeçalho da tabela ou as partes ini-
ciais da tabela que não seguem o layout do restante da tabela. Se omitido, a tabela
será lida começando no primeiro byte.
Nota

Analytics não Unicode 1 byte = 1 caractere

Analytics Unicode, dados em ASCII estendido 1 byte = 1 caractere


(ANSI)

Analytics Unicode, dados Unicode 2 bytes = 1 caractere

Para dados Unicode, especifique apenas um número de bytes par. A


especificação de um número ímpar de bytes pode causar exibição incor-
reta de caracteres.

RELATION campo_chave Especifica que a tabela deve ser aberta como uma tabela relacionada ad hoc. O Analy-
tics não mantém esta relação, quando a tabela estiver fechada.
opcional
Você também deverá especificar o parâmetro INDEX ao usar RELATION. campo_
chave é o campo-chave ou expressão usado para criar a relação entre duas tabelas.

Exemplos
Abertura de uma tabela durante a especificação de um layout da tabela
Abra a tabela April_2012 usando o layout da tabela Março_2012:

OPEN Abril_2012 FORMAT Março_2012

Abertura de um arquivo dBASE


Abra um arquivo dBASE denominado Estoque.dbf para qual não há tabela existente:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 353 de 966


Comandos

OPEN Estoque

Abertura de uma tabela e aplicação de um índice já existente


Para abrir uma tabela primária ou secundária e aplicar um índice da tabela já existente, use a sintaxe
abaixo:

OPEN Contas_a_receber INDEX Número_do_cliente_CR

OPEN Cliente SECONDARY INDEX Número_do_cliente

Abertura de uma tabela e criação de uma relação ad hoc com outra tabela
Você precisa estabelecer um relacionamento temporário entre uma tabela aberta denominada Clientes
(a tabela primária) e uma tabela denominada Contas_a_receber (a tabela secundária).
Use um índice chamado Índice_cliente e um campo-chave na tabela primária denominado Sobrenome:

OPEN Contas_a_receber INDEX Índice_cliente RELATION Sobrenome

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 354 de 966


Comandos

Comando OUTLIERS
Identifica valores discrepantes estatísticos em um campo numérico. Os valores discrepantes podem ser
identificados para o campo como um todo ou para grupos separados baseados em valores idênticos de um
ou mais campos-chave de caracteres, numéricos ou datahora.

Sintaxe
OUTLIERS {AVERAGE|MEDIAN} {PKEY campo_chave <...n>|NOKEY} ON campo_numérico
<OTHER campo <...n>> NUMSTDEV número_desvios_padrão <IF teste> <TO {SCREEN|nome_
tabela}> <PRESORT> <WHILE teste> <FIRST intervalo|NEXT intervalo> <OPEN>

Nota
Não é possível executar o comando OUTLIERS localmente em uma tabela de servidor.
Você deve especificar o nome do comando OUTLIERS com todas as letras. Esse
comando não deve ser abreviado.

Parâmetros
Nome Descrição

AVERAGE | MEDIAN O método para calcular o ponto central dos valores em campo_numérico (o campo de
valor discrepante).
o AVERAGE: calcule a média dos valores
o MEDIAN: calcule a mediana dos valores
O ponto central é calculado para:
o o campo numérico como um todo, ou
o os valores numéricos para cada grupo de campos-chave
O ponto central é usado subsequentemente para calcular o desvio padrão do campo
numérico ou de cada grupo.
Nota
Se você especificar MEDIAN, campo_numérico deve estar ordenado.
Use PRESORT se campo_numérico ainda não estiver ordenado.
Dica
Se os dados onde você está procurando valores discrepantes estiverem
consideravelmente distorcidos, MEDIAN poderá gerar resultados mais
representativos da maior parte dos dados.

PKEY campo_chave <...n> Se você especificar PKEY, os valores discrepantes serão identificados por grupo. Se
| NOKEY você especificar NOKEY, os valores discrepantes serão identificados por campo.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 355 de 966


Comandos

Nome Descrição

o PKEY campo-chave: o campo ou os campos a usar para agrupar os dados na tabela


Os campos-chave podem ser de caracteres, numéricos ou datahora. Se houver mais
de um campo, eles devem ser separados por espaços e podem ser de tipos de dados
diferentes.
Se você especificar mais de um campo, criará grupos aninhados. O aninhamento
seguirá a ordem em que os campos são especificados.
Para cada grupo de campos-chave, é calculado o desvio padrão dos valores numé-
ricos do grupo em campo_numérico. O desvio padrão do grupo é usado como base
para identificar valores discrepantes do grupo.
Nota
O campo-chave ou os campos-chave devem ser ordenados. Use
PRESORT se um ou mais campos ainda não estiverem ordenados.
o NOKEY: não agrupe os dados na tabela
Será calculado um desvio padrão de campo_numérico como um todo. O desvio
padrão do campo é usado como base para identificar valores discrepantes do campo.

ON campo_numérico O campo numérico onde serão procurados valores discrepantes. Você pode examinar
apenas um campo por vez.
Os valores discrepantes são os que ficam fora dos limites superiores e inferiores esta-
belecidos pelo desvio padrão do campo ou do grupo, ou por um múltiplo de desvio
padrão especificado.

OTHER campo <...n> Um ou mais campos adicionais a serem incluídos na saída.


opcional Nota
Os campos-chave e o campo de valor discrepante são incluídos auto-
maticamente na tabela de saída e não precisam ser especificados
usando OTHER.

NUMSTDEV número_des- Em campo_numérico, o número de desvios padrão da média ou da mediana para os limi-
vios_padrão tes superior e inferior de valores discrepantes. Você pode especificar qualquer número
inteiro ou decimal (0,5, 1, 1,5, 2... )
A fórmula para criar limites de valores discrepantes é:
média/mediana ± (número_desvios_padrão * desvio padrão)
Nota
O desvio padrão é uma medida da dispersão de um conjunto de dados.
Ou seja, o quanto os valores estão dispersos. O cálculo de valores dis-
crepantes usa desvio padrão da população.

Exemplo de limites de valores discrepantes

NUMSTDEV 2

estabelece, para campo_numérico como um todo, ou para cada grupo de campos-


chave:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 356 de 966


Comandos

Nome Descrição

l um limite superior de valor discrepante de dois desvios padrão acima da média


ou mediana
média/mediana + (2 * DP)
l um limite inferior de valor discrepante de dois desvios padrão abaixo da média
ou mediana
média/mediana – (2 * DP)
Qualquer valor acima do limite superior ou abaixo do limite inferior será incluído como
valor discrepante nos resultados de saída.
Nota
Para o mesmo conjunto de dados, à medida que o valor de número_des-
vios_padrão é aumentado, diminui potencialmente o número de valores
discrepantes retornados.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes em
uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

TO SCREEN | nome_ A localização para onde enviar os resultados do comando:


tabela o SCREEN: exibe os resultados na área de exibição do Analytics
opcional o nome_tabela: salva os resultados em uma tabela do Analytics
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o projeto
do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos, sem
contar a extensão .FIL. O nome pode incluir o caractere de sublinhado
( _ ) mas nenhum outro caractere especial e nenhum espaço. O nome
não pode começar com um número.

PRESORT Executa uma operação de classificação antes de executar o comando.


opcional
Se você especificar PRESORT e: Ordena por:

PKEY, AVERAGE o campo-chave ou campos-chave


o campo-chave ou campos-chave, e por
campo_numérico (se campo_numé-

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 357 de 966


Comandos

Nome Descrição

Se você especificar PRESORT e: Ordena por:

rico é calculado)
Nota
A classificação de um campo_
numérico calculado é um
requisito técnico interno do
Analytics.

PKEY, MEDIAN campo-chave ou campos-chave, e por campo

NOKEY, AVERAGE sem classificação

NOKEY, MEDIAN campo_numérico

Dica
Se o campo ou os campos da tabela de entrada já estiverem ordenados,
você poderá economizar tempo de processamento não especificando o
parâmetro PRESORT.
Nota
Você não pode usar PRESORT dentro do comando GROUP.

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número de
opcional registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até alcan-
çar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

OPEN Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o
comando criar uma tabela de saída.
opcional

Exemplos
Identificação de valores de transação anormais

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 358 de 966


Comandos

Você quer identificar valores de transação anormais em toda a tabela Ar no projeto Sample Pro-
ject.acl.
Você decide definir os limites de valores discrepantes como 3 vezes o desvio padrão do campo Valor. O
teste retorna 16 valores discrepantes na tabela de 772 registros.

OPEN Ar
OUTLIERS AVERAGE NOKEY ON Valor NUMSTDEV 3 PRESORT TO "Valores_discrepantes_AR.-
fil" OPEN

Você repete o teste, mas aumenta o múltiplo de desvio padrão para 3,5. Agora, o teste retorna apenas 6
valores discrepantes porque os limites dos valores discrepantes estão mais afastados do ponto central dos
valores no campo Valor.

OPEN Ar
OUTLIERS AVERAGE NOKEY ON Valor NUMSTDEV 3,5 PRESORT TO "Valores_discrepantes_
AR.fil" OPEN

Identificação de valores de transação anormais para cada cliente


Para cada cliente na tabela Ar no projeto Sample Project.acl, você quer identificar valores de tran-
sação anormais.
Você decide definir os limites de valores discrepantes como 3 vezes o desvio padrão do grupo de tran-
sações de cada cliente.

OPEN Ar
OUTLIERS AVERAGE PKEY Número ON Valor NUMSTDEV 3 PRESORT TO "Valores_dis-
crepantes_Cliente_AR.fil" OPEN

O teste retorna 7 valores discrepantes. O desvio padrão e a média de cada grupo de transações de cliente
são relatados:

Número do cliente
(Número) Valor da transação STDEV AVERAGE Número do grupo

1 065003 4.954,64 1015,58 833,83 1

2 262001 3.567,34 772,44 438,81 2

3 262001 (2.044,82) 772,44 438,81 2

4 376005 (931,55) 411,18 484,57 3

5 501657 5.549,19 1332,80 441,14 4

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 359 de 966


Comandos

Número do cliente
(Número) Valor da transação STDEV AVERAGE Número do grupo

6 811002 3.409,82 634,20 672,10 5

7 925007 3.393,87 736,48 906,16 6

Como os valores discrepantes são identificados para o cliente 262001


O cliente 262001 tem 101 transações na tabela Ar, das quais duas são relatadas como valores dis-
crepantes porque excedem os limites de valores discrepantes desse cliente:

Valor discrepante Limite inferior Limite superior Valor discrepante

(2.044,82) (1.878,51) 2.756,13 3.567,34

Como os limites de valores discrepantes são calculados para o cliente


262001
Os limites de valores discrepantes são a média de todas as transações 262001 do cliente, mais ou menos
o múltiplo de desvio padrão das transações especificado:

Média de todas as transações do cliente 262001 438,81

O múltiplo de desvio padrão especificado 3

O desvio padrão das transações 772,44

438.81 ± (3 * 772.44)
= 438.81 ± 2,317.32
= (1.878,51) (limite inferior)
= 2.756,13 (limite superior)

Uso de MEDIAN para identificar valores de transação anormais para cada


cliente
Use MEDIAN em vez de AVERAGE para executar o mesmo teste de valor discrepante do exemplo
acima.

OPEN Ar
OUTLIERS MEDIAN PKEY Número ON Valor NUMSTDEV 3 PRESORT TO "Valores_dis-
crepantes_Cliente_AR_Median.fil" OPEN

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 360 de 966


Comandos

O teste retorna 10 valores discrepantes, em vez dos 7 retornados no teste anterior. Dependendo da natu-
reza dos dados MEDIAN e AVERAGE podem retornar resultados diferentes:

Número do cliente
(Número) Valor da transação STDEV MEDIAN Número do grupo

1 065003 4.954,64 1015,58 663,68 1

2 262001 (2.044,82) 772,44 450,67 2

3 262001 3.567,34 772,44 450,67 2

4 376005 (931,55) 411,18 517,16 3

5 501657 4.426,14 1332,80 146,80 4

6 501657 5.549,19 1332,80 146,80 4

7 811002 3.409,82 634,20 624,53 5

8 925007 2.972,78 736,48 717,88 6

9 925007 3.030,71 736,48 717,88 6

10 925007 3.393,87 736,48 717,88 6

Como os limites de valores discrepantes são calculados para cada cliente


Os limites de valores discrepantes são a mediana das transações de cada cliente, mais ou menos o múltiplo
de desvio padrão das transações especificado.
Por exemplo, para o cliente 262001: 450,67 ± (3 * 772,44)

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Adicionar campos de limite de valores discrepantes à


tabela de resultados
O Analytics adiciona automaticamente os campos calculados STDEV e AVERAGE ou MEDIAN à tabela
de resultados de valores discrepantes. Também pode ser útil adicionar à tabela de resultados dois campos
calculados que mostram os limites de valores discrepantes usados para identificar esses valores.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 361 de 966


Comandos

1. Abra a tabela de resultados de valores discrepantes.


2. Cole esta expressão na linha de comando do Analytics, edite-a conforme a necessidade e pres-
sione Enter:

DEFINE FIELD Limite_inferior COMPUTED AVERAGE - (número_desvios_padrão * STDEV)

lSubstitua número_desvios_padrão pelo múltiplo real de desvios padrão que você usou.
l Se você precisar da mediana como ponto central em vez da média, substitua AVERAGE para

MEDIAN.
3. Cole esta expressão na linha de comando do Analytics, edite-a conforme a necessidade e pres-
sione Enter:

DEFINE FIELD Limite_superior COMPUTED AVERAGE + (número_desvios_padrão *


STDEV)

l Substitua número_desvios_padrão pelo múltiplo real de desvios padrão que você usou.
l Se você precisar da mediana como ponto central em vez da média, substitua AVERAGE para

MEDIAN.
4. Clique com o botão direito do mouse na exibição e selecione Adicionar colunas .
5. Na lista Campos disponíveis clique duas vezes em Limite_inferior e em Limite_superior para adi-
cioná-los à lista Campos selecionados .
6. Clique em OK.
7. Opcional. Reposicione os campos adicionados arrastando os cabeçalhos das colunas.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 362 de 966


Comandos

Comando PASSWORD
Cria uma definição de senha, sem valor de senha, que solicita uma senha do usuário durante a execução
de um script.

Sintaxe
PASSWORD num < prompt>

Parâmetros
Nome Descrição

num Um valor entre 1 e 10 que identifica uma definição de senha de forma exclusiva.

prompt Uma expressão de caracteres válida a ser exibida na caixa de diálogo utilizada para soli-
citar a senha. Coloque as cadeias literais entre aspas.
opcional
Se prompt for omitido, será exibida uma caixa de diálogo padrão sem mensagem.

Exemplos
Solicitar informações de senha
Use PASSWORD para solicitar do usuário as três senhas necessárias em um script. Depois que o usuário
inserir as senhas necessárias, o script poderá completar o processamento restante sem interrupção:

PASSWORD 1 "Digite a senha do banco de dados Contas a receber"


PASSWORD 2 "Digite a senha do banco de dados Contas a pagar"
PASSWORD 3 "Digite a senha do banco de dados Clientes"

Especificar uma senha ao atualizar uma tabela do Analytics


Você combina o comando PASSWORD com o comando REFRESH para atualizar um arquivo de dados
protegido por senha:

PASSWORD 1 "Senha:"
REFRESH Abc PASSWORD 1

Especificação de uma senha para definir uma tabela do servidor

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 363 de 966


Comandos

Use o comando PASSWORD com o comando DEFINE TABLE DB para definir uma tabela do servidor
por meio do Conector do AX, que exige uma senha para o perfil de banco de dados e outra para o perfil
do servidor associado:

DEFINE TABLE DB SOURCE Inventário_PerfilDB PASSWORD 9 PASSWORD 3

Observações
Quando usar PASSWORD
Use o comando PASSWORD para solicitar que um usuário insira informações de senha antes que um
script acesse, importe ou atualize dados protegidos por senha.
Você pode criar até dez senhas diferentes em um script.
O comando PASSWORD é útil se:
l você quer evitar a digitação de uma senha real em um script; essa digitação é exigida pelo
comando SET PASSWORD
l usuários individuais precisam inserir senhas distintas

Como as senhas são armazenadas


As senhas inseridas pelo usuário são armazenadas de forma segura e temporária na memória.
Quando o usuário digitar uma senha na caixa de diálogo de solicitação, os caracteres serão mascarados
com asteriscos (*). A senha não aparece no script nem no log.

Armazenamento de senhas para análises baseadas no ser-


vidor
O comando PASSWORD não é permitido em análises executadas no Robôs, no Servidor AX ou em
scripts de servidor legados.
Você pode usar a tag PASSWORD para solicitar uma senha quando um usuário agenda uma análise no
Robôs ou no Servidor AX.
O comando SET PASSWORD pode ser usado para especificar senhas em scripts de servidor legados.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 364 de 966


Comandos

Comando PAUSE
Suspende um script e exibe informações em uma caixa de diálogo aos usuários.

Sintaxe
PAUSE mensagem <IF teste>

Parâmetros
Nome Descrição

mensagem Uma mensagem a ser exibida na caixa de diálogo. O comprimento máximo é 199 carac-
teres.
mensagem deve estar entre aspas. Se a mensagem tiver aspas, coloque-a entre após-
trofos.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes em
uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

Exemplos
Exibição de uma mensagem de erro
Você precisa de uma entrada de usuário para cumprir requisitos específicos. Quando você detectar que a
entrada não cumpre esses requisitos, use o comando PAUSE e exiba uma mensagem de erro em uma
caixa de diálogo:

PAUSE "A classe do produto deve ser um valor de 2 dígitos."

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 365 de 966


Comandos

Observações
Quando usar PAUSE
Use PAUSE para exibir mensagens somente para leitura durante a execução de um script. Você pode exi-
bir mensagens de erro ou informações, como os resultados de uma operação analítica.

Como funciona?
Durante a exibição da caixa de diálogo, a execução do script é interrompida e somente é retomada depois
que o usuário clicar em OK para fechar a caixa de diálogo da mensagem. Por esse motivo, não é possível
usar PAUSE em scripts ou análises que devem executar automaticamente.

Limitações
PAUSE tem as seguintes limitações:
l não pode ser incluído dentro do comando GROUP
l não pode ser usado em análises executadas no Robôs ou no Servidor AX

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 366 de 966


Comandos

Comando PREDICT
Aplica um modelo preditivo a um conjunto de dados sem rótulo para prever classes ou valores numéricos
associados a registros individuais.

Sintaxe
PREDICT MODEL nome_modelo TO nome_trabela <IF teste> <WHILE teste> <FIRST
intervalo|NEXT intervalo>

Parâmetros
Nome Descrição

MODEL nome_modelo O nome do arquivo de modelo a ser usado para prever classes ou valores. Você usa um
arquivo de modelo gerado previamente pelo comando TRAIN.
Você deve especificar a extensão de arquivo *.model. Por exemplo:

MODEL "Previsão_inadimplência_empréstimo.model"

Nota
O arquivo de modelo deve ter sido treinado em um conjunto de dados
com os mesmos arquivos que o conjunto de dados não rotulado, ou subs-
tancialmente os mesmos arquivos.

TO nome_tabela O nome da tabela do Analytics gerado pelo processo de previsão.


A tabela contém os campos-chave especificados durante o processo de treinamento e
um ou dois campos gerados pelo processo de previsão:
o Previsto: as classes ou valores numéricos previstos associados a cada registro em
um conjunto de dados não rotulado
o Probabilidade: (somente classificação) a probabilidade de que uma classe prevista é
precisa
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de arquivo
.FIL. Por exemplo: TO "Inadimplência_prevista_solicitantes_empréstimo.FIL"
Por padrão, o arquivo de dados da tabela (.FIL) é salvo na pasta que contém o projeto
do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em uma
pasta diferente já existente:
o TO "C:\Inadimplência_prevista_solicitantes_empréstimo.FIL"
o TO "Saída previsão ML\Inadimplência_prevista_solicitantes_empréstimo.FIL"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 367 de 966


Comandos

Nome Descrição

Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos, sem
contar a extensão .FIL. O nome pode incluir o caractere de sublinhado ( _
) mas nenhum outro caractere especial e nenhum espaço. O nome não
pode começar com um número.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes em
uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número de
opcional registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até alcan-
çar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

Exemplos
Use um modelo de classificação para fazer previsões
Você informa um modelo de classificação para o comando PREDICT para fazer previsões sobre quais
solicitantes de empréstimo atuais ficarão inadimplentes se receberem um empréstimo.
Previamente, você gerou o modelo de classificação usando o comando TRAIN com um conjunto de
dados de empréstimo históricos, incluindo informações sobre inadimplência de empréstimos.

OPEN "Solicitantes_empréstimos_atuais"
PREDICT MODEL "Previsão_inadimplência_empréstimo.model" TO "Inadimplência_prevista_soli-
citantes_empréstimo.FIL"

Use um modelo de regressão para fazer previsões

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 368 de 966


Comandos

Você informa um modelo de regressão para o comando PREDICT para fazer previsões sobre o preço
futuro de venda de residências.
Previamente, você gerou o modelo de regressão usando o comando TRAIN com um conjunto de dados de
vendas recentes de residências, incluindo o preço da venda.

OPEN "Avaliação_preços_residências"
PREDICT MODEL "Previsão_preços_residências.model" TO "Preços_residências_previstos.FIL"

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 369 de 966


Comandos

Comando PRINT
Imprime um arquivo de texto, um arquivo de log do Analytics ou um item de projeto do Analytics exportado
como um arquivo externo: um script (.aclscript), um layout da tabela (.layout) ou uma área de trabalho
(.wsp). Também é possível imprimir um gráfico gerado por um comando.

Sintaxe
PRINT {nome_arquivo|GRAPH}

Parâmetros
Nome Descrição

nome_arquivo | GRAPH O item a ser impresso:


o nome_arquivo: o caminho relativo ou absoluto e o nome do arquivo a ser impresso
Por exemplo, "C:\ACL Data\Arquivos de dados da amostra\ACL_Demo.log" ou
"Arquivos de dados da amostra\ACL_Demo.log".
Se o caminho ou o nome do arquivo contiver espaços, será preciso colocar nome_
arquivo entre aspas.
o GRAPH: o gráfico gerado anteriormente como resultado de um comando

Exemplos
Impressão de um arquivo de log
Para imprimir o arquivo de log do projeto ACL_Demo.acl, especifique o comando a seguir:

PRINT "C:\ACL Data\Arquivos de dados da amostra\ACL_Demo.log"

Impressão de um gráfico
Para imprimir um gráfico do comando BENFORD, especifique os comandos a seguir:

OPEN Metaphor_TransCp_2002
BENFORD ON Valor_Fatura LEADING 1 TO GRAPH
PRINT GRAPH

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 370 de 966


Comandos

Observações
Seleção de uma impressora
A impressora usada é a impressora padrão configurada no Microsoft Windows. Pra alterar a impressora é
necessário alterar a impressora padrão no Windows.

Comandos relacionados
Para imprimir o conteúdo de uma tabela do Analytics em um projeto, utilize o comando DO REPORT.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 371 de 966


Comandos

Comando PROFILE
Gera estatísticas resumidas para um ou mais campos numéricos ou expressões numéricas em uma
tabela do Analytics.

Sintaxe
PROFILE {<FIELDS> campo_numérico <...n>|<FIELDS> ALL} <IF teste> <WHILE teste> <FIRST
intervalo|NEXT intervalo>

Parâmetros
Nome Descrição

FIELDS campo_numérico Especifique campos individuais para a criação de perfis ou especifique ALL para criar
<...n> | FIELDS ALL perfis para todos os campos numéricos na tabela do Analytics.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes
em uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número
opcional de registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até
alcançar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 372 de 966


Comandos

Exemplos
Criação de perfil de um único campo
Crie o perfil do campo Salário:

OPEN FolhaPagamento_Funcionário
PROFILE FIELDS Salário

O comando gera a seguinte saída:

Nome do campo Valor Total Valor Absoluto Mínimo Máximo

SALÁRIO 1,152,525 1,152,525 15,340 52,750

Observações
Estatísticas exibidas na saída
As estatísticas a seguir são exibidas para cada campo numérico ou expressão numérica especificado para
o comando:
l valor total
l valor absoluto
l valor mínimo
l valor máximo

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 373 de 966


Comandos

Comando QUIT
Encerra a sessão atual e fecha o Analytics.

Sintaxe
QUIT

Exemplos
Verificar se o arquivo existe e fechar o Analytics se o arquivo não existir
Você criou um script para execução por outras pessoas. Se um arquivo necessário não existir, você quer
fechar o Analytics.
O exemplo a seguir verifica se o arquivo obrigatório Estoque.csv existe e fecha o Analytics se o
arquivo não existir:

IF FILESIZE("Estoque.csv") = -1 QUIT

Fechar automaticamente o Analytics após a conclusão de um script


O script abaixo sumariza a tabela Estoque, gera resultados na saída e fecha automaticamente o Analy-
tics:

OPEN Estoque
SUMMARIZE ON Local CLassProd SUBTOTAL Valor TO "Valor_estoque_por_local_classe.FIL"
PRESORT CPERCENT
QUIT

Observações
As alterações são salvas
Quando QUIT é executado, todas as tabelas do Analytics abertas são salvas e fechadas antes de sair.
Se você modificou uma exibição ativa, ou um script, e não salvou as alterações, o Analytics pergunta se
você deseja salvar antes de sair.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 374 de 966


Comandos

Comando RANDOM
Gera um conjunto de números aleatórios.

Sintaxe
RANDOM NUMBER n <SEED valor_de_origem> MINIMUM valor_mínimo MAXIMUM valor_máximo
<COLUMNS n> <UNIQUE> <SORTED> <TO {SCREEN|nome_arquivo}> <APPEND>

Parâmetros
Nome Descrição

NUMBER n O tamanho do conjunto de números aleatórios a serem gerados.


Um máximo de 32767 números pode ser gerado.

SEED valor_de_origem O valor usado para inicializar o gerador de números aleatórios.


opcional Se você especificar um valor de origem, ele poderá ser qualquer número. Cada valor
único de origem resulta em um conjunto diferente de números aleatórios. Se você espe-
cificar novamente o mesmo valor de origem, será gerado o mesmo conjunto de números
aleatórios. Se você precisar replicar a análise, poderá ser necessário regenerar o
mesmo conjunto de números aleatórios.
o Valor de origem: especifique especificamente um valor de origem e salve-o se quiser
replicar um determinado conjunto de números aleatórios.
o Sem valor de origem: insira um valor de origem "0" ou deixe-o em branco se quiser
que o Analytics selecione aleatoriamente um valor de origem.

MINIMUM valor_mínimo O menor número possível no conjunto de números aleatórios. Qualquer expressão ou
valor numérico válido é permitido.

MAXIMUM valor_máximo O maior número possível no conjunto de números aleatórios. Qualquer expressão ou
valor numérico válido é permitido.

COLUMNS n O número de colunas a ser usado para exibir o conjunto de números aleatórios.
opcional Se você omitir COLUMNS, o padrão será 6 colunas.

UNIQUE Incluir apenas números únicos no conjunto de números aleatórios.


opcional Se você omitir UNIQUE, serão permitidos valores duplicados no conjunto de números
aleatórios.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 375 de 966


Comandos

Nome Descrição

Nota
Não especifique UNIQUE quando o tamanho especificado para o con-
junto de números aleatórios excede 75% do intervalo entre MINIMUM e
MAXIMUM. Se você fizer isso, o resultado poderá ser o descarte de um
número excessivo de números aleatórios.

SORTED Exibe o conjunto de números aleatórios em ordem crescente.


opcional Se você omitir SORTED, os números serão exibidos na ordem em que são selecionados
aleatoriamente.

TO SCREEN | nome_ A localização para onde enviar os resultados do comando:


arquivo o SCREEN: exibe os resultados na área de exibição do Analytics
opcional o nome_arquivo: salva os resultados em um arquivo
Especifique nome_arquivo como uma cadeia entre aspas com uma extensão de
arquivo apropriada. Por exemplo: TO "Saída.TXT"
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma pasta
diferente já existente:
l TO "C:\Saída.TXT"
l TO "Resultados\Saída.TXT"
Se você omitir TO, o conjunto de números aleatórios será exibido na tela.

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional Nota
Você deve garantir que a estrutura da saída do comando e o arquivo exis-
tente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua estru-
tura. Se a estrutura da saída e do arquivo existente não corresponderem,
o resultado poderá ser dados misturados, ausentes ou incorretos.

Exemplos
Gerar um arquivo de texto com 100 valores aleatórios
Você quer selecionar aleatoriamente 100 arquivos impressos de um conjunto de arquivos com nume-
ração de 10.000 a 20.000.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 376 de 966


Comandos

Você pode usar o comando RANDOM para gerar um arquivo de texto com 100 números aleatórios entre
10.000 e 20.000. Em seguida, você obtém os arquivos impressos que correspondem aos números ale-
atórios. Os valores são organizados em 10 colunas, são únicos e classificados em ordem crescente:

RANDOM NUMBER 100 SEED 45387 MINIMUM 10000 MAXIMUM 20000 COLUMNS 10 UNIQUE
SORTED TO "Números_Aleatórios.txt"

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Algoritmo de números aleatórios


O comando RANDOM usa o algoritmo de números aleatórios padrão do Analytics. Ao contrário do
comando SAMPLE, o comando RANDOM não oferece a opção de usar o algoritmo de números aleatórios
Mersenne-Twister.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 377 de 966


Comandos

Comando RCOMMAND
Passa uma tabela do Analytics para um script do R externo como um quadro de dados e cria uma nova
tabela no projeto do Analytics usando a saída do script R externo.

Sintaxe
RCOMMAND FIELDS campo <...n> RSCRIPT caminho_para_script TO nome_tabela <IF teste>
<WHILE teste> <FIRST intervalo|NEXT intervalo> <KEEPTITLE> <SEPARATOR caractere>
<QUALIFIER caractere> <OPEN>

Parâmetros
Nome Descrição

FIELDS nome_campo Os campos da tabela do Analytics de origem ou as expressões a serem incluídas no


<...n> quadro de dados enviado para o script do R.
Dependendo da edição do Analytics que estiver usando, você poderá encontrar erros
ao enviar dados contendo alguns caracteres especiais do R:
o não Unicode: "\"
o Unicode: "ÿ" ou "Ŝ"
o Unicode e não Unicode: caracteres de desenho de caixas como blocos, quadrados
pretos e barras verticais interrompidas
Nota
Dados de idiomas misturados também não são compatíveis, por exem-
plo, uma tabela contendo caracteres japoneses e chineses.

RSCRIPT caminho_para_ O caminho completo ou relativo para o script do R no sistema de arquivos. Coloque
script caminho_para_script entre aspas.

TO nome_tabela A localização para onde enviar os resultados do comando:


o nome_tabela: salva os resultados em uma tabela do Analytics
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o pro-
jeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 378 de 966


Comandos

Nome Descrição

Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos,
sem contar a extensão .FIL. O nome pode incluir o caractere de subli-
nhado ( _ ) mas nenhum outro caractere especial e nenhum espaço.
O nome não pode começar com um número.
A tabela de saída é criada a partir do quadro de dados ou matriz que o script do R
retorna.

IF teste Uma condição que precisa ser atendida para processar o registro atual. O quadro de
dados passado para o script do R contém apenas os registros que atendem à con-
opcional
dição.

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número
opcional de registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até
alcançar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.
Cuidado
Há um problema conhecido na versão com NEXT na execução de
RCOMMAND. Evite usar essa opção, pois a referência do registro
poderá ser redefinida para o primeiro registro, independentemente do
registro selecionado.

KEEPTITLE Trate a primeira linha de dados como nomes de campos em vez de dados. Se omitida,
serão usados nomes de campo genéricos.
opcional
Esta opção é obrigatória se quiser recuperar dados usando nomes de coluna no script
do R.

SEPARATOR caractere O caractere a ser usado como separador entre campos. É preciso especificar o carac-
tere como uma cadeia entre aspas.
opcional
O caractere padrão é uma vírgula.
Nota
Evite usar quaisquer caracteres que aparecem nos campos de entrada.
Se o caractere SEPARATOR aparecer nos dados de entrada, os resul-
tados poderão ser afetados.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 379 de 966


Comandos

Nome Descrição

QUALIFIER caractere O caractere qualificador de texto. Os valores dos campos são colocados entre carac-
teres qualificadores para identificação. É preciso especificar o caractere como uma
opcional
cadeia entre aspas.
O caractere padrão é uma aspa.
Nota
Evite usar quaisquer caracteres que aparecem nos campos de entrada.
Se o caractere QUALIFIER aparecer nos dados de entrada, os resul-
tados poderão ser afetados.

OPEN Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o
comando criar uma tabela de saída.
opcional

Exemplos
Colocar o R em operação (Hello world)
Crie um script "hello world" para testar a conexão entre o Analytics e o R:

Comando do Analytics

RCOMMAND FIELDS "Olá"; ", mundo!" TO "resultado_r" RSCRIPT "C:\scripts\r_scripts\análise.r"

Script do R (análise.r)

srcTable<-acl.readData()

# criar tabela para enviar de volta ao ACL


output<-data.frame(
c(srcTable[1,1]),
c(srcTable[1,2])
)

# adicionar nomes de colunas e enviar tabela de volta ao ACL


colnames(output) <- c("Cumprimento","Assunto")
acl.output<-output

Acesso de dados de arquivo usando coordenadas de linha e coluna


Envie vários campos de fatura para um script do R para fins de análise fora do Analytics:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 380 de 966


Comandos

Comando do Analytics

RCOMMAND FIELDS Código_Departamento Total_Fatura Data_Fatura Número_Fatura Número_


Fornecedor TO "resultado_r" RSCRIPT "C:\scripts\r_scripts\análise.r"

Script do R (análise.r)

# Recupera número da fatura da segunda linha do quadro de dados no script do R


srcTable<-acl.readData()
srcTable[2,4]

Acesso de dados de campos usando nomes de coluna


Envie vários campos de fatura para um script do R para fins de análise fora do Analytics. Use a opção
KEEPTITLE para que as colunas possam ser referenciadas por nome no R:

Comando do Analytics

RCOMMAND FIELDS Código_Departamento Total_Fatura Número_Fatura TO "resultado_r"


RSCRIPT "C:\scripts\r_scripts\análise.r" KEEPTITLE

Script do R (análise.r)

# Recupera número da fatura da segunda linha do quadro de dados no script do R


srcTable<-acl.readData()
srcTable["2","Número_Fatura"]

Envio de registros de fatura que excedem o valor de 1000,00 para o script do


R
Envie vários campos de fatura para um script do R para fins de análise fora do Analytics. Use IF para limitar
os registros enviados ao R. Somente os registros com um total de fatura acima de 1000,00 são enviados:

Comando do Analytics

RCOMMAND FIELDS Código_Departamento Total_Fatura Número_Fatura TO "resultado_r" IF


Total_Fatura > 1000,00 RSCRIPT "C:\scripts\r_scripts\análise.r" KEEPTITLE

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 381 de 966


Comandos

Script do R (análise.r)

# Recupera número da fatura da segunda linha do quadro de dados no script do R


srcTable<-acl.readData()
srcTable["2","Número_Fatura"]

Envio de registros de fatura e retorno de valores de fatura multiplicados


Envie vários campos de fatura para um script do R para fins de análise fora do Analytics. O script do R exe-
cuta uma única ação em cada célula na coluna nomeada:

Comando do Analytics

RCOMMAND FIELDS Código_Departamento Total_Fatura Número_Fatura TO "resultado_r"


RSCRIPT "C:\scripts\r_scripts\análise.r" KEEPTITLE

Script do R (análise.r)

# Retorna fatia da tabela do ACL com valor dobrado


srcTable<-acl.readData()
acl.output<-srcTable["Valor_Fatura"] * 2

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda
do Analytics.

Referência aos dados do Analytics no script do R


A tabela do Analytics é passada ao script como um quadro de dados do R. Os quadros de dados são obje-
tos de dados tabulares que podem conter colunas com modos ou tipos diferentes de dados.
Para trabalhar com o quadro de dados criado pelo Analytics em um script do R, chame a função acl.-
readData() e armazene o quadro de dados retornado em uma variável:

# armazena a tabela do Analytics em um quadro de dados denominado minhaTabela que pode ser
referenciado em todo o script
minhaTabela<-acl.readData()

Para recuperar dados de uma célula na estrutura de dados, você pode usar uma das seguintes abor-
dagens:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 382 de 966


Comandos

l Uso de coordenadas de linha e coluna:

# Recupera o valor da primeira linha e segunda coluna do quadro de dados


minhaTabela[1,2]

Nota
As coordenadas são baseadas na ordem de campos especificada no comando e não
no layout da tabela ou na exibição aberta no momento.
l Uso de nomes de linha e coluna:

# Recupera o valor da primeira linha e da coluna "títuloMinhaColuna" do quadro de dados


minhaTabela["1","títuloMinhaColuna"]

É necessário especificar a opção KEEPTITLE do comando para usar nomes de colunas.


As linhas são chamadas de "1", "2", "3" e são incrementadas de acordo. Você também pode usar
uma combinação de nomes e coordenadas.

Transferência de dados de volta para o Analytics


Para retornar um quadro de dados ou matriz ao Analytics e criar uma nova tabela, use a sintaxe a seguir:

# Passa o quadro de dados minhaNovaTabela para o Analytics para criar uma nova tabela
acl.output<-minhaNovaTabela

Nota
É necessário retornar um quadro de dados ou uma matriz ao Analytics quando o script do
R termina. Verifique se as colunas do quadro de dados ou matriz contêm apenas valores
atômicos e não listas, matrizes ou objetos não atômicos. Se não for possível converter os
valores em tipos de dados do Analytics, o comando falhará.

Mapeamentos de tipo de dados


Os tipos de dados do Analytics são convertidos em tipos de dados do R usando um processo de tradução
entre o projeto do Analytics e o script do R:

Tipo de dados do Analytics Tipo(s) de dados R

Lógico Lógico

Numérico Numérico

Caractere Caractere

Datahora Data, POSIXct, POSIXlt

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 383 de 966


Comandos

Desempenho e limites de tamanho de arquivo


O tempo que leva para executar seu script do R e processar os dados retornados aumenta para dados de
entrada que ultrapassem 1 GB. O R não é compatível com arquivos de entrada de 2 GB ou mais.
O número de registros enviado para o R também afeta o desempenho. Para duas tabelas com o mesmo
tamanho de arquivo, mas com contagem de registros diferente, o processamento da tabela com menos
registros é mais rápido.

Processamento de dados de caractere multibyte


Se você estiver enviando dados para o R em um conjunto de caracteres multibyte, como chinês, é preciso
definir a localidade do sistema em seu script do R. Para enviar com sucesso uma tabela de dados mul-
tibyte para o R, a primeira linha do script do R deve conter esta função:

# Exemplo que define a localidade para chinesa


Sys.setlocale("LC_ALL","Chinese")

Para obter mais informações sobre Sys.setlocale( ), consulte a documentação do R.

Arquivo de log R
O Analytics registra em log as mensagens da linguagem R no arquivo aclrlan.log na pasta do pro-
jeto. Use esse arquivo de log para depurar erros do R.
Dica
O arquivo de log está disponível na pasta Resultados das tarefas de análise do Analytics
Exchange.

Execução de scripts do R no Servidor AX


Se você estiver criando um aplicativo de análise para executar no Servidor AX e quiser trabalhar com
scripts do R externos:
1. Carregue o arquivo como arquivo relacionado ao aplicativo de análise.
2. Use a tag de análise FILE para identificar o(s) arquivo(s).
3. Faça referência aos arquivos usando o caminho relativo ./nomedoarquivo.r.
Nota
Usar um arquivo relacionado garante que a conta do servidor do aplicativo TomEE tenha
permissões suficientes para acessar o arquivo ao executar o R com o Analytics
Exchange.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 384 de 966


Comandos

Comando REFRESH
Atualiza os dados em uma tabela do Analytics com a origem de dados associada.

Sintaxe
REFRESH < nome_tabela> <PASSWORD num>

Parâmetros
Nome Descrição

nome_tabela O nome da tabela do Analytics a ser atualizada. Se você não especificar um nome_
tabela, a tabela aberta será atualizada.
opcional

PASSWORD num A definição de senha a ser usada.


opcional PASSWORD num não é usado para solicitar ou especificar uma senha real. A definição
de senha faz referência a uma senha previamente fornecida ou definida com o comando
PASSWORD, o comando SET PASSWORD ou a tag de análise PASSWORD.
num é o número da definição de senha. Por exemplo, se as duas senhas foram pre-
viamente fornecidas ou definidas em um script, ou no agendamento de uma análise,
PASSWORD 2 especifica o uso da senha nº 2.
Para obter mais informações sobre o fornecimento ou a definição de senhas, consulte:
l "Comando PASSWORD" Na página 363
l "Comando SET" Na página 424
l Tag de análise PASSWORD
Para obter mais informações sobre o fornecimento ou a definição de senhas, consulte:
l Comando PASSWORD
l Comando SET
l Tag de análise PASSWORD
Nota
A senha é usada para acessar o sistema de dados de origem original.
Não é possível usar REFRESH com uma senha para fontes de dados
baseadas em arquivos, com a exceção de PDFs.

Exemplos
Atualização de uma tabela sem necessidade de senha

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 385 de 966


Comandos

Se uma senha não é necessária para a fonte de dados, basta especificar o comando REFRESH e o nome
da tabela do Analytics a ser atualizada.

REFRESH Faturas

Atualização de uma tabela com uma senha em um script interativo


Se estiver criando um script interativo, você poderá solicitar que o usuário digite a senha:

PASSWORD 1 "Digite sua senha:"


REFRESH Faturas PASSWORD 1

Se estiver atualizando uma tabela originalmente importada de uma fonte de dados protegida por senha
usando o comando ACCESSDATA, a solicitação da senha é automática e não precisa ser especificada
separadamente:

REFRESH Faturas

Atualização de uma tabela com uma senha em um script não interativo


Você pode definir a senha em um script se não quiser solicitar o valor ao usuário:

SET PASSWORD 1 TO "senha"


REFRESH Faturas PASSWORD 1

A desvantagem desse método é que a senha é exibida como um texto claro no script.

Atualização de uma tabela com uma senha em uma análise do Servidor AX


Se estiver criando uma análise no Servidor AX, você poderá solicitar que o usuário insira a senha quando
a análise for agendada ou executada ad hoc:

COMMENT
//ANALYTIC Atualizar Tabela
//PASSWORD 1 "Digite sua senha:"
END
REFRESH Faturas PASSWORD 1

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda
do Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 386 de 966


Comandos

Como funciona?
O comando REFRESH atualiza o conteúdo de uma tabela executando de novo o comando IMPORT, ou o
comando ACCESSDATA, inicialmente usado para definir e importar a tabela.

REFRESH atualiza apenas o conteúdo da tabela


O comando REFRESH atualiza apenas o conteúdo dos campos existentes em uma tabela do Analytics. Ele
não pode atualizar o layout da tabela do Analytics.
Não é possível usar REFRESH se a estrutura dos dados de origem tiver sido alterada. Por exemplo, se os
campos tiverem sido adicionados ou removidos. Você deverá reimportar os dados.

Origens de dados compatíveis com a atualização


Você pode usar o comando REFRESH para atualizar o conteúdo de uma tabela do Analytics criada usando
qualquer um dos seguintes comandos:
l IMPORT ACCESS
l IMPORT DELIMITED
l IMPORT EXCEL
l IMPORT ODBC (comando ODBC herdado)
l IMPORT PDF
l IMPORT PRINT
l IMPORT SAP
l IMPORT XBRL
l IMPORT XML
l ACCESSDATA (origens de dados ODBC)

REFRESH e ACCESSDATA
As seguintes diretrizes se aplicam ao atualizar uma tabela importada de uma origem de dados ODBC
usando o comando ACCESSDATA.
l Tabela aberta: Se a tabela estiver aberta quando você atualizá-la, você precisará temporariamente
de espaço em disco igual ao dobro do tamanho da tabela. Se o espaço em disco for limitado, feche a
tabela antes de atualizá-la.
l Analytics 12: As tabelas que foram importadas usando o comando ACCESSDATA na versão 12 do
Analytics não podem ser atualizadas, mesmo se você estiver usando uma versão mais recente do
Analytics.
Se quiser poder atualizar essas tabelas, reimporte-as usando o Analytics 12.5 ou posterior.

REFRESH e senhas
Você pode usar o comando REFRESH com origens de dados protegidas por senha existentes em um
banco de dados ou em um serviço de dados em nuvem.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 387 de 966


Comandos

Você não pode usar o comando REFRESH com origens de dados baseadas em arquivos protegidos por
senha, como arquivos do Excel. A única exceção são os PDFs protegidos por senha.

REFRESH e a janela Aplicativo de análise


Não use o comando REFRESH em scripts que serão executados na janela Aplicativo de análise.
Dependendo da forma como uma tabela é importada, a atualização de dados na tabela não é permitida
ou pode gerar resultados imprevisíveis, se executada na janela Aplicativo de análise.
Se você quiser atualizar dados como parte de um script executado na janela Aplicativo de análise, use o
comando IMPORT ou o comando ACCESSDATA e sobrescreva a tabela.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 388 de 966


Comandos

Comando RENAME
Renomeia um item ou arquivo de projeto do Analytics.

Sintaxe
RENAME tipo_de_item nome <AS|TO> novo_nome <OK>

Parâmetros
Nome Descrição

tipo_item nome O tipo e o nome do item ou arquivo de projeto que você quer renomear.
Nota
Na maioria dos casos, não é possível renomear um item ou arquivo que
está ativo, aberto ou em uso.
Especifique um dos seguintes tipos válidos:
o FIELD: campo de dados físicos, campo calculado ou variável
l A tabela que contém o campo deve estar aberta. No entanto, a exibição ativa não
pode incluir o campo.
l Você não pode renomear um campo que seja referenciado por um campo cal-
culado.
o FORMAT: tabela do Analytics
o INDEX: índice
o REPORT: relatório ou exibição
o WORKSPACE: área de trabalho
o SCRIPT (ou BATCH): script
o DATA: arquivo de dados do Analytics (.fil)
o FILE: arquivo de dados no sistema de arquivos
o LOG: arquivo de log do Analytics (.log)
o TEXT: arquivo de texto

AS | TO novo_nome O novo nome para o item ou arquivo do projeto.


Nota
A maioria dos nomes de itens de projetos do Analytics está sujeita a limi-
tações de comprimento. Para obter mais informações, consulte Limites de
caracteres e de tamanho no Analytics.

OK Exclui ou sobrescreve itens sem solicitar confirmação da ação.


opcional

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 389 de 966


Comandos

Exemplos
Renomear um campo
Você precisa renomear o campo No_produto para Num_Produto. Use OK para executar a ação sem con-
firmação adicional:

OPEN Estoque
RENAME FIELD No-produto AS Num_Produto OK

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 390 de 966


Comandos

Comando REPORT
Formata e gera um relatório baseado na tabela aberta do Analytics.

Sintaxe
REPORT <ON campo_quebra <PAGE> <NODUPS> <WIDTH caracteres> <AS nome_exibicao>>
<...n> FIELD outros_campos <WIDTH caracteres><AS nome_exibiçao> <...n> <SUPPRESS>
<NOZEROS> <LINE n outros_campos> <PRESORT < campo_classificação>> <...n>
<SUMMARIZED> <SKIP n> <EOF> <TO {SCREEN|PRINT|nome_arquivo <HTML>}> <IF > teste>
<WHILE teste> <FIRST intervalo|NEXT intervalo> <HEADER texto_cabeçalho> <FOOTER texto_
rodapé> <APPEND>

Parâmetros
Nome Descrição

ON campo_quebra PAGE O campo ou os campos de caracteres usados para quebrar o relatório em seções.
NODUPS WIDTH carac-
Uma nova seção e um novo subtotal de relatório serão criados a cada vez que o valor de
teres AS nome_exibicao
campo_quebra for alterado. A divisão de relatórios em seções pode facilitar sua pes-
<...n>
quisa.
opcional o campo_quebra: o campo a ser usado como um campo de quebra
Para executar um relatório baseado em uma exibição (DO REPORT), o campo de
quebra deve ser o campo de caracteres mais à esquerda na exibição.
o PAGE: insere uma quebra de página cada vez que o valor de do campo de quebra é
alterado
o NODUPS: suprime a exibição de valores duplicados do campo de quebra
Por exemplo, se o nome do cliente estiver listado para cada registro de fatura, você
poderá tornar o relatório mais legível listando apenas a primeira ocorrência de cada
nome de cliente.
o WIDTH caracteres: o comprimento da saída em caracteres
o AS nome_exibiçao: o nome de exibição (título alternativo da coluna) do campo no
relatório
Especifique nome_exibiçao como uma cadeia entre aspas. Utilize um ponto e vírgula
(;) entre palavras se quiser uma quebra de linha no título da coluna. Se você quiser
que o nome de exibição seja o mesmo que o nome do campo ou um nome de exi-
bição já existente na tabela de origem, não use AS.
Nota
Você deve especificar ON para usar campo_quebra, PAGE, NODUPS ou
PRESORT.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 391 de 966


Comandos

Nome Descrição

FIELD Outros_campos Os campos a serem incluídos no relatório.


WIDTH caracteres AS o WIDTH caracteres: o comprimento da saída em caracteres
nome_exibiçao <...n> o AS nome_exibiçao: o nome de exibição (título alternativo da coluna) do campo no
relatório
Especifique nome_exibiçao como uma cadeia entre aspas. Utilize um ponto e vírgula
(;) entre palavras se quiser uma quebra de linha no título da coluna. Se você quiser
que o nome de exibição seja o mesmo que o nome do campo ou um nome de exi-
bição já existente na tabela de origem, não use AS.
As palavras-chave SUBTOTAL e ACCUMULATE são sinônimos de FIELD e foram des-
continuadas. Todos os campos numéricos são subtotalizados automaticamente.
Nota
Os campos de quebra são incluídos automaticamente no relatório e não
precisam ser especificados como outros_campos.

SUPPRESS Exclui linhas de detalhe em branco do relatório.


opcional

NOZEROS Substitui valores zero por valores em branco no campo.


opcional Por exemplo, se um relatório incluir um grande número de valores zero em uma coluna,
o relatório ficará mais legível listando apenas os itens que têm um valor diferente de
zero.

LINE n outros_campos Especifica o número de linhas de saída na coluna e os campos a serem exibidos na
linha de número n.
opcional
Se nenhum valor for especificado, a coluna adotará o padrão de uma linha única. O
valor de n deve estar entre 2 e 60, inclusive.
Os títulos de colunas no relatório são determinados exclusivamente pelos campos na pri-
meira linha. outros_campos especifica os campos ou expressões apropriadas para o
relatório.

PRESORT campo_clas- o Ordena campo_quebra, se um ou mais campos de quebra são especificados.


sificação <...n> o Ordena campo_classificação, se um ou mais campos de classificação são espe-
cificados.
opcional
PRESORT não ordena os campos listados como outros_campos, a menos que também
estejam listados como campo_classificação.

SUMMARIZED Produz um relatório somente com subtotais e totais, e nenhuma linha de detalhe.
opcional Os subtotais são gerados para valores únicos do campo de quebra. Se SUMMARIZED
não for especificado, o Analytics gerará um relatório que inclui linhas de detalhe e sub-
totais para cada campo-chave de quebra especificado.

SKIP n Insere linhas em branco entre as linhas de detalhe no relatório.


opcional n deve ser um número inteiro especificando o número de linhas a serem inseridas. Por
exemplo, SKIP 1 produz um relatório com espaço duplo.

EOF Execute o comando uma ou mais vezes após alcançar o fim do arquivo.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 392 de 966


Comandos

Nome Descrição

opcional Isso garante que o registro final na tabela seja processado dentro de um comando
GROUP. Use EOF somente se todos os campos forem campos calculados referentes a
registros anteriores.

TO SCREEN | PRINT| A localização para onde enviar os resultados do comando:


nome_arquivo <HTML> o SCREEN: exibe os resultados na área de exibição do Analytics
opcional o nome_arquivo: salva os resultados em um arquivo
Especifique nome_arquivo como uma cadeia entre aspas com uma extensão de
arquivo apropriada. Por exemplo: TO "Saída.TXT"
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma pasta
diferente já existente:
l TO "C:\Saída.TXT"
l TO "Resultados\Saída.TXT"
o PRINT: envia os resultados para a impressora padrão
Por padrão, a saída dos relatórios em arquivo é salva como arquivos de texto ASCII.
Especifique HTML se quiser gerar o relatório como um arquivo HTML (.htm).
Se você omitir TO, o relatório será gerado na tela.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes em
uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número de
opcional registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até alcan-
çar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

HEADER texto_cabeçalho O texto a ser inserido na parte superior de cada página de um relatório.
opcional texto_cabeçalho deve ser especificado como uma cadeia entre aspas. O valor substitui a
variável de sistema HEADER do Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 393 de 966


Comandos

Nome Descrição

FOOTER texto_rodapé O texto a ser inserido na parte inferior de cada página de um relatório.
opcional texto_rodapé deve ser especificado como uma cadeia entre aspas. O valor substitui a
variável de sistema FOOTER do Analytics.

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional Nota
Você deve garantir que a estrutura da saída do comando e o arquivo exis-
tente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua estru-
tura. Se a estrutura da saída e do arquivo existente não corresponderem,
o resultado poderá ser dados misturados, ausentes ou incorretos.

Exemplos
Geração de um relatório HTML
Gere um relatório da tabela Ar e envie a saída para um arquivo formatado em HTML:

OPEN Ar
REPORT ON Num FIELD Vencimento Tipo Valor TO "C:\Relatórios\AR.htm" HTML

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 394 de 966


Comandos

Comando RETRIEVE
Recupera o resultado de uma consulta do Direct Link enviada para processamento em segundo plano.

Sintaxe
RETRIEVE nome_tabela PASSWORD num

Parâmetros
Nome Descrição

nome_tabela O nome da tabela criada originalmente no Analytics pela consulta do Direct Link.
A tabela já deve existir antes que você possa usar RETRIEVE.

PASSWORD num A definição de senha a ser usada.


PASSWORD num não é usado para solicitar ou especificar uma senha real. A definição
de senha faz referência a uma senha previamente fornecida ou definida com o comando
PASSWORD, o comando SET PASSWORD ou a tag de análise PASSWORD.
num é o número da definição de senha. Por exemplo, se as duas senhas foram pre-
viamente fornecidas ou definidas em um script, ou no agendamento de uma análise,
PASSWORD 2 especifica o uso da senha nº 2.
Para obter mais informações sobre o fornecimento ou a definição de senhas, consulte:
l "Comando PASSWORD" Na página 363
l "Comando SET" Na página 424
l Tag de análise PASSWORD
Para obter mais informações sobre o fornecimento ou a definição de senhas, consulte:
l Comando PASSWORD
l Comando SET
l Tag de análise PASSWORD
Nota
A senha é usada para acessar o sistema SAP.

Exemplos
Recuperação do resultado da consulta em modo de segundo plano
Defina a senha e recupere o resultado da consulta em modo de segundo plano de uma tabela do Analytics
denominada DD02T_Data:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 395 de 966


Comandos

SET PASSWORD 1 TO "pwd"


RETRIEVE DD02T_Data PASSWORD 1

Observações
Antes de começar
Este comando somente será permitido se o Direct Link estiver instalado e configurado.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 396 de 966


Comandos

Comando SAMPLE
Obtém uma amostra de registros usando o método de amostragem por registro ou de amostragem por uni-
dades monetárias.
Amostragem por registro Amostragem por unidades monetárias

Sintaxe
Nota
Essa sintaxe não inclui filtros (instruções IF) ou parâmetros de escopo porque a aplicação
dessas opções compromete a validade da amostra.

Método de seleção de intervalo fixo


SAMPLE <ON> RECORD INTERVAL valor_intervalo <FIXED valor_inicial> {RECORD|FIELDS
nome_campo <...n>} TO nome_tabela <OPEN> <APPEND> <LOCAL>

Método de seleção por célula


SAMPLE <ON> RECORD CELL INTERVAL valor_intervalo <RANDOM valor_de_origem>
{RECORD|FIELDS nome_campo < ...n>} TO nome_tabela <OPEN> <APPEND> <MERSENNE_
TWISTER> <LOCAL>

Método de seleção aleatório


SAMPLE <ON> RECORD NUMBER tamanho_da_amostra <RANDOM valor_de_origem>
<ORDER> {RECORD|FIELDS nome_campo < ...n>} TO nome_tabela <OPEN> <APPEND>
<MERSENNE_TWISTER> <LOCAL>

Parâmetros
Nota
Não inclua separadores de milhares ao especificar valores.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 397 de 966


Comandos

Nome Descrição

ON RECORD Use amostragem por registro.

INTERVAL valor_intervalo INTERVAL valor_intervalo FIXED valor_inicial


FIXED valor_inicial | CELL
INTERVAL valor_intervalo Use o método de seleção de intervalo fixo.
| NUMBER tamanho_
Um registro inicial é selecionado e todas as seleções subsequentes estarão em um
amostra
intervalo fixo ou a uma determinada distância entre si. Por exemplo, cada 20º registro
após a seleção inicial.
o INTERVAL valor_intervalo: especifique o valor do intervalo gerado ao calcular o
tamanho da amostra
o FIXED valor_inicial: especifique o número do registro inicial selecionado
Se você especificar valor_inicial como zero ("0") ou omitir FIXED, o Analytics sele-
cionará aleatoriamente o registro inicial.

CELL INTERVAL valor_intervalo


Use o método de seleção por célula.
O conjunto de dados é dividido em várias células ou grupos do mesmo tamanho e um
registro é selecionado aleatoriamente em cada célula.
O valor do intervalo determina o tamanho de cada célula. Especifique o valor do inter-
valo gerado ao calcular o tamanho da amostra.

NUMBER tamanho_da_amostra
Use o método de seleção aleatória.
Todos os registros são selecionados aleatoriamente em todo o conjunto de dados.
Especifique o tamanho da amostra gerado ao calcular o tamanho da amostra.

RANDOM valor_de_ori- Nota


gem
Somente para métodos de seleção por célula e aleatório.
opcional
O valor de origem usado para inicializar o gerador de números aleatórios no Analytics.
Se você especificar um valor zero ("0") ou omitir RANDOM, o Analytics selecionará ale-
atoriamente o valor de origem.

ORDER Nota
opcional Somente para o método de seleção aleatório.
Use ORDER apenas quando especificar FIELDS.
Adiciona o campo ORDER aos resultados de saída.
Esse campo exibe a ordem em que cada registro é selecionado aleatoriamente.

RECORD | FIELDS nome_ o RECORD: todo o registro é incluído na tabela de saída


campo <...n> o FIELDS: campos individuais, em vez do registro inteiro, serão incluídos na tabela de
saída
Especifique os campos ou expressões a serem incluídos. Se você especificar vários
campos, eles devem ser separados por espaços.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 398 de 966


Comandos

Nome Descrição

TO nome_tabela A localização para onde enviar os resultados do comando:


o nome_tabela: salva os resultados em uma tabela do Analytics
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o pro-
jeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos,
sem contar a extensão .FIL. O nome pode incluir o caractere de subli-
nhado ( _ ) mas nenhum outro caractere especial e nenhum espaço.
O nome não pode começar com um número.

OPEN Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o
comando criar uma tabela de saída.
opcional

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional Nota
Você deve garantir que a estrutura da saída do comando e o arquivo
existente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua
estrutura. Se a estrutura da saída e do arquivo existente não cor-
responderem, o resultado poderá ser dados misturados, ausentes ou
incorretos.

MERSENNE_TWISTER Nota
opcional Somente para métodos de seleção por célula e aleatório.
O gerador de números aleatórios no Analytics usa o algoritmo Mersenne-Twister.
Se você omitir MERSENNE_TWISTER, será usado o algoritmo padrão do Analytics.
Nota
Use o algoritmo padrão apenas se precisar de compatibilidade retro-
ativa com scripts ou resultados de amostragem do Analytics criados
antes do Analytics versão 12.

LOCAL Salva o arquivo de saída no mesmo local que o projeto do Analytics.


opcional

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 399 de 966


Comandos

Nome Descrição

Nota
Aplicável apenas na execução de um comando em uma tabela de ser-
vidor com um campo de saída que é uma tabela do Analytics.

Exemplos
Obter uma amostra de registros
Você vai usar amostragem por registro para estimar a taxa de desvio de um controle prescrito em uma
conta que contém faturas.
Após calcular um tamanho de amostra estatisticamente válido, você está pronto para obter a amostra.
Use o método de seleção aleatória.
O exemplos abaixo:
l Amostra a tabela aberta do Analytics
l Usa o método de seleção aleatória com um valor de origem de 123456
l Especifica um tamanho de amostra de 95 registros
l Inclui somente os campos especificados na tabela de saída
l Especifica que o gerador de números aleatórios no Analytics usa o algoritmo Mersenne-Twister

SAMPLE ON RECORD RANDOM 123456 NUMBER 95 FIELDS NumRef NumCliente Valor Data
Tipo TO "Amostra_registro_Cr" OPEN MERSENNE_TWISTER

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda
do Analytics.

Sintaxe
Nota
Essa sintaxe não inclui filtros (instruções IF) ou parâmetros de escopo porque a aplicação
dessas opções compromete a validade da amostra.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 400 de 966


Comandos

Método de seleção de intervalo fixo


SAMPLE <ON> campo_numérico_de_aum INTERVAL valor_do_intervalo <FIXED valor_inicial>
<CUTOFF valor_limite_estrato_superior> <SUBSAMPLE> <NOREPLACEMENT>
{RECORD|FIELDS nome_campo < ...n>} TO nome_tabela <OPEN> <APPEND> <LOCAL>

Método de seleção por célula


SAMPLE <ON> campo_numérico_de_aum CELL INTERVAL valor_intervalo <CUTOFF valor_limite_
estrato_superior> <RANDOM valor_de_origem> <SUBSAMPLE> <NOREPLACEMENT>
{RECORD|FIELDS nome_campo < ...n>} TO nome_tabela <OPEN> <APPEND> <MERSENNE_
TWISTER> <LOCAL>

Método de seleção aleatório


SAMPLE <ON> campo_numérico_de_aum NUMBER tamanho_da_amostra POPULATION valor_
absoluto <RANDOM valor_de_origem> <SUBSAMPLE> <NOREPLACEMENT> <ORDER>
{RECORD|FIELDS nome_campo < ...n>} TO nome_tabela <OPEN> <APPEND> <MERSENNE_
TWISTER> <LOCAL>

Parâmetros
Nota
Não inclua separadores de milhares ao especificar valores.

Nome Descrição

ON campo_numérico_de_ Use amostragem por unidades monetárias (AUM).


aum
campo_numérico_de_aum é o campo ou expressão numérica a ser usada como base
da amostragem.

INTERVAL valor_intervalo INTERVAL valor_intervalo FIXED valor_inicial


FIXED valor_inicial | CELL
INTERVAL valor_intervalo Use o método de seleção de intervalo fixo.
| NUMBER tamanho_amos-
Uma unidade monetária inicial é selecionada e todas as seleções subsequentes estarão
tra POPULATION valor_
em um intervalo fixo ou a uma determinada distância entre si. Por exemplo, cada 5.000ª
absoluto
unidade monetária após a seleção inicial.
o INTERVAL valor_intervalo: especifique o valor do intervalo gerado ao calcular o
tamanho da amostra
o FIXED valor_inicial: especifique o número da unidade monetária inicial selecionada

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 401 de 966


Comandos

Nome Descrição

Se você especificar valor_inicial como zero ("0") ou omitir FIXED, o Analytics sele-
cionará aleatoriamente a unidade monetária inicial.

CELL INTERVAL valor_intervalo


Use o método de seleção por célula.
O conjunto de dados é dividido em várias células ou grupos do mesmo tamanho e uma
unidade monetária é selecionada aleatoriamente em cada célula.
O valor do intervalo determina o tamanho de cada célula. Especifique o valor do inter-
valo gerado ao calcular o tamanho da amostra.

NUMBER tamamanho_amostra POPULATION valor_absoluto


Use o método de seleção aleatória.
Todas as unidades monetárias são selecionadas aleatoriamente em todo o conjunto de
dados.
o NUMBER tamanho_amostra: especifique o tamanho da amostra gerado ao calcular o
tamanho da amostra
o POPULATION valor_absoluto: especifique o valor total absoluto de campo_numé-
rico_de_aum, que é a população onde a amostra será selecionada

CUTOFF valor_limite_ Nota


estrato_superior
Somente para métodos de seleção por intervalo fixo ou por célula.
opcional
Um valor de limite do estrato superior.
Valores de campo_numérico_de_aum maiores ou iguais ao valor do limite serão sele-
cionados e incluídos automaticamente na amostra.
Se você omitir CUTOFF, será usado um valor limite padrão igual ao valor_intervalo.

RANDOM valor_de_ori- Nota


gem
Somente para métodos de seleção por célula e aleatório.
opcional
O valor de origem usado para inicializar o gerador de números aleatórios no Analytics.
Se você especificar um valor zero ("0") ou omitir RANDOM, o Analytics selecionará ale-
atoriamente o valor de origem.

SUBSAMPLE Nota
opcional Use SUBSAMPLE apenas quando especificar FIELDS.
Adiciona o campo SUBSAMPLE aos resultados de saída.
Se cada valor em um campo de amostragem representar um total de várias transações
separadas e você quiser executar procedimentos de auditoria em apenas uma tran-
sação de cada valor total amostrado, será possível usar os valores do campo
SUBSAMPLE para selecionar aleatoriamente as transações individuais.
Para obter mais informações, consulte Execução da amostragem por unidades mone-
tárias.

NOREPLACEMENT O mesmo registro não é selecionado mais de uma vez. Como resultado, a amostra pode

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 402 de 966


Comandos

Nome Descrição

opcional conter menos registros que a quantidade calculada pelo comando SIZE.
Se NOREPLACEMENT for omitido, ou se você especificar REPLACEMENT, os registros
poderão ser selecionados mais de uma vez.

ORDER Nota
opcional Somente para o método de seleção aleatório.
Use ORDER apenas quando especificar FIELDS.
Adiciona o campo ORDER aos resultados de saída.
Esse campo exibe a ordem em que cada registro é selecionado aleatoriamente.

RECORD | FIELDS nome_ o RECORD: todo o registro é incluído na tabela de saída


campo <...n> o FIELDS: campos individuais, em vez do registro inteiro, serão incluídos na tabela de
saída
Especifique os campos ou expressões a serem incluídos. Se você especificar vários
campos, eles devem ser separados por espaços.

TO nome_tabela A localização para onde enviar os resultados do comando:


o nome_tabela: salva os resultados em uma tabela do Analytics
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o projeto
do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos, sem
contar a extensão .FIL. O nome pode incluir o caractere de sublinhado
( _ ) mas nenhum outro caractere especial e nenhum espaço. O nome
não pode começar com um número.

OPEN Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o
comando criar uma tabela de saída.
opcional

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 403 de 966


Comandos

Nome Descrição

Nota
Você deve garantir que a estrutura da saída do comando e o arquivo exis-
tente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua estru-
tura. Se a estrutura da saída e do arquivo existente não corresponderem,
o resultado poderá ser dados misturados, ausentes ou incorretos.

MERSENNE_TWISTER Nota
opcional Somente para métodos de seleção por célula e aleatório.
O gerador de números aleatórios no Analytics usa o algoritmo Mersenne-Twister.
Se você omitir MERSENNE_TWISTER, será usado o algoritmo padrão do Analytics.
Nota
Use o algoritmo padrão apenas se precisar de compatibilidade retroativa
com scripts ou resultados de amostragem do Analytics criados antes do
Analytics versão 12.

LOCAL Salva o arquivo de saída no mesmo local que o projeto do Analytics.


opcional Nota
Aplicável apenas na execução de um comando em uma tabela de ser-
vidor com um campo de saída que é uma tabela do Analytics.

Exemplos
Obter uma amostragem por unidades monetárias
Use a amostragem por unidades monetárias para estimar o valor total de afirmações incorretas mone-
tárias em uma conta que contém faturas.
Após calcular um tamanho de amostra estatisticamente válido, você está pronto para obter a amostra.
Use o método de seleção de intervalo fixo.
O exemplos abaixo:
l Amostra a tabela aberta do Analytics com base em um campo de valor da transação
l Usa o método de seleção de intervalo fixo com um valor de intervalo de US$ 6.283,33
l Especifica que o primeiro registro selecionado contém a 100.000ª unidade monetária (o número de
centavos em US$ 1.000)
l Usa um limite do estrato superior de US$ 5.000
l Inclui todo o registro na tabela de saída

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 404 de 966


Comandos

SAMPLE ON Valor INTERVAL 6283,33 FIXED 1000,00 CUTOFF 5000,00 RECORD TO "Amostra_
unidade_monetária_Cr" OPEN

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 405 de 966


Comandos

Comando SAVE
Copia uma tabela do Analytics, salvando-a com um nome diferente, ou salva um projeto do Analytics.

Sintaxe
Para criar uma cópia de uma tabela do Analytics e salvá-la com um nome diferente:

SAVE nova_tabela FORMAT tabela_ACL

Para salvar as alterações ao projeto atual:

SAVE

Parâmetros
Nome Descrição

nova_tabela O nome da nova tabela do Analytics a ser criada e salva.


Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos. O
nome pode incluir o caractere de sublinhado ( _ ) mas nenhum outro
caractere especial e nenhum espaço. O nome não pode começar com
um número.

FORMAT tabela_ACL O nome da tabela do Analytics existente. Utilize o nome do layout da tabela, não o
nome do arquivo de dados associado.

Exemplos
Criação de uma nova tabela de acordo com uma tabela existente
Crie uma nova tabela chamada Pagamentos_Marco com base na tabela existente Pagamentos_
mestre. A tabela Pagamentos_Marco pode, então, ser vinculada ao arquivo de dados de pagamentos de
março:

SAVE Pagamentos_Marco FORMAT Pagamentos_mestre

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 406 de 966


Comandos

Observações
Como funciona?
SAVE FORMAT produz um resultado similar a copiar e colar uma tabela do Analytics na guia Visão geral
no Navegador. Uma nova tabela do Analytics é criada e associada ao mesmo arquivo de dados ou origem
de dados que a tabela original.
É possível vincular, se preciso, a nova tabela criada a uma origem de dados diferente.

Uso de SAVE para evitar solicitações


Em determinados momentos, o Analytics solicita automaticamente que as alterações no projeto atual
sejam salvas. Para evitar interrupções na execução dos scripts, você pode usar o comando SAVE para sal-
var alterações antes que o Analytics solicite que sejam salvas.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 407 de 966


Comandos

Comando SAVE LAYOUT


Salva um layout da tabela do Analytics em um layout da tabela externo (.layout) ou salva metadados do
layout da tabela em uma tabela do Analytics.
Nota
Antes da versão 11 do Analytics, os arquivos externos de layout de tabela usavam a
extensão de arquivo .fmt. Os arquivos de layout de tabela com extensão .fmt ainda
podem ser salvos, especificando a extensão manualmente.

Sintaxe
SAVE LAYOUT {FILE|TABLE} TO {nome_arquivo|nome_tabela}

Parâmetros
Nome Descrição

FILE | TABLE o FILE: salve um layout da tabela do Analytics em um arquivo de layout da tabela
externo (.layout)
o TABLE: salve metadados do layout da tabela em uma tabela do Analytics (.fil)

TO nome_arquivo | nome_ O nome do arquivo de saída e o local da saída:


tabela o nome_arquivo: o nome do arquivo .layout
Especifique nome_arquivo como uma cadeia entre aspas. Por exemplo: TO "Trans_
Cp.layout".
A extensão de arquivo .layout é utilizada por padrão, portanto, sua especificação é
opcional.
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma
pasta diferente já existente:
l TO "C:\Trans_Cp.layout"
l TO "Layouts da tabela\Trans_Cp.layout"
Nota
Limite o nome do layout da tabela a 64 caracteres alfanuméricos,
sem incluir a extensão .layout, para garantir que o nome não seja
truncado durante a importação da tabela para o Analytics.
O nome pode incluir o caractere de sublinhado ( _ ) mas nenhum
outro caractere especial e nenhum espaço. O nome não pode come-
çar com um número.
o nome_tabela:o nome da tabela do Analytics e do arquivo .fil

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 408 de 966


Comandos

Nome Descrição

Especifique nome_arquivo como uma cadeia entre aspas. Por exemplo: TO "Meta-
dos_layout_Trans_Cp.fil".
A extensão de arquivo .fil é utilizada por padrão, portanto, sua especificação é opci-
onal.
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o pro-
jeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Metados_layout_Trans_Cp.fil"
l TO "Metadados Layout\C:\Metados_layout_Trans_Cp.fil"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos,
sem contar a extensão .FIL. O nome pode incluir o caractere de subli-
nhado ( _ ) mas nenhum outro caractere especial e nenhum espaço.
O nome não pode começar com um número.

Exemplos
Salvar um layout de tabela em um arquivo externo de layout de tabela
(.layout)
Os exemplos a seguir salvam o layout da tabela usado pela tabela aberta em um arquivo de layout de
tabela externo chamado Trans_Cp.layout:
Aqui, o arquivo de layout da tabela é salvo na pasta do projeto do Analytics:

SAVE LAYOUT FILE TO Trans_Cp.layout

Aqui, o arquivo de layout da tabela é salvo em uma pasta especificada:

SAVE LAYOUT FILE TO "C:\ACL_DATA\Auditoria CP 2013\Trans_Cp.layout"

Salvar uma cópia dos metadados de layout da tabela em uma nova tabela
do Analytics
Os exemplos a seguir salvam uma cópia dos metadados do layout da tabela em uso pela tabela aberta em
uma nova tabela do Analytics chamada Metadados_layout_Trans_Cp.
Aqui, a nova tabela do Analytics é salva na pasta do projeto do Analytics:

SAVE LAYOUT TABLE TO Metadados_layout_Trans_Cp

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 409 de 966


Comandos

Aqui, a nova tabela do Analytics é salva na pasta especificada:

SAVE LAYOUT TABLE TO "C:\ACL_DATA\Auditoria CP 2013\Metadados_layout_Trans_Cp"

Observações
SAVE LAYOUT arquivo vs. tabela
O comando SAVE LAYOUT pode ser usado para dois propósitos distintos:
l FILE: salva o layout da tabela do Analytics aberta em um arquivo de layout da tabela externo com
uma extensão .layout
l TABLE: extrai os metadados do layout da tabela do Analytics aberta e os salva em uma nova
tabela do Analytics

SAVE LAYOUT FILE


Como funciona?
SAVE LAYOUT FILE salva o layout da tabela da tabela do Analytics aberta em um arquivo de layout de
tabela externo com extensão .layout.
O layout da tabela contém metadados que fornecem uma interpretação estruturada dos dados puros em
um arquivo de dados associado. O layout da tabela em si não contém nenhum dado.

Quando usar SAVE LAYOUT FILE


Salvar um layout de tabela como arquivo .layout torna o layout da tabela e seus metadados portáveis e
reutilizáveis.
O arquivo .layout pode ser importado em qualquer projeto do Analytics e associado a um arquivo de
dados de origem correspondente. Os elementos de dados no arquivo de dados de origem devem cor-
responder às definições de campos especificadas nos metadados do layout da tabela.
Por exemplo, seria possível salvar o layout da tabela de um arquivo de transações de Março e associá-lo
a um arquivo de dados contendo transações de Abril, assumindo que a estrutura dos dados nos arquivos
de dados de Março e Abril seja idêntica. Utilizados dessa forma, os arquivos .layout podem economizar o
trabalho de criar novos layouts de tabela a partir do zero.
Para obter mais informações sobre a estrutura das tabelas do Analytics, consulte o Guia do usuário do
Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 410 de 966


Comandos

SAVE LAYOUT TABLE


Como funciona?
O SAVE LAYOUT TABLE extrai os metadados do layout da tabela do Analytics aberta e os salva em uma
nova tabela do Analytics.
A nova tabela não é o layout da tabela original, mas uma tabela do Analytics comum que contém um
resumo dos metadados de layout da tabela original. O acesso a este resumo dentro de um script do Analy-
tics permite a tomada de decisões no script baseadas nessa informação.
Para cada campo da tabela original, os seguintes trechos de metadados de layout da tabela são extraídos
para a nova tabela.
Nota
Esses nomes de campos na nova tabela sempre são gerados em inglês, qualquer que seja
a versão localizada do Analytics usada.

Nome do campo na nova


tabela Metadados de layout da tabela

nome_campo O nome do campo

tipo_de_dados O tipo de dados do campo

categoria A categoria de dados do campo

posição_inicial A posição inicial do campo

tamanho_campo O comprimento do campo

decimais O número de casas decimais no campo (somente para campos numéricos)

formato O formato do campo (somente para campos datahora e numéricos)

título_alternativo O título alternativo da coluna do campo

largura_coluna A largura da coluna na exibição

Detalhes adicionais

Campos calculados são incluídos nos metadados extraídos, mas a expressão utilizada
pelo campo calculado e possíveis condições não são gravados. A posição inicial, o tama-
nho do campo e as casas decimais também não são registrados para campos cal-
Campos calculados culados.

Campos relacionados Os campos relacionados não são incluídos porque não fazem parte do layout da tabela.

Filtros de campo Os filtros e as notas de campo não são incluídos.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 411 de 966


Comandos

Notas do campo

Título de coluna alter- Os valores registrados para título alternativo da coluna e largura de coluna são os espe-
nativo cificados no layout da tabela e não os valores de exibição que também podem ser espe-
cificados para as colunas.
Largura da coluna

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 412 de 966


Comandos

Comando SAVE LOG


Salva todo o log de comandos ou as entradas de log para a sessão atual do Analytics um arquivo externo.

Sintaxe
SAVE LOG <SESSION> AS nome_arquivo {<ASCII>|HTML} <OK>

Parâmetros
Nome Descrição

SESSION Somente entradas de log da sessão atual do Analytics devem ser salvas.
opcional

AS nome_arquivo O nome do arquivo de saída.


Especifique o nome_arquivo como uma cadeia entre aspas. Por exemplo: AS "Log de
comandos". Você pode especificar uma extensão de arquivo (.txt, .htm ou .html), mas
isso não é obrigatório.
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma pasta
diferente já existente:
o AS "C:\Log de comandos.TXT"
o AS "Resultados\Log de comandos.TXT"

ASCII | HTML O formato do arquivo de saída:


o ASCII (ou sem palavra-chave): um arquivo de texto simples ASCII.
o HTML: um arquivo HTML.

OK Se um arquivo com o mesmo nome de nome_arquivo já existir, ele será sobrescrito sem
confirmação.
opcional

Exemplos
Salvar o log de comandos da análise de contas a pagar
Você executou análises de dados do arquivo de contas a pagar de março e quer salvar o log de comandos
associado como parte da documentação de trabalho.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 413 de 966


Comandos

O exemplo a seguir salva as entradas da sessão atual do Analytics em um arquivo HTML. Se um arquivo
com o mesmo nome já existir, ele será sobrescrito sem confirmação:

SAVE LOG SESSION AS "C:\Log_Março_APagar.htm" HTML OK

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 414 de 966


Comandos

Comando SAVE TABLELIST


Salva uma lista de todas as tabelas de um projeto do Analytics em uma tabela do Analytics ou em um
arquivo CSV.

Sintaxe
SAVE TABLELIST {FILE|TABLE} TO {nome_tabela|nome_arquivo}

Parâmetros
Nome Descrição

FILE | TABLE o FILE: salva a lista de tabelas em um arquivo CSV (.csv)


o TABLE: salva a lista de tabelas em uma tabela do Analytics

TO nome_tabela | nome_ O local onde a lista de tabelas será salva:


arquivo o nome_tabela: o nome da tabela do Analytics de saída e o arquivo .fil associado
quando TABLE é usado
A extensão de arquivo .fil é usada por padrão e não precisa ser informada. A tabela é
salva na mesma pasta do projeto do Analytics e não pode ser salva em nenhuma
outra pasta.
Nota
Os nomes de tabelas do Analytics são limitados a 64 caracteres alfa-
numéricos. O nome pode incluir o caractere de sublinhado ( _ ) mas
nenhum outro caractere especial e nenhum espaço. O nome não pode
começar com um número.
o nome_arquivo: o nome do arquivo .csv quando FILE é usado
A extensão de arquivo .csv é utilizada por padrão e não precisa ser especificada. É
possível especificar um caminho absoluto ou relativo para salvar o arquivo CSV em
uma pasta existente diferente da que contém o projeto do Analytics. Se você espe-
cificar um caminho relativo, ele será relativo ao diretório de trabalho do Analytics.
Se os valores contiverem espaços, será preciso especificar os valores como cadeias
entre aspas.

Exemplos
Criação de uma nova tabela
Crie uma nova tabela no projeto do Analytics, denominada Lista_completa_tabelas :

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 415 de 966


Comandos

SAVE TABLELIST TABLE TO Lista_completa_tabelas

Criação de um arquivo CSV


Crie um novo arquivo CSV na pasta C:\ACL Data, denominado Lista_completa_tabelas.csv:

SAVE TABLELIST FILE TO "C:\ACL Data\Lista_completa_tabelas"

Observações
Colunas da saída
A tabela do Analytics de saída ou o arquivo CSV contém três colunas:
l nome_tabela: o nome do layout da tabela do Analytics
l tipo: indica se a tabela do Analytics é uma tabela local ou no servidor
l Caminho_arquivo_dados: o caminho completo para o arquivo de dados de origem

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 416 de 966


Comandos

Comando SAVE WORKSPACE


Cria e salva uma área de trabalho.

Sintaxe
SAVE WORKSPACE nome_área_de_trabalho {nome_campo <...n>}

Parâmetros
Nome Descrição

nome_área_de_trabalho O nome da área de trabalho para criar e adicionar ao projeto atual do Analytics.

nome_campo <...n> O nome do campo a adicionar à área de trabalho. Você pode incluir vários nomes de
campos separados por espaços.

Exemplo
Ativação da área de trabalho
Crie uma área de trabalho chamada Margem_estoque com dois campos calculados da tabela Metaphor_
Inventário_2002. Ative a área de trabalho para que os campos sejam disponibilizados na tabela Estoque:

OPEN Metaphor_Inventory_2002
SAVE WORKSPACE Margem_estoque Margem_unitária_bruta Percentual_margem_unitária
OPEN Estoque
ACTIVATE WORKSPACE Margem_estoque OK

Observações
Nomes de campos usados para criar campos calculados
devem corresponder
Os nomes de todos os campos usados em expressões que criam um campo calculado salvo em uma área
de trabalho devem corresponder aos nomes dos campos na tabela que usa a área de trabalho.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 417 de 966


Comandos

Por exemplo, se uma área de trabalho contiver o campo calculado Valor=Preço_venda*Quantidade, a


tabela ativa deverá conter também os campos Preço_venda e Quantidade.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 418 de 966


Comandos

Comando SEEK
Pesquisa um campo de caracteres indexado para encontrar o primeiro valor correspondente à expressão
de caracteres ou cadeia de caracteres especificada.

Sintaxe
SEEK expressão_de_pesquisa

Parâmetros
Nome Descrição

expressão_de_pesquisa A expressão de caracteres que deve ser pesquisada.


Você pode usar qualquer expressão de caracteres válida, uma variável de caracteres ou
uma cadeia entre aspas. expressão_de_pesquisa diferencia maiúsculas de minúsculas
e pode incluir espaços à esquerda, que são tratados como caracteres.

Exemplos
Localizar o primeiro valor em um campo que corresponde a uma variável de
caracteres
O campo Numero_Cartao foi definido como um campo de caracteres e é indexado em ordem crescente.
O exemplo abaixo localiza o primeiro valor no campo que corresponde exatamente ou inicia com o valor
contido na variável v_num_cartão.

INDEX ON Numero_Cartao TO "NumCartao" OPEN


SET INDEX TO "NumCartao"
SEEK v_num_cartão

Localizar o primeiro valor em um campo que corresponde a uma cadeia de


caracteres
O campo Numero_Cartao foi definido como um campo de caracteres e é indexado em ordem crescente.
O exemplo abaixo localiza o primeiro valor no campo que corresponde exatamente ou inicia com a literal de
caracteres "AB-123":

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 419 de 966


Comandos

INDEX ON Numero_Cartao TO "NumCartao" OPEN


SET INDEX TO "NumCartao"
SEEK "AB-123"

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda
do Analytics.

Como funciona?
Utilize o comando SEEK para avançar diretamente para o primeiro registro em uma tabela contendo a
search_expression especificada no campo de caracteres indexado.
l Se expressão_de_pesquisa for encontrada:, o primeiro registro correspondente na tabela será
selecionado.
l Se a expressão de pesquisa não for encontrada:, será exibida a mensagem "Nenhum índice cor-
responde à chave" e a tabela será posicionada no primeiro registro com um valor maior que a
expressão pesquisada.
Se não há valores no campo indexado maiores que a expressão pesquisada, a tabela é posi-
cionada no primeiro registro.

Índice requerido
Para usar SEEK para pesquisar um campo de caracteres, é preciso antes indexar o campo em ordem
crescente. Se vários campos de caracteres forem classificados em ordem crescente, apenas o primeiro
campo especificado no índice será pesquisado.
SEEK não pode ser usado para pesquisar campos indexados que não são de caracteres ou campos de
caracteres indexados em ordem decrescente.

Correspondência parcial suportada


A correspondência parcial é permitida. A expressão de pesquisa o pode estar contida em um valor mais
longo no campo indexado. Porém, a expressão pesquisada deve aparecer no início do campo para cons-
tituir uma correspondência.
O comando SEEK não é afetado pela opção Comparações exatas de caractere (SET EXACT
ON/OFF).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 420 de 966


Comandos

Comando SEQUENCE
Determina se um ou mais campos em uma tabela do Analytics estão em ordem sequencial e identifica itens
fora de sequência.

Sintaxe
SEQUENCE <ON> {<FIELDS> campo <D> <...n>|<FIELDS> ALL} <UNFORMATTED>
<ERRORLIMIT n> <IF teste> <WHILE teste> <FIRST intervalo|NEXT intervalo> <TO
{SCREEN|nome_arquivo|PRINT}> <APPEND> <HEADER texto_cabeçalho> <FOOTER texto_
rodapé> <PRESORT> <LOCAL> <ISOLOCALE código_local>

Parâmetros
Nome Descrição

ON FIELDS campo D Os campos ou expressões que devem ser verificados quanto a ordem sequencial. Espe-
<...n> | FIELDS ALL cifique ALL para verificar todos os campos da tabela do Analytics.
Inclua D para ordenar o campo-chave em ordem decrescente. A ordem de classificação-
padrão é crescente.

UNFORMATTED Suprime os cabeçalhos e as quebras de página quando os resultados são enviados a


um arquivo.
opcional

ERRORLIMIT n O número de erros permitidos antes de terminar o comando. O valor padrão é 10.
opcional

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes em
uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 421 de 966


Comandos

Nome Descrição

intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número de
registros especificado
opcional o NEXT: iniciar o processamento a partir do registro selecionado no momento até alcan-
çar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

TO SCREEN | nome_ A localização para onde enviar os resultados do comando:


arquivo | PRINT o SCREEN: exibe os resultados na área de exibição do Analytics
opcional o nome_arquivo: salva os resultados em um arquivo
Especifique nome_arquivo como uma cadeia entre aspas com uma extensão de
arquivo apropriada. Por exemplo: TO "Saída.TXT"
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma pasta
diferente já existente:
l TO "C:\Saída.TXT"
l TO "Resultados\Saída.TXT"
o PRINT: envia os resultados para a impressora padrão

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional Nota
Você deve garantir que a estrutura da saída do comando e o arquivo exis-
tente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua estru-
tura. Se a estrutura da saída e do arquivo existente não corresponderem,
o resultado poderá ser dados misturados, ausentes ou incorretos.

HEADER texto_cabeçalho O texto a ser inserido na parte superior de cada página de um relatório.
opcional texto_cabeçalho deve ser especificado como uma cadeia entre aspas. O valor substitui a
variável de sistema HEADER do Analytics.

FOOTER texto_rodapé O texto a ser inserido na parte inferior de cada página de um relatório.
opcional texto_rodapé deve ser especificado como uma cadeia entre aspas. O valor substitui a
variável de sistema FOOTER do Analytics.

PRESORT Ordena a tabela pelo campo-chave antes de executar o comando.


opcional Nota
Você não pode usar PRESORT dentro do comando GROUP.

LOCAL Salva o arquivo de saída no mesmo local que o projeto do Analytics.


opcional

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 422 de 966


Comandos

Nome Descrição

Nota
Aplicável apenas na execução de um comando em uma tabela de ser-
vidor com um campo de saída que é uma tabela do Analytics.

ISOLOCALE código_local Nota


opcional Aplicável apenas à edição Unicode do Analytics.
A localidade do sistema no formato idioma_ país. Por exemplo, para usar francês cana-
dense, insira fr_ca.
Use os códigos a seguir:
o idioma: código de idioma padrão ISO 639
o país: código de país padrão ISO 3166
Se você não especificar um código de país, será usado o país padrão do idioma.
Se você não usar ISOLOCALE, a localidade do sistema padrão será usada.

Variáveis de saída do Analytics


Nome Contém

WRITEn O número total de erros de sequência identificados pelo comando.

Exemplos
Teste para IDs e datas de contração de funcionários fora de sequência
Grave todos os erros de sequência identificados nos campos IDFuncionário e DataContratação em um
arquivo de texto:

SEQUENCE ON IDFuncionário DataContratação ERRORLIMIT 10 TO "ErrosSequência.txt"

Observações
Uso de SEQUENCE dentro de um GROUP
Se o comando SEQUENCE for usado dentro de um comando GROUP, o comando será executado para
evitar interferência no processamento do grupo, mas nenhum erro de sequência de dados será relatado.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 423 de 966


Comandos

Comando SET
Define uma opção configurável do Analytics.
Nota
O comando SET define uma opção do Analytics válida apenas durante a sessão do Analy-
tics. Esse comportamento se aplica sempre que o comando SET for usado na linha de
comando do Analytics ou em um script do Analytics.
Para definir opções do Analytics para que persistam entre sessões do Analytics, você
deve usar a caixa de diálogo Opções . Para obter mais informações, consulte Configurar
as opções do ACL.

Sintaxe
Sintaxe Observações e comentários

SET BEEP valor


SET BEEP 2

Especifica o número de beeps a tocar quando o processamento de um comando é con-


cluído.
O parâmetro valor deve estar entre 1 e 255.

SET CENTURY valor


SET CENTURY 40

Especifica o ano do início do século para anos com dois dígitos.


O parâmetro valor deve estar entre 0 e 99.
Se o valor de início do século é definido como 40, os anos de dois dígitos de 40 a 99
são interpretados como 1940 a 1999 e os anos de dois dígitos 00 a 39 são inter-
pretados como 2000 a 2039.

SET CLEAN {ON | OFF}


SET CLEAN ON

Quando esta opção está ativada, o Analytics substitui os dados de caracteres inválidos
por brancos e os dados numéricos por zeros.

SET DATE <TO> {0 | 1 | 2 |


cadeia} SET DATE "YYYY/MM/DD"

Especifica como o Analytics exibe datas e a parte de data de datahoras em exibições,


relatórios e arquivos exportados.
o SET DATE 0 define a data no formato MM/DD/AAAA
o SET DATE 1 define a data no formato MM/DD/AA

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 424 de 966


Comandos

Sintaxe Observações e comentários

o SET DATE 2 define a data no formato DD/MM/AA


o SET DATE "<cadeia>" define a data no formato personalizado definido
Ao usar o comando SET DATE para especificar formatos de hora personalizados,
você deve usar 'D' para dia, 'M' para mês e 'Y' para ano, mesmo se caracteres de for-
mato de data diferentes tenham sido especificados na caixa de diálogo Opções.
Por exemplo:

SET DATE "DD MMM YYYY"

SET DELETE_FILE {ON |


OFF} SET DELETE_FILE ON

Configuração padrão: OFF


Especifique ON para excluir automaticamente o arquivo de dados associado quando
você excluir um layout de tabela.
Especifique OFF para evitar que o arquivo de dados associado seja excluído quando
você excluir um layout de tabela.
Você deve incluir o sublinhado ( _ ) em DELETE_FILE.
A execução de SET DELETE_FILE, sem qualquer parâmetro, na linha de comando
exibe o estado de ativação de DELETE_FILE.
Cuidado
Tome cuidado ao ativar essa opção. Pode ser um arquivo de dados ori-
ginal o que será excluído junto com a tabela.
Os arquivos de dados são excluídos imediatamente. Esses arquivos
excluídos não são enviados para a lixeira do Windows.

SET DESIGNATION valor


SET DESIGNATION "Produzido por ABC Corporation"

O parâmetro valor é uma cadeia entre aspas que especifica o rótulo a ser exibido no
topo de cada página impressa.

SET ECHO {ON | NONE}


SET ECHO NONE
Comandos e resultados COM do em scripts executados do log
SET ECHO ON

Especifique NONE para interromper a gravação de comandos e resultados de scripts


no log de comandos do Analytics. Especifique ON para retomar a gravação.
O comando SET ECHO se aplica apenas ao registro de comandos e resultados em
scripts. Os comandos executados por meio da interface do usuário ou emitidos na
linha de comando, e seus resultados, são sempre registrados, independentemente da
definição de ECHO.
Você pode executar o comando SET ECHO NONE/ON em um script ou da linha de
comando, mas, onde quer que o comando seja executado, apenas o registro de

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 425 de 966


Comandos

Sintaxe Observações e comentários

comandos e resultados em scripts é afetado.


A execução de SET ECHO, sem qualquer parâmetro, na linha de comando exibe o
estado de ativação do registro de comandos e resultados em scripts.

SET EXACT {ON | OFF}


SET EXACT ON

Configuração padrão: OFF


Controla como o Analytics compara campos de caracteres, expressões ou valores lite-
rais.
Nota
Os espaços em branco são tratados como caracteres.
o SET EXACT está OFF: o Analytics usa a cadeia mais curta para comparar duas
cadeias de comprimento diferente. A comparação começa com os caracteres à
esquerda e segue para a direita.
Por exemplo, "AB" é igual a "AB", e também é considerada igual a "ABC".
o SET EXACT está ON: as cadeias comparadas devem ser idênticas para haver uma
correspondência. Na comparação de duas cadeias de tamanho diferente, o Analy-
tics usa a cadeia mais curta com espaços acrescentados à direita para igualar o
tamanho da cadeia mais longa.
Por exemplo, "AB" é igual a "AB", mas não é considerada igual a "ABC".
Para obter mais exemplos mostrando SET EXACT, consulte "Comparações exatas de
caractere" na guia Tabela (caixa de diálogo Opções).
Você pode usar a função ALLTRIM( ) para remover espaços em branco à esquerda e à
direita e garantir que apenas os caracteres de texto e os espaços internos sejam com-
parados.
Por exemplo: ALLTRIM(" AB") = ALLTRIM("AB") será verdadeiro se a função ALLTRIM( 
) for usada para os valores; caso contrário, será falso.
Alguns comandos e funções do Analytics são afetados pelo SET EXACT e outros não:

Afetado Não afetado

o Comando LOCATE o Comando JOIN


o Função MATCH( ) o Comando DEFINE RELATION
o Função BETWEEN( ) o Função FIND( )
o Função FINDMULTI( )

SET FILTER <TO> {teste |


nome_filtro} SET FILTER TO NoProd = "070104347"

SET FILTER TO FiltroNoProd

Cria um filtro global (filtro de exibição) na tabela aberta e especifica um teste lógico ou

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 426 de 966


Comandos

Sintaxe Observações e comentários

o nome de um filtro salvo existente.


A execução de SET FILTER, sem qualquer parâmetro, remove todos os filtros da tabela
aberta.

SET FOLDER caminho da Especifica a pasta do projeto do Analytics na guia Visão geral para a saída do
pasta comando. A pasta de saída padrão é a pasta que contém a tabela ativa.
Este é um caminho no estilo DOS usando o formato /nome_pasta/nome_subpasta,
onde a barra (/) inicial indica o nível raiz na guia Visão geral. Você deve especificar um
caminho de arquivo completo.
o SET FOLDER /Tabelas/Resultados define a pasta de saída com o a subpasta Resul-
tados. A subpasta Resultados será criada, caso não exista.
o SET FOLDER / define a pasta de saída no nível de raiz na guia Visão geral
o SET FOLDER define a pasta de saída para o padrão (a pasta que contém a tabela
ativa)
A pasta de saída permanece como foi definida, até que seja redefinida ou até que o
projeto seja fechado. Após a abertura do projeto, a pasta de saída irá reverter o padrão
da pasta da tabela ativa.

SET FORMAT {ON | OFF}


SET FORMAT ON

Configuração padrão: OFF


Se você usar o parâmetro ON, o Analytics exibirá automaticamente o layout de tabela
atual e as definições dos campos calculados quando uma nova tabela for aberta. Os
resultados aparecem no log de comando.

SET FUZZYGROUPSIZE
<TO> num SET FUZZYGROUPSIZE TO 10

Especifica o número máximo de itens que podem aparecer no grupo de duplicatas par-
ciais nos resultados de saída. O parâmetro num não pode ser menor que 2 ou maior
que 100. O tamanho padrão é 20. O tamanho especificado permanece em vigor
durante a sessão do Analytics.

SET GRAPH tipo


SET GRAPH LINE

Especifica o tipo de gráfico a ser usado para todos os gráficos gerados sub-
sequentemente. A execução de comandos deve ser compatível com o tipo de gráfico
especificado. Por exemplo, o comando BENFORD não pode produzir um gráfico
PIE2D ou PIE3D. Se um tipo de gráfico incompatível for especificado, o tipo de gráfico
padrão será usado (BAR3D).
O parâmetro tipo deve ser um dos seguintes:
o PIE2D
o PIE3D
o BAR2D

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 427 de 966


Comandos

Sintaxe Observações e comentários

o BAR3D – este é o tipo de gráfico padrão.


o STACKED2D
o STACKED3D
o LAYERED
o LINE
o BENFORD – combina gráfico de barras 2D e gráfico de linhas 2D.

SET HISTORY <TO> valor


SET HISTORY TO 50

Especifica o número máximo de entradas do histórico da tabela para manter. O parâ-


metro valor deve estar entre 1 e 100.

SET INDEX <TO> valor


SET INDEX TO "CódigoCliente.INX"

Especifica o índice a ser aplicado à tabela ativa.

SET LEARN <TO> script


SET LEARN TO RegInventário

Especifica o nome do arquivo de script que o Gravador de Script usa para gravar
comandos.

SET LOG <TO> {arquivo |


OFF} SET LOG TO "análise.log"

SET LOG OFF

O primeiro comando ativa o registro em log no log especificado. O log especificado


será criado, se não existir.
O segundo comando restaura o registro ao log de comandos original do Analytics.
Nota
O comprimento máximo do caminho do projeto do Analytics e do nome
do log é 259 caracteres, incluindo o caminho do arquivo, o nome do log
e a extensão do arquivo (.log).

SET LOOP <TO> num


SET LOOP TO 20

Especifica o número máximo de loops executados pelo comando LOOP antes que o
comando seja encerrado.
O intervalo de num vai de 0 a 32767, onde 0 desliga o teste de loop.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 428 de 966


Comandos

Sintaxe Observações e comentários

SET MARGIN lado <TO>


valor SET MARGIN TOP TO 100

Especifique LEFT, RIGHT, TOP ou BOTTOM do parâmetro lado. Se você quiser alterar
a margem de todos os lados, será necessário especificar cada margem com um
comando SET MARGIN separado. A especificação de um valor de 100 cria uma mar-
gem de 1 polegada.

SET MATH <TO> {FIRST |


LAST | MIN | MAX} SET MATH TO MIN

Configuração padrão: MAX


Especifica como a precisão decimal funciona quando dois operandos são avaliados
em uma expressão numérica.
o FIRST: use o número de casas decimais do primeiro operando em um par de ope-
randos
o LAST: use o número de casas decimais do último operando em um par de ope-
randos
o MIN: use o número mínimo de casas decimais em um par de operandos
o MAX: use o número máximo de casas decimais em um par de operandos
Em expressões com vários operandos, a configuração SET MATH funciona com base
em pares, aplicando a configuração especificada a cada par de operandos, arre-
dondando conforme a necessidade, à medida que os operandos são avaliados na
ordem matemática padrão (parênteses, ordem, multiplicação e divisão, adição e sub-
tração).
Se a configuração SET MATH reduzir o número de casas decimais em um resultado,
este será arredondado e não truncado.
Para obter mais informações, consulte Controlar arredondamentos em expressões
numéricas.
Nota
Não é possível usar SET MATH enquanto uma tabela do Analytics esti-
ver aberta.

SET MONTHS <TO> Especifica as abreviações de três caracteres para nomes do mês. O parâmetro cadeia
cadeia é a lista de abreviações de meses separadas por vírgula.

SET NOTIFYFAILSTOP
{ON | OFF} SET NOTIFYFAILSTOP ON

Configuração padrão: OFF


o NOTIFYFAILSTOP está OFF: o Analytics permite a continuidade do script, mesmo
em caso de falha de um comando NOTIFY no script.
o NOTIFYFAILSTOP está ON: o Analytics interrompe o processamento do script e
grava uma mensagem no log em caso de falha de um comando NOTIFY no script. O
script é interrompido após a falha inicial ou após a quantidade especificada em
NOTIFYRETRYATTEMPTS, caso nenhuma das tentativas obtenha sucesso.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 429 de 966


Comandos

Sintaxe Observações e comentários

SET
NOTIFYRETRYATTEMPTS SET NOTIFYRETRYATTEMPTS TO 10
<TO> num
Especifica o número de vezes que o comando NOTIFY deve tentar enviar um e-mail se
a tentativa inicial falhar. Insira um número de 0 a 255. Caso seja usado 0, nenhuma ten-
tativa adicional é feita após a primeira falha. O valor padrão é 5.
Um possível motivo para que o comando NOTIFY falhe ao enviar um e-mail é a indis-
ponibilidade do servidor de e-mail.

SET
NOTIFYRETRYINTERVAL SET NOTIFYRETRYINTERVAL TO 30
<TO> segundos
Especifica a quantidade de tempo em segundos entre NOTIFYRETRYATTEMPTS.
Insira um número entre 1 e 255. O valor padrão é 10 segundos.

SET ORDER <TO> valores Especifica a sequência de ordenação dos campos de caractere. O parâmetro valores
lista todos os caracteres da ordem de classificação selecionada.

SET OVERFLOW {ON |


OFF} SET OVERFLOW OFF

Configuração padrão: ON
Se OFF for especificado, o Analytics não interromperá o processamento quando ocor-
rer um erro de estouro.

SET PASSWORD num


<TO> cadeia SET PASSWORD 1 TO "senha123"

Usado para criar uma definição de senha e especificar um valor de senha para exe-
cução autônoma do script.
O parâmetro num identifica unicamente a definição de senha e deve ser um valor entre
1 e 10. Especifique o valor da senha como uma cadeia entre aspas.

SET PERIODS <TO> valor


<;...n> SET PERIODS TO "0,30,90,180,10000"

Especifica os períodos de vencimento padrão usados pelo comando AGE.

SET PICTURE formato


SET PICTURE "(9.999.999,99)"

Especifica a formatação padrão de valores numéricos.

SET READAHEAD <TO> Especifica o tamanho da leitura do bloco de dados. Somente modifique essa con-
tamanho figuração se aconselhado pelo Suporte.

SET RETRY <TO> num


SET RETRY TO 50
SET RETRYIMPORT <TO>

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 430 de 966


Comandos

Sintaxe Observações e comentários

num Especifica o número de vezes que o Analytics tenta importar ou exportar dados se a
tentativa inicial falhar. Insira um número de 0 a 255. Caso seja usado 0, nenhuma ten-
tativa adicional é feita após a primeira falha. O padrão é 0.
Não há um período de espera entre as novas tentativas. Cada tentativa sucessiva é
feita imediatamente após a falha precedente.
A capacidade de especificar novas tentativas é útil para fazer a conexão a bancos de
dados ou serviços de dados de nuvem, que podem estar temporariamente indis-
poníveis.
Aplicável aos seguintes comandos:
o ACCESSDATA
o IMPORT GRCPROJECT
o IMPORT GRCRESULTS
o IMPORT SAP
o RETRIEVE
o REFRESH
(para tabelas criadas inicialmente usando apenas ACCESSDATA ou IMPORT SAP)
o EXPORT . . . ACLGRC
(exportar para o Resultados do HighBond)
Nota
SET RETRYIMPORT é mantido para compatibilidade retroativa.
SET RETRYIMPORT e SET RETRY executam ações idênticas.

SET SAFETY {ON | OFF}


SET SAFETY OFF

Especifique ON para exibir uma caixa de diálogo de confirmação ao sobrescrever os


seguintes itens:
o campos nos layouts de tabela
o Tabelas do Analytics
o arquivos, incluindo arquivos de dados do Analytics (.fil)
Especifique OFF para evitar a exibição da caixa de diálogo.
A especificação de SET SAFETY sem qualquer parâmetro na linha de comando exibe
o estado de ativação de SAFETY.

SET SEPARATORS <TO>


valores SET SEPARATORS TO ",.;"

Especifica os separadores de casas decimais, milhares e de lista usados pelo Analy-


tics. Os valores SET SEPARATORS devem ter caracteres separadores válidos na segu-
inte ordem:
o casa decimal (ponto, vírgula ou espaço)
o milhares (ponto, vírgula ou espaço)
o lista (ponto e vírgula, vírgula ou espaço)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 431 de 966


Comandos

Sintaxe Observações e comentários

Entre os três separadores, o separador de casas decimais deve ser exclusivo. Você
deve especificar todos os três separadores ao usar o comando. O separador de lista é
usado principalmente para separar os parâmetros de função.

SET SESSION <nome_ses-


são> SET SESSION

SET SESSION "Análise"

Cria uma nova sessão no log de comandos do Analytics. A sessão é identificada pelo
carimbo de data/hora atual.
O nome_sessão opcional permite acrescentar até 30 caracteres de informações de
identificação adicionais. Aspas são permitidas, mas não obrigatórias.

SET SORTMEMORY num


SET SORTMEMORY 800

Especifica a memória máxima alocada para processos de classificação e indexação. O


parâmetro num deve ser um valor de 0 a 2.000 megabytes (MB), a ser inserido em
incrementos de 20 MB. Se a memória de classificação for definida como 0, o Analytics
usará a memória disponível no momento.

SET SUPPRESSTIME {ON


| OFF} SET SUPPRESSTIME ON

Configuração padrão: OFF


Para uso apenas na definição de uma tabela do Analytics que use uma fonte de dados
ODBC (comando IMPORT ODBC) ou acesso direto a um banco de dados (comando
DEFINE TABLE DB).
Se você usa o parâmetro ON, o Analytics suprime a parte de hora de valores datahora
na definição da tabela. Por exemplo, 20141231 235959 é lido, exibido e processado
subsequentemente como 20141231.
A inclusão desse comando em um script do Analytics anterior a datahora (anterior à
versão v.10.0) que assume que a parte de hora dos dados de data hora será truncada
permite que o script execute na versão do Analytics com suporte a datahora.
O Analytics suprime a parte de hora usando apenas a parte de data do formato de data-
hora. Os dados de hora continuam presentes no arquivo .fil ou na tabela do banco de
dados. Se necessário, você pode redefinir o campo ou definir um novo campo para
incluir a parte de hora dos dados.
Se SET SUPPRESSTIME = OFF, as tabelas do Analytics que usam ODBC ou acesso
direto ao banco de dados incluem valores completos de datahora.
Você pode executar o comando SET SUPPRESSTIME ON/OFF em um script ou da
linha de comando.
A execução de SET SAFETY, sem qualquer parâmetro, na linha de comando exibe o
estado de ativação da supressão da parte de hora dos dados de datahora.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 432 de 966


Comandos

Sintaxe Observações e comentários

SET SUPPRESSXML {ON


| OFF} SET SUPPRESSXML ON

Configuração padrão: OFF


Especifica que a saída do comando é em texto simples, e não texto formatado.

SET TEST {ON | OFF}


SET TEST ON

Especifica se os resultados dos testes IF, WHILE, FOR e NEXT associados com os
comandos GROUP devem ser gravados no log.

SET TIME <TO> cadeia


SET TIME "hh:mm:ss PM"

Especifica como o Analytics exibe a parte de hora de datahoras e valores de hora inde-
pendentes em exibições, relatórios e arquivos exportados.
Ao usar o comando SET TIME para especificar formatos de hora personalizados, você
deve usar 'h' para hora, 'm' para minuto e 's' para segundo, mesmo se caracteres de for-
mato de hora diferentes tenham sido especificados na caixa de diálogo Opções Por
exemplo:

SET TIME TO "hh:mm"

SET UTCZONE {ON | OFF}


SET UTCZONE OFF

Configuração padrão: ON
o UTCZONE está ON: o Analytics altera a exibição de horas locais com um ajuste de
UTC para o UTC equivalente à hora local. (UTC é o Tempo Universal Coordenado,
o tempo em vigor em zero graus de longitude.)
o UTCZONE está OFF: o Analytics exibe horas locais com um ajuste de UTC, sem
convertê-las ao UTC.
Por exemplo:
o 01 Jan 2015 04:59:59 (SET UTCZONE ON)
o 31 Dez 2014 23:59:59-05:00 (SET UTCZONE OFF)
A conversão de hora local para UTC é apenas para fins de exibição e não afeta os
dados originais. Você pode alternar entre os dois modos de exibição sempre que qui-
ser.

SET VERIFY {ON | OFF |


BLANK} SET VERIFY ON

Quando ON for especificado, o Analytics automaticamente verificará o conteúdo de um


campo de dados correspondente ao tipo de dados do campo no layout da tabela, sem-
pre que uma tabela for aberta. Quando BLANK for especificado, o Analytics substituirá
os dados de caracteres inválidos por brancos e os dados numéricos inválidos com

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 433 de 966


Comandos

Sintaxe Observações e comentários

zeros, além da verificação descrita para o parâmetro ON.

SET WIDTH <TO> carac-


teres SET WIDTH TO 20

Especifica a largura da exibição padrão em caracteres para campos numéricos cal-


culados, ou expressões numéricas ad hoc, quando o Analytics não pode determinar a
largura máxima.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 434 de 966


Comandos

Comando SIZE
Calcula um tamanho da amostra e um intervalo de amostragem estatisticamente válidos para amostragem
registro ou por unidades monetárias.
Amostragem por registro Amostragem por unidades monetárias

Sintaxe
SIZE RECORD CONFIDENCE nível_de_confiabilidade POPULATION tamanho_da_população
PRECISION taxa_permitida <ERRORLIMIT taxa_esperada> <TO {SCREEN|nome_arquivo}>

Parâmetros
Nota
Não inclua separadores de milhares ou símbolos de porcentagem ao especificar valores.

Nome Descrição

RECORD Calcule o tamanho da amostra para amostragem por registro.


ATTRIBUTE é um parâmetro descontinuado que faz o mesmo que RECORD.

CONFIDENCE nível_de_ O nível de confiabilidade desejado de que a amostra resultante será representativa de
confiabilidade toda a população.
Por exemplo, 95 significa que você quer ter confiança de que 95% das vezes a amostra
será realmente representativa. A confiabilidade é o complemento do "risco de amos-
tragem". Um nível de confiabilidade de 95% é o mesmo que um risco de amostragem de
5%.

POPULATION tamanho_ O número de registros na tabela amostrada.


da_população

PRECISION taxa_per- A taxa de desvio permitida, que é a taxa máxima de desvio permitida de um controle
mitida especificado para que o controle continue sendo considerado como eficaz.
Por exemplo, 5 significa que a taxa de desvio deve ser maior que 5% para que o con-
trole seja considerado como não eficaz.

ERRORLIMIT taxa_espe- A taxa de desvio populacional esperada. Esta é a taxa de desvio esperada de um con-
rada trole especificado.
opcional Por exemplo, 1 significa que você espera que a taxa de desvio seja 1%.
Se você omitir esse parâmetro, será usada uma taxa de desvio esperada para a popu-
lação de 0%.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 435 de 966


Comandos

Nome Descrição

TO SCREEN | nome_ A localização para onde enviar os resultados do comando:


arquivo o SCREEN: exibe os resultados na área de exibição do Analytics
o nome_arquivo: salva os resultados em um arquivo
Especifique nome_arquivo como uma cadeia entre aspas com uma extensão de
arquivo apropriada. Por exemplo: TO "Saída.TXT"
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma pasta
diferente já existente:
l TO "C:\Saída.TXT"
l TO "Resultados\Saída.TXT"

Variáveis de saída do Analytics


Nome Contém

SAMPINTn O intervalo de amostra necessário calculado pelo comando.

SAMPSIZEn O tamanho de amostra necessário calculado pelo comando.

Exemplos
Cálculo do tamanho e intervalo necessários para uma amostragem por
registro
Você decidiu usar amostragem por registro para estimar a taxa de desvio de um controle prescrito em
uma conta que contém faturas.
Antes de obter a amostra, você deve calcular o tamanho de amostra estatisticamente válido e o intervalo
da amostragem.
Você quer ter confiança de que, 95% das vezes, a amostra obtida pelo Analytics será representativa da
população como um todo.
Usando o nível de confiabilidade especificado, o exemplo abaixo calcula um tamanho de amostra de 95 e
um valor de intervalo de amostra de 8,12 a serem usados para obter uma amostra por registro:

SIZE RECORD CONFIDENCE 95 POPULATION 772 PRECISION 5 ERRORLIMIT 1 TO SCREEN

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 436 de 966


Comandos

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Sintaxe
SIZE MONETARY CONFIDENCE nível_de_confiabilidade POPULATION tamanho_da_população
MATERIALITY afirmação_incorreta_permitida <ERRORLIMIT afirmação_incorreta_esperada> <TO
{SCREEN|nome_arquivo}>

Parâmetros
Nota
Não inclua separadores de milhares ou símbolos de porcentagem ao especificar valores.

Nome Descrição

MONETARY Calcule o tamanho da amostra para amostragem por unidades monetárias.

CONFIDENCE nível_de_ O nível de confiabilidade desejado de que a amostra resultante será representativa de
confiabilidade toda a população.
Por exemplo, 95 significa que você quer ter confiança de que 95% das vezes a amostra
será realmente representativa. A confiabilidade é o complemento do "risco de amos-
tragem". Um nível de confiabilidade de 95% é o mesmo que um risco de amostragem de
5%.

POPULATION tamanho_ O valor total absoluto do campo de amostra numérico.


da_população

MATERIALITY afirmação_ A afirmação incorreta permitida, que é o valor total máximo de afirmação incorreta que
incorreta_permitida pode ocorrer no campo de amostra sem que a afirmação incorreta seja considerada rele-
vante.
Por exemplo, 29000 significa que o valor total de afirmação incorreta deve ser maior que
US$ 29.000 para que a afirmação incorreta seja considerada relevante.

ERRORLIMIT afirmação_ A afirmação incorreta esperada. Este é o valor total de afirmações incorretas esperado
incorreta_esperada no campo de amostra.
opcional Por exemplo, 5800 significa que você espera que o valor total de afirmações incorretas
será US$ 5.800.
Se você omitir esse parâmetro, será usada uma afirmação incorreta esperada de US$ 

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 437 de 966


Comandos

Nome Descrição

0,00.

TO SCREEN | nome_ A localização para onde enviar os resultados do comando:


arquivo o SCREEN: exibe os resultados na área de exibição do Analytics
o nome_arquivo: salva os resultados em um arquivo
Especifique nome_arquivo como uma cadeia entre aspas com uma extensão de
arquivo apropriada. Por exemplo: TO "Saída.TXT"
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma pasta
diferente já existente:
l TO "C:\Saída.TXT"
l TO "Resultados\Saída.TXT"

Variáveis de saída do Analytics


Nome Contém

SAMPINTn O intervalo de amostra necessário calculado pelo comando.

SAMPSIZEn O tamanho de amostra necessário calculado pelo comando.

Exemplos
Cálculo do tamanho e intervalo necessários para uma amostragem por uni-
dades monetárias
Você decidiu usar a amostragem por unidades monetárias para estimar o valor total de afirmações incor-
retas monetárias em uma conta que contém faturas.
Antes de obter a amostra, você deve calcular o tamanho de amostra estatisticamente válido e o intervalo
da amostragem.
Você quer ter confiança de que, 95% das vezes, a amostra obtida pelo Analytics será representativa da
população como um todo.
Usando o nível de confiabilidade especificado, o exemplo abaixo calcula um tamanho de amostra de 93 e
um valor de intervalo de amostra de 6283,33 a serem usados para obter uma amostragem por unidades
monetárias:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 438 de 966


Comandos

SIZE MONETARY CONFIDENCE 95 POPULATION 585674,41 MATERIALITY 29000 ERRORLIMIT


5800 TO SCREEN

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 439 de 966


Comandos

Comando SORT
Ordena registros em uma tabela do Analytics em ordem sequencial crescente ou decrescente de acordo
com um ou mais campos-chave especificados. Os resultados são enviados a uma tabela nova e fisi-
camente reordenada do Analytics.

Sintaxe
SORT ON {campo_chave <D> <...n>|ALL} <FIELDS nome_campo <AS nome_exibicao>
<...n>|FIELDS ALL> TO nome_tabela <IF teste> <WHILE teste> <FIRST intervalo|NEXT intervalo>
<APPEND> <OPEN> <ISOLOCALE código_local>

Parâmetros
Nome Descrição

ON campo_chave D <...n> O campo ou campos-chave, ou a expressão, que devem ser utilizados para a orde-
| ALL nação.
Você pode ordenar por qualquer tipo de campo, incluindo campos calculados e
expressões ad hoc, independentemente do tipo de dados.
o campo_chave: use o campo ou os campos especificados
Se você ordenar por mais de um campo, criará uma ordem aninhada na tabela de
saída. A ordem do aninhamento seguirá a ordem em que os campos são espe-
cificados.
Inclua D para ordenar o campo-chave em ordem decrescente. A ordem de clas-
sificação-padrão é crescente.
o ALL: use todos os campos na tabela
Se você ordena por todos os campos de uma tabela, cria uma ordem aninhada na
tabela de saída. A ordem do aninhamento seguirá a ordem em que os campos apa-
recem no layout da tabela.
Uma ordem de classificação crescente é a única opção para ALL.

FIELDS nome_campo Nota


<...n> | FIELDS ALL
Os campos-chave são incluídos automaticamente na tabela de saída e
opcional não precisam ser especificados usando FIELDS.
Os campos a serem incluídos na saída:
o FIELDS nomes_campos: usar os campos especificados
Os campos são usados na ordem em que são listados.
Converte campos calculados em campos físicos com o tipo de dados apropriado na
tabela destino – ASCII ou Unicode (dependendo da edição do Analytics), ACL (o tipo

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 440 de 966


Comandos

Nome Descrição

de dados numérico nativo), datahora ou lógico. Preenche os campos físicos com os


valores calculados reais.
o FIELDS ALL: usar todos os campos da tabela
Os campos são usados na ordem em que aparecem no layout da tabela.
Converte campos calculados em campos físicos com o tipo de dados apropriado na
tabela destino – ASCII ou Unicode (dependendo da edição do Analytics), ACL (o tipo
de dados numérico nativo), datahora ou lógico. Preenche os campos físicos com os
valores calculados reais.
o omita FIELDS: o registro inteiro é incluído na tabela de saída ordenada: todos os
campos e todas as partes indefinidas do registro
Os campos são usados na ordem em que aparecem no layout da tabela.
Os campos calculados são preservados.
Dica
Se você precisar apenas de uma parte dos dados contidos em um regis-
tro, não inclua todos os campos ou o registro inteiro na tabela de saída
ordenada. Selecione somente os campos de que precisa, o que, na mai-
oria dos casos, acelera o processo de ordenação.

AS nome_exibicao Usado apenas na classificação com FIELDS.


opcional O nome de exibição (título alternativo da coluna) para o campo na exibição na nova
tabela do Analytics. Se você quiser que o nome de exibição seja o mesmo que o nome
do campo ou um nome de exibição já existente na tabela de origem, não use AS.
Especifique nome_exibicao como uma cadeia entre aspas. Utilize um ponto e vírgula
(;) entre palavras se quiser uma quebra de linha no título da coluna.
Nota
O parâmetro AS funciona apenas na geração de uma nova tabela. Se
estiver adicionando a uma tabela existente, os títulos de coluna alter-
nativos na tabela existente prevalecem.

TO nome_tabela A localização para onde enviar os resultados do comando:


o nome_tabela: salva os resultados em uma tabela do Analytics
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o pro-
jeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos,
sem contar a extensão .FIL. O nome pode incluir o caractere de subli-
nhado ( _ ) mas nenhum outro caractere especial e nenhum espaço.
O nome não pode começar com um número.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 441 de 966


Comandos

Nome Descrição

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes
em uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número
opcional de registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até
alcançar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional Nota
Você deve garantir que a estrutura da saída do comando e o arquivo
existente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua
estrutura. Se a estrutura da saída e do arquivo existente não cor-
responderem, o resultado poderá ser dados misturados, ausentes ou
incorretos.

OPEN Abre a tabela e aplica o índice à tabela.


opcional

ISOLOCALE código_local Nota


opcional Aplicável apenas à edição Unicode do Analytics.
A localidade do sistema no formato idioma_ país. Por exemplo, para usar francês cana-
dense, insira fr_ca.
Use os códigos a seguir:
o idioma: código de idioma padrão ISO 639
o país: código de país padrão ISO 3166

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 442 de 966


Comandos

Nome Descrição

Se você não especificar um código de país, será usado o país padrão do idioma.
Se você não usar ISOLOCALE, a localidade do sistema padrão será usada.

Exemplos
Ordenar por um único campo, saída de registros inteiros
Você quer ordenar os registros na tabela de amostra Inventário por número de produto. Os resultados
ordenados são extraídos para uma nova tabela do Analytics, chamada Número_Produto_Inventário.
Registros inteiros são incluídos na tabela de saída:

SORT ON NoProd TO "Número_Produto_Inventário"

Para alternar da ordem de classificação crescente padrão para uma ordem de classificação decrescente,
adicione D após o nome do campo-chave:

SORT ON NoProd D TO "Número_Produto_Inventário"

Ordenar por um único campo, saída de um subconjunto de campos


Você quer ordenar os registros na tabela de amostra Inventário por número de produto. Somente o
campo-chave e os campos não chave especificados são extraídos para uma nova tabela do Analytics cha-
mada Quantidade_Disponível_Inventário.
O terceiro campo não chave, QtdDisp, recebe o nome de exibição Qtd Disponível na tabela de saída:

SORT ON NoProd FIELDS DescProd EstatProd QtdDisp AS "Qtd Disponível" TO "Quantidade_Dis-


ponível_Inventário"

Ordenar por um único campo, saída de todos os campos


Você quer ordenar os registros na tabela de amostra Inventário por número de produto. Todos os campos
são extraídos para uma nova tabela do Analytics, chamada Número_Produto_Inventário.
A diferença entre o uso de FIELDS ALL e a geração do registro inteiro é que FIELDS ALL converte todos
os campos calculados da tabela de origem em campos físicos na tabela de saída e preenche os campos
com os valores calculados atuais:

SORT ON NoProd FIELDS ALL TO "Número_Produto_Inventário"

Ordenar por vários campos (ordem aninhada)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 443 de 966


Comandos

Você quer ordenar os registros na tabela de amostra Inventário por local, em seguida por classe de pro-
duto e, por último, por número de produto. Os resultados ordenados são extraídos para uma nova tabela
do Analytics, chamada Número_Classe_Local_Inventário.

SORT ON Local ClasseProd NoProd TO "Número_Classe_Local_Inventário"

Ordenar usando campos relacionados


Você quer ordenar os registros na tabela de amostra Trans_Cp pelos seguintes campos:
l estado do fornecedor (tabela Fornecedor relacionada)
l cidade do fornecedor (tabela Fornecedor relacionada)
l número do fornecedor (tabela Trans_Cp)
Todos os três campos-chave e os campos não chave especificados, incluindo o campo relacionado For-
necedor.Nome_Fornecedor, são extraídos para uma nova tabela do Analytics chamada Trans_Cp_
Estado_Cidade:

SORT ON Fornecedor.Estado_Fornecedor Fornecedor.Cidade_Fornecedor No_Fornecedor


FIELDS Fornecedor.Nome_Fornecedor No_Fatura Data_Fatura Valor_Fatura No_Prod Quantidade
Custo_Unidade TO "Trans_Cp_Estado_Cidade"

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda
do Analytics.

Ordenação por campos relacionados


Você pode ordenar por campos relacionados e incluí-los como campos não chave em uma tabela de
saída ordenada. Para fazer referência a um campo relacionado no comando SORT, especifique nome da
tabela filha.nome do campo.

Arquivos de dados de comprimento fixo vs. comprimento


variável
O comando SORT funciona em arquivos de dados de comprimento fixo e variável.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 444 de 966


Comandos

Comando STATISTICS
Calcula estatísticas para um ou mais campos numéricos ou datahora em uma tabela do Analytics.

Sintaxe
STATISTICS <ON> {campo <...n>|ALL} <STD> <MODMEDQ> <NUMBER n> <TO
{SCREEN|nome_arquivo|PRINT}> <IF teste> <WHILE teste> <FIRST intervalo|NEXT intervalo>
<APPEND>

Parâmetros
Nome Descrição

ON campo <...n> | ALL Especifique um ou mais campos numéricos ou datahora para gerar as estatísticas, ou
especifique ALL para gerar estatísticas de todos os campos datahora na tabela do Analy-
tics.

STD Calcula o desvio padrão dos campos especificados, além de outras estatísticas.
opcional

MODMEDQ Calcula os valores de moda, mediana, primeiro quartil e terceiro quartil dos campos
especificados, além de outras estatísticas.
opcional

NUMBER n O número de valores altos e baixos a reter durante o processamento. O valor padrão é 5.
opcional

TO SCREEN | nome_ A localização para onde enviar os resultados do comando:


arquivo | PRINT o SCREEN: exibe os resultados na área de exibição do Analytics
opcional o nome_arquivo: salva os resultados em um arquivo
Especifique nome_arquivo como uma cadeia entre aspas com uma extensão de
arquivo apropriada. Por exemplo: TO "Saída.TXT"
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma pasta
diferente já existente:
l TO "C:\Saída.TXT"
l TO "Resultados\Saída.TXT"
o PRINT: envia os resultados para a impressora padrão

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 445 de 966


Comandos

Nome Descrição

Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes em
uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número de
opcional registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até alcan-
çar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional Nota
Você deve garantir que a estrutura da saída do comando e o arquivo exis-
tente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua estru-
tura. Se a estrutura da saída e do arquivo existente não corresponderem,
o resultado poderá ser dados misturados, ausentes ou incorretos.

Variáveis de saída do Analytics


Nota
Se você gerar estatísticas para mais de um campo na tabela, as variáveis de saída gera-
das pelo sistema conterão valores apenas para o primeiro campo listado.

Nome Contém

ABSn O valor absoluto calculado pelo comando.

AVERAGEn O valor médio calculado pelo comando.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 446 de 966


Comandos

Nome Contém

COUNTn A contagem de registros calculada pelo comando.


o Se o nome da variável é COUNT1, ele está armazenando a contagem de registros
do comando executado mais recentemente.
o Se o nome da variável é COUNTn, onde n é maior que 1, a variável está arma-
zenando a contagem de registros de um comando executado dentro de um
comando GROUP.
O valor de n é atribuído baseado no número da linha do comando no GROUP. Por
exemplo, se o comando estiver uma linha abaixo do comando GROUP, será atri-
buído o valor COUNT2. Se o comando estiver quatro linhas abaixo do comando
GROUP, será atribuído o valor COUNT5.

HIGHn O quinto valor mais alto identificado pelo comando.


O quinto valor mais alto é a configuração padrão. A configuração pode ser alterada
usando o parâmetro NUMBER. Por exemplo, NUMBER 3 especifica o armazenamento
do terceiro valor mais alto.
Nota
Quando o Analytics identifica o valor mais alto, valores duplicados não
são eliminados. Por exemplo, se os valores em ordem decrescente
forem 100, 100, 99 e 98, o terceiro maior valor será 99 e não 98.

LOWn O quinto valor mais baixo identificado pelo comando.


O quinto valor mais baixo é a configuração padrão. A configuração pode ser alterada
usando o parâmetro NUMBER. Por exemplo, NUMBER 3 especifica o armazenamento
do terceiro valor mais baixo.
Nota
Quando o Analytics identifica o valor mais baixo, valores duplicados não
são eliminados. Por exemplo, se os valores em ordem crescente forem
1, 1, 2 e 3, o terceiro valor mais baixo será 2 e não 3.

MAXn O valor máximo identificado pelo comando.

MEDIANn O valor da mediana identificado pelo comando.

MINn O valor mínimo identificado pelo comando.

MODEn O valor que ocorre com maior frequência identificado pelo comando.

Q25n O valor do primeiro quartil (valor do quartil inferior) calculado pelo comando.

Q75n O valor do terceiro quartil (valor do quartil superior) calculado pelo comando.

RANGEn A diferença entre os valores máximo e mínimo calculados pelo comando.

STDDEVn O valor do desvio padrão calculado pelo comando.

TOTALn O valor total calculado pelo comando.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 447 de 966


Comandos

Nome Contém

O valor de n é 1, a menos que o comando TOTAL esteja dentro de um comando


GROUP. Nesse caso, o valor de n corresponde ao número de linha do comando
TOTAL no comando GROUP.
Para obter mais informações, consulte "Comando GROUP" Na página 228.

Exemplos
Geração condicional de estatísticas
Gere estatísticas para o campo Quantidade dos registros onde o ID da classe do produto é 01:

STATISTICS ON Quantidade IF Classe_de_produto = "01"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 448 de 966


Comandos

Comando STRATIFY
Agrupa os registros em intervalos numéricos de acordo com os valores de um campo numérico. Conta os
registros em cada intervalo e subtotaliza os campos numéricos especificados em cada intervalo.

Sintaxe
STRATIFY <ON> campo_numérico MINIMUM valor MAXIMUM valor {<INTERVALS número>|FREE
valor_intervalo <...n> último_intervalo} <SUPPRESS> <SUBTOTAL campo_numérico
<...n>|SUBTOTAL ALL> <KEY campo_divisão> <TO {SCREEN|nome_tabela|nome_
arquivo|GRAPH|PRINT}> <IF teste> <FIRST intervalo|NEXT intervalo> <WHILE teste> <APPEND>
<OPEN> <HEADER texto_cabeçalho> <FOOTER texto_rodapé> <LOCAL> <STATISTICS>

Parâmetros
Nome Descrição

ON campo_numérico A expressão ou campo numérico a ser estratificado.

MINIMUM valor Aplica-se somente a campos numéricos. O valor mínimo do primeiro intervalo numérico.
MINIMUM será opcional se você usar FREE. Caso contrário, será obrigatório.

MAXIMUM valor Aplica-se somente a campos numéricos. O valor máximo do último intervalo numérico.
MAXIMUM será opcional se você usar FREE. Caso contrário, será obrigatório.

INTERVALS número Aplica-se somente a campos numéricos.


opcional A quantidade de intervalos de tamanhos iguais que o Analytics deve produzir na faixa
especificada pelos valores MINIMUM e MAXIMUM. Se a quantidade de intervalos não for
especificada, uma quantidade padrão é utilizada.
O padrão é especificado pelo número Intervalos na guia Comando na caixa de diálogo
Opções.

FREE valor_do_intervalo Aplica-se somente a campos numéricos.


<...n> último_intervalo
Cria intervalos de tamanho personalizado, especificando o ponto inicial de cada inter-
opcional valo e o ponto final do último intervalo.
Se os valores MINIMUM e MAXIMUM forem especificados, eles serão o ponto inicial do
primeiro intervalo e o ponto final do último intervalo, e cada valor_intervalo criará um
novo intervalo nesta faixa. Os valores de intervalo especificados devem ser maiores que
o valor MINIMUM e iguais ou menores que o valor MAXIMUM.
Os valores do intervalo devem estar em sequência numérica e não podem conter valo-
res duplicados:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 449 de 966


Comandos

Nome Descrição

FREE -1000, 0, 1000, 2000, 3000

Se você especificar FREE e INTERVALS, INTERVALS será ignorado.

SUPPRESS Valores maiores que MAXIMUM e menores que MINIMUM devem ser excluídos da saída
do comando.
opcional

SUBTOTAL campo_numé- Um ou mais campos numéricos ou expressões a serem subtotalizadas para cada grupo.
rico <...n> | SUBTOTAL
Vários campos devem ser separados por espaço. Especifique ALL para subtotalizar
ALL
todos os campos numéricos da tabela.
opcional
Se um campo de subtotal não for especificado, o campo estratificado é subtotalizado
automaticamente.
O campo estratificado deve ser especificado explicitamente caso você queira sub-
totalizá-lo junto a outros campos, ou caso queira incluir estatísticas do campo estra-
tificado subtotalizado.

KEY campo_quebra O campo ou expressão que agrupa cálculos de subtotal. Um subtotal é calculado cada
vez que o valor de campo_quebra muda.
opcional
campo_quebra deve ser um campo ou expressão de caracteres. Apenas um campo
pode ser especificado, mas é possível usar uma expressão que contém mais que um
campo.

TO SCREEN nome_tabela A localização para onde enviar os resultados do comando:


| nome_arquivo | GRAPH o SCREEN: exibe os resultados na área de exibição do Analytics
| PRINT o nome_tabela: salva os resultados em uma tabela do Analytics
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o projeto
do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos, sem
contar a extensão .FIL. O nome pode incluir o caractere de sublinhado
( _ ) mas nenhum outro caractere especial e nenhum espaço. O nome
não pode começar com um número.
o nome_arquivo: salva os resultados em um arquivo
Especifique nome_arquivo como uma cadeia entre aspas com uma extensão de
arquivo apropriada. Por exemplo: TO "Saída.TXT"
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma pasta

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 450 de 966


Comandos

Nome Descrição

diferente já existente:
l TO "C:\Saída.TXT"
l TO "Resultados\Saída.TXT"
o GRAPH: exibe os resultados em um gráfico na área de exibição do Analytics
o PRINT: envia os resultados para a impressora padrão

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes em
uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número de
opcional registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até alcan-
çar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional Nota
Você deve garantir que a estrutura da saída do comando e o arquivo exis-
tente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua estru-
tura. Se a estrutura da saída e do arquivo existente não corresponderem,
o resultado poderá ser dados misturados, ausentes ou incorretos.

OPEN Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o
comando criar uma tabela de saída.
opcional

HEADER texto_cabeçalho O texto a ser inserido na parte superior de cada página de um relatório.
opcional texto_cabeçalho deve ser especificado como uma cadeia entre aspas. O valor substitui a
variável de sistema HEADER do Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 451 de 966


Comandos

Nome Descrição

FOOTER texto_rodapé O texto a ser inserido na parte inferior de cada página de um relatório.
opcional texto_rodapé deve ser especificado como uma cadeia entre aspas. O valor substitui a
variável de sistema FOOTER do Analytics.

LOCAL Salva o arquivo de saída no mesmo local que o projeto do Analytics.


opcional Nota
Aplicável apenas na execução de um comando em uma tabela de ser-
vidor com um campo de saída que é uma tabela do Analytics.

STATISTICS Nota
opcional Somente pode ser usado se SUBTOTAL também for especificado.
Calcula valores médios, mínimos e máximos para todos os campos de SUBTOTAL.

Exemplos
Estratificação por valor da fatura
Você precisa estratificar uma tabela de contas a receber com base no campo Valor_Fatura. O valor da
fatura também é subtotalizado automaticamente.
A saída é agrupada em intervalos de US$ 1000:
l de US$ 0 a US$ 999,99
l de US$ 1.000 a US$ 1.999,99
l e assim por diante
O valor total da fatura é incluído para cada intervalo.

OPEN Ar
STRATIFY ON Valor_Fatura MINIMUM 0 MAXIMUM 10000 INTERVALS 10 TO "Faturas_estra-
tificadas.FIL"

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda
do Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 452 de 966


Comandos

Como funciona?
STRATIFY agrupa registros em intervalos numéricos de tamanho igual ou personalizado com base nos
valores de um campo numérico.
A saída contém um único registro para cada intervalo com a contagem dos registros da tabela de origem
pertencentes a cada intervalo.

Preencher automaticamente os valores de MINIMUM e


MAXIMUM
Os comandos STATISTICS e PROFILE podem ser executados no campo estratificado antes da execução
do comando STRATIFY para popular automaticamente os valores dos parâmetros MINIMUM e MAXIMUM
com os valores mínimo e máximo do campo.

Nomes de campos de subtotal e estatísticas gerados auto-


maticamente
Se você usar STATISTICS para executar cálculos estatísticos com um ou mais campos SUBTOTAL e
gerar os resultados em uma tabela do Analytics, os campos gerados automaticamente pelos parâmetros
terão os seguintes nomes:

Descrição de campo gerado Nome do campo na tabela de Título alternativo de coluna (nome de exi-
automaticamente saída bição) na tabela de saída

Campo de subtotal nome do campo subtotalizado na Total + título alternativo da coluna sub-
tabela de origem totalizada na tabela de origem

Campo de média a_ nome do campo subtotalizado Média + título alternativo da coluna sub-
na tabela de origem totalizada na tabela de origem

Campo de mínimo m_ nome do campo subtotalizado Mínimo + título alternativo da coluna sub-
na tabela de origem totalizada na tabela de origem

Campo de máximo x_ nome do campo subtotalizado Máximo + título alternativo da coluna sub-
na tabela de origem totalizada na tabela de origem

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 453 de 966


Comandos

Comando SUMMARIZE
Agrupa os registros com base em valores idênticos em um ou mais campos de caracteres, numéricos ou
datahora. Conta os registros em cada grupo e subtotaliza os campos numéricos especificados em cada
grupo.

Sintaxe
SUMMARIZE ON campo_chave <...n> <SUBTOTAL campo_numérico <...n> |SUBTOTAL ALL>
<OTHER campo <...n>|OTHER ALL> <TO {SCREEN|nome_tabela|PRINT}> <IF teste> <WHILE
teste> <FIRST intervalo|NEXT intervalo> <PRESORT> <APPEND> <OPEN> <LOCAL>
<HEADER texto_cabeçalho> <FOOTER texto_rodapé> <STATISTICS> <MODMEDQ> <STDEV>
<CPERCENT> <ISOLOCALE código_localidade>

Parâmetros
Nome Descrição

ON campo_chave <...n> Um ou mais campos de caracteres, numéricos ou datahora para serem sumarizados.
Se houver mais de um campo, eles devem ser separados por espaços e podem ser de
tipos de dados diferentes.

SUBTOTAL campo_numé- Um ou mais campos numéricos ou expressões a serem subtotalizadas para cada
rico <...n> | SUBTOTAL grupo.
ALL
Vários campos devem ser separados por espaço. Especifique ALL para subtotalizar
opcional todos os campos numéricos da tabela.

OTHER campo <...n> | Um ou mais campos adicionais a serem incluídos na saída.


OTHER ALL o campo <...n>: inclua o campo ou os campos especificados
opcional o ALL: inclua todos os campos da tabela que não são especificados como campos-
chave ou de subtotal
Use OTHER com campos que contêm o mesmo valor para todos os registros em cada
grupo sumarizado. Se você especificar um campo que contém valores diferentes para
um grupo sumarizado, apenas o valor do primeiro registro do grupo será exibido, o que
não é útil.
Por exemplo:
o sumarizar uma tabela por número do cliente: um "outro campo" adequado poderia
ser o nome do cliente. Normalmente, o nome do cliente é idêntico em todos os regis-
tros com o mesmo número do cliente.
o sumarizar uma tabela de fornecedores por estado: um "outro campo" inadequado
poderia ser Cidade. Apenas a primeira cidade listada para cada estado aparecerá
no resultado. Nesse caso, a melhor abordagem é sumarizar tanto pelo campo
estado como pelo campo cidade, nessa ordem.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 454 de 966


Comandos

Nome Descrição

TO SCREEN nome_tabela A localização para onde enviar os resultados do comando:


| PRINT o SCREEN: exibe os resultados na área de exibição do Analytics
o nome_tabela: salva os resultados em uma tabela do Analytics
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de
arquivo .FIL. For exemplo: TO "Saída.FIL"
Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o pro-
jeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
l TO "C:\Saída.FIL"
l TO "Resultados\Saída.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos,
sem contar a extensão .FIL. O nome pode incluir o caractere de subli-
nhado ( _ ) mas nenhum outro caractere especial e nenhum espaço.
O nome não pode começar com um número.
o PRINT: envia os resultados para a impressora padrão

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes
em uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número
opcional de registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até
alcançar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

PRESORT Ordena a tabela pelo campo-chave antes de executar o comando.


opcional Nota
Você não pode usar PRESORT dentro do comando GROUP.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 455 de 966


Comandos

Nome Descrição

Se você usar PRESORT


Se você usar PRESORT, a saída será classificada e conterá um único grupo para cada
conjunto de valores idênticos ou combinações idênticas de valores em um ou mais
campos-chave.
Dica
Se a tabela de entrada já estiver ordenada, você poderá economizar
tempo de processamento não especificando PRESORT.

Se você não usar PRESORT


Se o PRESORT não for utilizado, os resultados de saída terão a mesma ordem de clas-
sificação da tabela de entrada.
Caso o campo ou os campos-chave ou campos contenham valores não sequenciais
idênticos, os resultados de saída conterão mais de um grupo para cada conjunto de
valores idênticos ou combinações idênticas de valores.
Nota
Dependendo do contexto, a existência de mais de um grupo para cada
conjunto de valores idênticos ou combinação de valores idênticos pode
anular o propósito da sumarização.

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional Nota
Você deve garantir que a estrutura da saída do comando e o arquivo
existente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua
estrutura. Se a estrutura da saída e do arquivo existente não cor-
responderem, o resultado poderá ser dados misturados, ausentes ou
incorretos.

OPEN Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o
comando criar uma tabela de saída.
opcional

LOCAL Salva o arquivo de saída no mesmo local que o projeto do Analytics.


opcional Nota
Aplicável apenas na execução de um comando em uma tabela de ser-
vidor com um campo de saída que é uma tabela do Analytics.

HEADER texto_cabeçalho O texto a ser inserido na parte superior de cada página de um relatório.
opcional texto_cabeçalho deve ser especificado como uma cadeia entre aspas. O valor substitui
a variável de sistema HEADER do Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 456 de 966


Comandos

Nome Descrição

FOOTER texto_rodapé O texto a ser inserido na parte inferior de cada página de um relatório.
opcional texto_rodapé deve ser especificado como uma cadeia entre aspas. O valor substitui a
variável de sistema FOOTER do Analytics.

STATISTICS Nota
opcional Somente pode ser usado se SUBTOTAL também for especificado.
Calcula valores médios, mínimos e máximos para todos os campos de SUBTOTAL.

MODMEDQ Nota
opcional Somente pode ser usado se SUBTOTAL também for especificado.
Calcula valores de moda, mediana, primeiro quartil e terceiro quartil para todos os cam-
pos de SUBTOTAL.

STDEV Nota
opcional Somente pode ser usado se SUBTOTAL também for especificado.
Calcula o desvio padrão e a porcentagem do total para todos os campos de
SUBTOTAL.

CPERCENT Calcula a porcentagem da contagem de registros para cada grupo.


opcional

ISOLOCALE Nota
opcional Aplicável apenas à edição Unicode do Analytics.
A localidade do sistema no formato idioma_ país. Por exemplo, para usar francês cana-
dense, insira fr_ca.
Use os códigos a seguir:
o idioma: código de idioma padrão ISO 639
o país: código de país padrão ISO 3166
Se você não especificar um código de país, será usado o país padrão do idioma.
Se você não usar ISOLOCALE, a localidade do sistema padrão será usada.

Exemplos
Valor total de transações por cliente
Você sumariza uma tabela de contas a receber com base no campo Numero_Cliente e calcula o subtotal
do campo Valor_Trans . A saída é agrupada por cliente e inclui o valor total de transações para cada cli-
ente:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 457 de 966


Comandos

OPEN Ar
SUMMARIZE ON Numero_Cliente SUBTOTAL Valor_Trans TO "Total_cliente.FIL" PRESORT

Valor total de transações por cliente por data de transação


Sumarize uma tabela de contas a receber com base nos campos Numero_Cliente e Valor_Trans . Você
calcula o subtotal do campo Valor_Trans .
A saída é agrupada por cliente e, em cada cliente, por data, incluindo o valor total das transações de cada
cliente em cada data em que o cliente teve transações.

OPEN Ar
SUMMARIZE ON Numero_Cliente Data_Trans SUBTOTAL Valor_Trans TO "Total_cliente_por_
data.FIL" PRESORT

Valor de transações total, médio, mínimo e máximo por cliente por data de
transação
Adicione STATISTICS ao exemplo anterior.
Além do valor subtotalizado das transações de cada cliente em cada data em que o cliente teve tran-
sações, também serão calculados os valores médio, mínimo e máximo das transações de cada cliente em
cada data:

OPEN Ar
SUMMARIZE ON Numero_Cliente Data_Trans SUBTOTAL Valor_Trans TO "Estats_clientes_por_
data.FIL" PRESORT STATISTICS

Valores de transação idênticos, mesma data


Você sumariza uma tabela de transações de cartão de crédito com base nos campos Data_Trans e
Valor_Trans .
A saída é agrupada por data e, dentro de data, por valor. Você pode usar a contagem associada para
identificar transações com valores e datas idênticos:

OPEN CC_Trans
SUMMARIZE ON Data_Trans Valor_Trans TO "Transações_por_data_valor.FIL" OPEN PRESORT
SET FILTER TO COUNT > 1

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 458 de 966


Comandos

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda do
Analytics.

Como funciona?
SUMMARIZE agrupa registros com o mesmo valor, ou a mesma combinação de valores, em um ou mais
campos de caracteres, numéricos ou datahora. A saída consiste em um único registro para cada grupo,
com uma contagem do número de registros na tabela de origem que pertencem ao grupo.

Subtotal e estatísticas: cálculos e nomes de campos nos


resultados de saída
Você pode usar um ou mais parâmetros opcionais para executar cálculos estatísticos em qualquer campo
SUBTOTAL especificado. Os cálculos estatísticos são divididos por grupo na saída:

Título alternativo de
coluna (nome de exibição) Nome do campo na tabela Cálculo executado em
Parâmetro opcional na tabela de saída de saída campo subtotalizado

Total + título alternativo da nome do campo sub- Valores subtotalizados


SUBTOTAL coluna subtotalizada totalizado para cada grupo

Média + título alternativo a_ nome do campo sub- Valor médio para cada
da coluna subtotalizada totalizado grupo

Mínimo + título alternativo m_ nome do campo sub- Valor mínimo para cada
da coluna subtotalizada totalizado grupo

Máximo + título alternativo x_ nome do campo sub- Valor máximo para cada
STATISTICS da coluna subtotalizada totalizado grupo

Mediana + título alternativo c_ nome do campo sub- Valor de mediana para


da coluna subtotalizada totalizado cada grupo
o Conjuntos ímpares de
valores: o valor do meio
o Conjuntos pares de
valores: a média dos
dois valores do meio

Moda + título alternativo da o_ nome do campo sub- O valor que ocorre com
coluna subtotalizada totalizado maior frequência em cada
grupo
o Exibe "N/A" se nenhum
MODMEDQ valor ocorrer mais de

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 459 de 966


Comandos

Título alternativo de
coluna (nome de exibição) Nome do campo na tabela Cálculo executado em
Parâmetro opcional na tabela de saída de saída campo subtotalizado

uma vez
o Em caso de valores que
ocorrem o mesmo
número de vezes, exibe
o valor mais baixo

Q25 + título alternativo da q_ nome do campo sub- O valor do primeiro quartil


coluna subtotalizada totalizado para cada grupo (valor do
quartil inferior)
o O resultado é um valor
interpolado com base
em um algoritmo do
Analytics
o Gera o mesmo resul-
tado que as funções
QUARTILE e
QUARTILE.INC no
Microsoft Excel

Q75 + título alternativo da p_ nome do campo sub- O valor do terceiro quartil


coluna subtotalizada totalizado para cada grupo (valor do
quartil superior)
o O resultado é um valor
interpolado com base
em um algoritmo do
Analytics
o Gera o mesmo resul-
tado que as funções
QUARTILE e
QUARTILE.INC no
Microsoft Excel

STDDEV + título alter- d_ nome do campo sub- O desvio padrão para cada
nativo da coluna sub- totalizado grupo
totalizada

Campo % + título alter- f_ nome do campo sub- O subtotal de cada grupo,


nativo da coluna sub- totalizado expresso como uma por-
totalizada centagem do total do
STDEV campo

Porcentagem da con- COUNT_PERCENTAGE A porcentagem de regis-


tagem tros da tabela de origem
que pertence a cada grupo
Note
Não exige um
campo de sub-
CPERCENT total

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 460 de 966


Comandos

Comando TOP
Posiciona no primeiro registro de uma tabela do Analytics.

Sintaxe
TOP

Parâmetros
Este comando não possui nenhum parâmetro.

Observações
Quando usar TOP
Use TOP para posicionar no primeiro registro de uma tabela se um comando anterior, como FIND, sele-
cionou outro registro na tabela.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 461 de 966


Comandos

Comando TOTAL
Calcula o valor total de um ou mais campos em uma tabela do Analytics.

Sintaxe
TOTAL {<FIELDS> campo_numérico <...n>|<FIELDS> ALL} <IF teste> <WHILE teste> <FIRST
intervalo|NEXT intervalo>

Parâmetros
Nome Descrição

FIELDS campo_numérico Os campos numéricos a serem totalizados. Especifique ALL para totalizar cada um dos
<...n> | FIELDS ALL campos numéricos na tabela.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes
em uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número
opcional de registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até
alcançar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 462 de 966


Comandos

Variáveis de saída do Analytics


Nota
Se você totalizar mais de um campo em uma tabela, a variável de saída gerada pelo sis-
tema conterá apenas o total do primeiro campo listado.

Nome Contém

TOTALn O valor total calculado pelo comando.


O valor de n é 1, a menos que o comando TOTAL esteja dentro de um comando GROUP.
Nesse caso, o valor de n corresponde ao número de linha do comando TOTAL no
comando GROUP.
Para obter mais informações, consulte "Comando GROUP" Na página 228.

Exemplos
Totalização dos primeiros 25 registros
Calcule o valor total do campo VLRMERC dos primeiros 25 registros na tabela:

TOTAL FIELDS VLRMERC FIRST 25

Observações
Quando usar TOTAL
Use TOTAL para verificar a totalidade e precisão dos dados de origem e para produzir totais de controle. O
comando calcula a soma aritmética dos campos ou expressões especificadas.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 463 de 966


Comandos

Comando TRAIN
Usa aprendizado de máquina automatizado para criar um modelo preditivo ideal usando um conjunto de
dados de treinamento.

Sintaxe
TRAIN {CLASSIFIER|REGRESSOR} <ON> campo_chave <...n> TARGET campo_rotulado
SCORER {ACCURACY|AUC|F1|LOGLOSS|PRECISION|RECALL|MAE|MSE|R2} SEARCHTIME
minutos MAXEVALTIME minutos MODEL nome_modelo TO nome_tabela <IF teste> <WHILE
teste> <FIRST intervalo|NEXT intervalo> FOLDS número_partições <SEED valor_de_origem>
<LINEAR> <NOFP>

Nota
O tamanho máximo permitido para o conjunto de dados usados com o comando TRAIN é
1 GB.

Parâmetros
Nome Descrição

CLASSIFIER | O tipo de previsão a ser usado durante o treinamento de um modelo preditivo:


REGRESSOR o CLASSIFIER: use algoritmos de classificação para treinar um modelo
Use a classificação se quiser prever a que classe ou categoria os registros per-
tencem.
o REGRESSOR: use algoritmos de regressão para treinar um modelo
Use regressão se quiser prever valores numéricos associados aos registros.

ON campo_chave <...n> Um ou mais campos de entrada de treinamento.


Os campos podem ser de caracteres, numéricos ou lógicos. Vários campos devem ser
separados por espaço.
Nota
Os campos de caracteres devem ser "categóricos". Ou seja, devem iden-
tificar categorias ou classes e conter um número máximo de valores úni-
cos.
O máximo é especificado pela opção Máximo das categorias (Fer-
ramentas > Opções > Comando).

TARGET campo_rotulado O campo que o modelo é treinado para prever com base nos campos de entrada de trei-
namento.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 464 de 966


Comandos

Nome Descrição

Os tipos diferentes de previsão (classificação ou regressão) funcionam com tipos de


dados de campos diferentes:

Válidos com CLASSIFIER um campo de destino de caracteres ou lógico

Válidos com REGRESSOR um campo de destino numérico

SCORER ACCURACY | A métrica a ser usada para pontuar (ajustar e classificar) os modelos gerados.
AUC | F1 | LOGLOSS |
O modelo gerado com o melhor valor para essa métrica é mantido e os demais são des-
PRECISION | RECALL |
cartados.
MAE | MSE | R2
Um subconjunto diferente de métricas é válido dependendo do tipo de previsão que
você está usando (classificação ou regressão):

Válidos com CLASSIFIER ACCURACY | AUC | F1 | LOGLOSS | PRECISION | RECALL

Válidos com REGRESSOR MAE | MSE | R2

SEARCHTIME minutos O tempo total, em minutos, do treinamento e da otimização de um modelo preditivo.


O treinamento e a otimização envolvem pesquisas entre diferentes configurações de
fluxo (diferentes combinações de modelo, pré-processador e hiperparâmetros).
Nota
O tempo de execução total do comando TRAIN é SEARCHTIME adi-
cionado a até o dobro de MAXEVALTIME.
Dica
Especifique um SEARCHTIME que seja dez vezes MAXEVALTIME.
Essa alocação de tempo obtém um equilíbrio razoável entre o tempo de
processamento e permitir que diversos tipos de modelos sejam ava-
liados.

MAXEVALTIME minutos Tempo de execução máximo em minutos por avaliação de modelo.


Dica
Aloque 45 minutos para cada 100 MB de dados de treinamento.
Essa alocação de tempo obtém um equilíbrio razoável entre o tempo de
processamento e permitir que diversos tipos de modelos sejam ava-
liados.

MODEL nome_modelo O nome do arquivo de modelo gerado pelo processo de treinamento.


O arquivo de modelo contém o modelo mais adequado ao conjunto de dados de trei-
namento. Você informará o modelo ao comando PREDICT para gerar previsões sobre
um conjunto de dados novo e desconhecido.
Especifique nome_modelo como uma cadeia entre aspas. Por exemplo: TO "Previsão_
inadimplência_empréstimo.model"
Você pode especificar a extensão de arquivo *.model ou permitir que seja espe-

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 465 de 966


Comandos

Nome Descrição

cificada automaticamente pelo Analytics.


Por padrão, o arquivo de modelo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de modelo em
uma pasta diferente já existente:
o TO "C:\Previsão_inadimplência_empréstimo"
o TO "Saída treinamento ML\Previsão_inadimplência_empréstimo.model"

TO nome_tabela O nome da tabela de avaliação de modelos gerada pelo processo de treinamento.


A tabela de avaliação de modelos contém dois tipos distintos de informações:
o Pontuador/métrica: para a classificação ou as métricas de regressão, estimativas
quantitativas do desempenho preditivo do arquivo de modelo gerado pelo processo
de treinamento
Métricas diferentes fornecem tipos diferentes de estimativas. Pontuador identifica a
métrica especificada com SCORER. Métrica identifica as métricas que você não
especificou.
o Importância/coeficiente: em ordem decrescente, valores que indicam quanto cada
recurso (previsor) contribui para as previsões efetuadas pelo modelo
Especifique nome_tabela como uma cadeia entre aspas com uma extensão de arquivo
.FIL. Por exemplo: TO "=Avaliação_modelo.FIL"
Por padrão, o arquivo de dados da tabela (.FIL) é salvo na pasta que contém o projeto
do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em
uma pasta diferente já existente:
o TO "C:\Avaliação_modelo.FIL"
o TO "Saída treinamento ML\Avaliação_modelo.FIL"
Nota
Os nomes de tabela são limitados a 64 caracteres alfanuméricos, sem
contar a extensão .FIL. O nome pode incluir o caractere de sublinhado ( 
_ ) mas nenhum outro caractere especial e nenhum espaço. O nome
não pode começar com um número.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes
em uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 466 de 966


Comandos

Nome Descrição

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número
opcional de registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até
alcançar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

FOLDS número_de_par- O número de partições de validação cruzada a usar na avaliação e na otimização do


tições modelo.
As partições são subdivisões do conjunto de dados de treinamento e são usadas em
um processo de validação cruzada.
Normalmente, o uso de 5 a 10 partições gera bons resultados no treinamento de um
modelo. O número mínimo de partições permitido é 2 e o máximo é 10.
Dica
Com conjuntos de dados de treinamento menores, o aumento do
número de partições pode gerar uma melhor estimativa do desempenho
preditivo de um modelo, mas também aumenta o tempo de execução
geral.

SEED valor_de_origem O valor de origem usado para inicializar o gerador de números aleatórios no Analytics.
opcional Se você omitir SEED, o Analytics selecionará aleatoriamente o valor de origem.
Especifique explicitamente um valor de origem, e o registre, se quiser replicar o pro-
cesso de treinamento com o mesmo conjunto de dados no futuro.

LINEAR Treine e pontue apenas modelos lineares.


opcional A inclusão de somente modelos lineares no processo de treinamento garante coe-
ficientes na saída.
Se LINEAR for omitido, todos os tipos de modelo relevantes à classificação ou à regres-
são serão avaliados.

NOFP Exclua a seleção de recursos e o pré-processamento de dados do processo de trei-


namento.
opcional
A seleção de recursos é a seleção automatizada de campos no conjunto de dados de
treinamento que são os mais úteis na otimização do modelo preditivo. A seleção auto-
matizada pode aprimorar o desempenho preditivo e reduzir a quantidade de dados
envolvidos na otimização do modelo.
O pré-processamento de dados executa transformações como alteração de escala e
padronização do conjunto de dados de treinamento para aumentar sua adequação aos
algoritmos de treinamento.
Cuidado
Você deve excluir a seleção de recursos e o pré-processamento de
dados somente se tiver um motivo para isso.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 467 de 966


Comandos

Exemplos
Treine um modelo de classificação
Você quer treinar um modelo de classificação que possa ser usado em um processo posterior para prever
quais solicitantes de empréstimo ficarão inadimplentes.
Você treina o modelo usando um conjunto de dados de empréstimo históricos com um resultado conhe-
cido para cada empréstimo, incluindo se o cliente ficou inadimplente.
Em um processo de previsão posterior, você usará o modelo produzido pelo comando TRAIN para pro-
cessar os dados de solicitantes de empréstimo atuais.

OPEN "Histórico_solicitantes_empréstimo"
TRAIN CLASSIFIER ON Idade Categoria_cargo Salário Saldo_conta Valor_empréstimo Período_
empréstimo Refinanciado Pontuação_crédito TARGET Padrão SCORER LOGLOSS
SEARCHTIME 960 MAXEVALTIME 90 MODEL "Previsão_inadimplência_empréstimo.model" TO
"Avaliação_modelo.FIL" FOLDS 5

Treine um modelo de regressão


Você quer treinar um modelo de regressão que possa ser usado em um processo posterior para prever o
preço futuro de venda de residências.
Você treina o modelo usando um conjunto de dados de vendas recentes de residências, incluindo o preço
da venda.
Em um processo de previsão posterior, você usará o modelo produzido pelo comando TRAIN para gerar
avaliações de preços de residências.

OPEN "Vendas_residências"
TRAIN REGRESSOR ON Tamanho_terreno Quartos Banheiros Andares Entrada_garagem Sala_
recreação Porão_completo Aquecedor_gás Ar_condicionado Vagas_garagem Área_preferida
TARGET Preço SCORER MSE SEARCHTIME 960 MAXEVALTIME 90 MODEL "Previsão_preços_
residências.model" TO "Avaliação_modelo.FIL" FOLDS 5

Observações
Nota
Para obter mais informações sobre o funcionamento desse comando, consulte a Ajuda
do Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 468 de 966


Comandos

Comando VERIFY
Verifica a existência de erros de validade de dados em um ou mais campos em uma tabela do Analytics,
confirmando se os dados estão consistentes com as definições do campo no layout da tabela.

Sintaxe
VERIFY {<FIELDS> campo <...n>|<FIELDS> ALL} <IF teste> <WHILE teste> <FIRST range|NEXT
intervalo> <ERRORLIMIT n> <TO {SCREEN|nome_arquivo|PRINT}> <APPEND>

Parâmetros
Nome Descrição

FIELDS campo <...n> | As expressões ou campos a serem verificados. Especifique ALL para exportar todos os
FIELDS ALL campos da tabela
Nota
Por definição, campos calculados, juntamente com expressões ad hoc e
campos binários, são sempre válidos.

IF teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado apenas nos registros que atendem à condição.
opcional
Nota
O parâmetro IF é avaliado apenas em relação aos registros restantes em
uma tabela depois da aplicação dos parâmetros de escopo (WHILE,
FIRST, NEXT).

WHILE teste Uma expressão condicional que deve ser verdadeira para processar cada registro. O
comando é executado até que a condição seja avaliada como falsa ou o fim da tabela
opcional
seja alcançado.
Nota
Se você usar WHILE juntamente com FIRST ou NEXT, o processamento
de registros será interrompido assim que um limite for alcançado.

FIRST intervalo | NEXT O número de registros a ser processado:


intervalo o FIRST: iniciar o processamento a partir do primeiro registro até alcançar o número de
opcional registros especificado
o NEXT: iniciar o processamento a partir do registro selecionado no momento até alcan-
çar o número de registros especificado
Use intervalo para especificar o número de registros a serem processados.
Se você omitir FIRST e NEXT, todos os registros serão processados por padrão.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 469 de 966


Comandos

Nome Descrição

ERRORLIMIT n O número de erros permitidos antes de terminar o comando. O valor padrão é 10.
opcional

TO SCREEN | nome_ A localização para onde enviar os resultados do comando:


arquivo | PRINT o SCREEN: exibe os resultados na área de exibição do Analytics
opcional o nome_arquivo: salva os resultados em um arquivo
Especifique nome_arquivo como uma cadeia entre aspas com uma extensão de
arquivo apropriada. Por exemplo: TO "Saída.TXT"
Por padrão, o arquivo é salvo na pasta que contém o projeto do Analytics.
Use um caminho de arquivo absoluto ou relativo para salvar o arquivo em uma pasta
diferente já existente:
l TO "C:\Saída.TXT"
l TO "Resultados\Saída.TXT"
o PRINT: envia os resultados para a impressora padrão

APPEND Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo.


opcional Nota
Você deve garantir que a estrutura da saída do comando e o arquivo exis-
tente são idênticos:
l os mesmos campos
l a mesma ordem de campos
l os campos correspondentes têm o mesmo comprimento
l os campos correspondentes têm o mesmo tipo de dados
O Analytics anexa a saída a um arquivo existente, seja qual for sua estru-
tura. Se a estrutura da saída e do arquivo existente não corresponderem,
o resultado poderá ser dados misturados, ausentes ou incorretos.

Variáveis de saída do Analytics


Nome Contém

WRITEn O número total de erros de validade de dados identificados pelo comando.

Exemplos
Verificação de dados e especificação de um limite de erro
Verifique todas as colunas em uma tabela e define o limite de erro como 10. O comando interromperá o
processamento se 10 erros de validade de dados forem encontrados:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 470 de 966


Comandos

VERIFY ALL ERRORLIMIT 10 TO “ErrosImportação.txt”

Observações
Como funciona?
O comando VERIFY compara os valores em um ou mais campos com o tipo de dados especificado para
cada um dos campos no layout da tabela e relata todos os erros. O comando garante que:
l campos de caracteres: contenham apenas caracteres válidos e que nenhum caractere que não
pode ser impresso esteja presente
l campos numéricos: contenham apenas dados numéricos válidos. Além de números, os campos
numéricos podem conter um sinal positivo ou negativo precedente e um ponto decimal
l campos datahora: contenham datas, datahora ou horas válidas
Para cada erro identificado, o número do registro e o nome do campo são enviados, junto com o valor invá-
lido em formato hexadecimal.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 471 de 966


Comandos

Funções

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 472 de 966


Comandos

Função ABS( )
Retorna o valor absoluto de uma expressão numérica. O valor absoluto de um número é o número sem seu
sinal.

Sintaxe
ABS(número)

Parâmetros
Nome Tipo Descrição

número numérico O valor do qual será encontrado o valor absoluto.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 7,2:

ABS(7,2)

Retorna 7,2:

ABS(-7.2)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 473 de 966


Comandos

Função AGE( )
Retorna a idade em dias de uma data especificada em relação a uma data limite especificada ou à data
atual do sistema operacional.

Sintaxe
AGE(data/datahora/cadeia <;data_limite>)

Parâmetros
Nome Tipo Descrição

data/datahora/cadeia caractere O campo, expressão ou valor literal do qual será calculada a idade.
datahora

data_limite caractere O campo, expressão ou valor literal com o qual comparar data/-
datahora/cadeia. Se omitido, a data atual do sistema operacional
opcional datahora
será usada como data limite.

Nota
data/datahora/cadeia e data_limite ambos podem aceitar um valor datahora, mas a parte
correspondente à hora é ignorada. Não é possível usar AGE( ) com valores de hora ape-
nas.

Saída
Numérico.

Exemplos
Exemplos básicos
Sem data limite
Retorna o número de dias entre 31 de dezembro de 2014 e a data atual:
l Se um valor positivo é retornado, é igual ao número de dias no passado em que ocorreu a data 31
de dezembro de 2014

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 474 de 966


Comandos

l Se um valor negativo é retornado, é igual ao número de dias no futuro em que ocorrerá a data 31 de
dezembro de 2014
l Se "0" é retornado, 31 de dezembro de 2014 é a data atual

AGE(`20141231`)

Retorna o número de dias entre cada data no campo Data_vencimento e a data atual:

AGE(Data_vencimento)

Mistura de tipos de dados


Retorna 518, o número de dias entre as duas datas especificadas:

AGE(`20130731`;`20141231`)

AGE("20130731";"20141231")

AGE(`20130731`;"20141231")

AGE(`20130731 235959`;`20141231`)

Uso de datas e campos de limite


Retorna o número de dias entre cada data no campo Data_vencimento e a data limite de 31 de dezembro
de 2014:
l As datas anteriores à data limite retornam um valor positivo equivalente ao número em dias antes do
dia limite em que ocorrem
l As datas anteriores à data limite retornam um valor negativo equivalente ao número em dias após o
dia limite em que ocorrem

AGE(Data_vencimento; `20141231`)

Retorna o número de dias entre 31 de dezembro de 2014 e cada data no campo Data_vencimento. Os
resultados são os mesmos do exemplo logo acima, mas o sinal dos valores retornados (positivo ou nega-
tivo) é invertido:

AGE(`20141231`; Data_vencimento)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 475 de 966


Comandos

Comparação de datas em campos


Retorna o número de dias entre cada data no campo Data_pagamento e uma data correspondente no
campo Data_vencimento:
l As datas de pagamento anteriores à data de vencimento retornam um valor positivo, indicando
pagamento no prazo
l As datas de pagamento posteriores à data de vencimento retornam um valor negativo, indicando
pagamento com atraso

AGE(Data_pagamento; Data_vencimento)

Retorna o número de dias entre cada data no campo Data_pagamento e uma data correspondente no
campo Data_vencimento mais um período de carência de 15 dias.
l As datas de pagamento anteriores às datas de vencimento ou até 15 dias após as datas de ven-
cimento retornam um valor positivo
l As datas de pagamento posteriores a 15 dias após a data de vencimento retornam um valor nega-
tivo, indicando pagamento com atraso fora do período de carência

AGE(Data_pagamento; Data_vencimento+15)

Exemplos avançados
Extração de pagamentos vencidos
Extraia o nome, o valor e a data da fatura de cada registro em que a idade da fatura é maior que 180 dias,
com base em uma data limite de 31 de dezembro de 2014:

EXTRACT FIELDS Nome Valor Data_Fatura TO "Vencido" IF AGE(Data_Fatura;`20141231`) > 180

Observações
Como funciona?
A função AGE( ) calcula o número de dias entre duas datas.

Quando usar AGE( )


Use AGE( ) para comparar duas datas para determinar contas em atraso, para realizar análises de saldos
divididas em períodos ou para realizar qualquer tarefa que exija o número de dias decorridos entre duas
datas.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 476 de 966


Comandos

Valores de retorno negativos


Um valor negativo é retornado se a data especificada para data/datahora/cadeia for mais recente do que a
data especificada como data_limite ou a data do sistema operacional se não for especificada a data_limite.

Uso de um campo para a data limite


Ao contrário do comando AGE, que exige um valor de data literal para a data limite, a função AGE( ) per-
mite que você use um campo para a data limite.
Por exemplo:

AGE(Data_pagamento; Data_vencimento)

O uso da função AGE( ) dessa forma é equivalente ao cálculo da diferença entre dois campos de data sub-
traindo-os em uma expressão.
Por exemplo:

Data_vencimento – Data_pagamento

Detalhes do parâmetro
Um campo datahora especificado para data/datahora/cadeia ou data_limite pode usar qualquer formato de
data ou datahora, desde que a definição do campo defina corretamente o formato.

Especificação de literal de data ou de um valor datahora


Ao especificar um valor literal de data ou datahora para data/datahora/cadeia ou data_limite, você fica res-
trito aos formatos na tabela abaixo e o valor deve estar entre apóstrofos invertidos, apóstrofos ou aspas –
por exemplo, `20141231` ou "20141231"
Não use separadores como barras (/) ou dois pontos (:) entre os componentes individuais de datas ou
horas. Os valores de tempo em caracteres aceitam dois pontos.
l Valores de datahora – você pode usar qualquer combinação de formatos de data, separador e hora
listados na tabela abaixo. A data deve preceder a hora e um separador deve ser usado entre os dois.
Os separadores válidos são um único espaço em branco ou as letras 't' ou 'T'.

Exemplos de formato Exemplos de valores literais

AAAAMMDD `20141231`
"20141231"

AAMMDD `141231`
"141231"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 477 de 966


Comandos

Exemplos de formato Exemplos de valores literais

AAAAMMDD hhmmss `20141231 235959`
"20141231 235959"

AAMMDDthhmm `141231t2359`
"141231t2359"

AAAAMMDDThh `20141231T23`
"20141231T23"

AAAAMMDD hhmmss+/-hhmm `20141231 235959-0500`
(ajuste UTC) "20141231 235959-0500"

AAMMDD hhmm+/-hh `141231 2359+01`
(ajuste UTC) "141231 2359+01"

Nota
Não use somente hh no formato de hora
principal com dados que têm um ajuste
UTC. Por exemplo, evite: hh+hhmm. Os
resultados podem ser não confiáveis.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 478 de 966


Comandos

Função ALLTRIM( )
Retorna uma cadeia com os espaços iniciais e finais removidos da cadeia de entrada.

Sintaxe
ALLTRIM(cadeia)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor do qual os espaços iniciais e finais devem ser removidos.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "Salvador":

ALLTRIM("   Salvador   ")

Retorna "São Paulo":

ALLTRIM("   São Paulo   ")

Exemplos avançados
Concatenação de campos de caracteres
Use ALLTRIM( ) para eliminar espaços durante a concatenação de campos de caracteres, como campos
de nome e sobrenome, para que o campo resultante não contenha vários espaços em branco entre os

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 479 de 966


Comandos

valores concatenados.

DEFINE FIELD Nome_Completo COMPUTED ALLTRIM(Nome) + " " + ALLTRIM(Sobrenome)

Removendo espaços contínuos


Espaços contínuos não são removidos pela função ALLTRIM( ).
Se for necessário remover espaços contínuos à esquerda ou à direita, você pode criar um campo cal-
culado usando a expressão:

DEFINE FIELD Descrição_limpa COMPUTED ALLTRIM(REPLACE(Descrição; CHR(160); CHR


(32)))

A função REPLACE( ) substitui todos os espaços contínuos por espaços regulares e ALLTRIM( ) remove
todos os espaços regulares à esquerda ou à direita.

Observações
Como funciona?
A função ALLTRIM( ) remove os espaços à esquerda e à direita de uma cadeia. Os espaços dentro da
cadeia não são removidos.

Funções relacionadas
Use a função LTRIM( ) se você deseja remover apenas os espaços iniciais de uma cadeia, ou a função
TRIM( ) se você deseja remover apenas os espaços finais.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 480 de 966


Comandos

Função ASCII( )
Retorna o código ASCII de um caractere especificado.

Sintaxe
ASCII(caractere)

Parâmetros
Nome Tipo Descrição

caractere caractere O caractere para o qual identificar o código ASCII.


Você pode especificar um caractere entre aspas ou uma cadeia,
campo ou expressão de caracteres múltiplos. Se você especificar
vários caracteres, apenas o primeiro caractere será avaliado.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 65:

ASCII("A")

Retorna 49:

ASCII("1")

Exemplos avançados
Extração de um registro que começa com um caractere de tabulação

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 481 de 966


Comandos

Extrair os registros que contêm um caractere de tabulação no início do campo "Descrição". O código
ASCII para o caractere de tabulação é "9".

EXTRACT RECORD TO "Entradas_Tab.acl" IF ASCII(Descrição) = 9

Observações
Teste para caracteres não imprimíveis
Você pode usar ASCII( ) para testar caracteres não imprimíveis, como:
l Nulo: ASCII "0"
l Tabulação: ASCII "9"
l Quebra de linha (LF): ASCII "10"
l Retorno de carro (CR): ASCII "13"

Funções relacionadas
ASCII( ) é a função inversa da função CHR( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 482 de 966


Comandos

Função AT( )
Retorna um número especificando a localização inicial de uma determinada ocorrência de uma subcadeia
dentro de um valor de caracteres.

Sintaxe
AT(num_ocorrência; procurar_por_cadeia; no_texto)

Parâmetros
Nome Tipo Descrição

num_ocorrência numérico A ocorrência (instância) de procurar_por_cadeia para a qual a loca-


lização deve ser retornada.
Por exemplo, especifique 1 para retornar a localização inicial da pri-
meira ocorrência de procurar_por_cadeia.

procurar_por_ caractere A subcadeia a ser pesquisada em no_texto. Esse valor diferencia mai-
cadeia úsculas e minúsculas.
Se procurar_por_cadeia incluir aspas, você precisa colocar o valor
entre apóstrofos:

AT(1;'"teste"'; Descrição)

no_texto caractere O valor que deve ser pesquisado.


É possível concatenar dois ou mais campos no parâmetro no_texto
para pesquisar em mais de um campo de uma tabela:

AT(1;'"teste"'; Descrição+Resumo)

Saída
Numérico. Retorna a posição do byte inicial da ocorrência especificada do valor procurar_por_cadeia, ou 0,
se nenhuma correspondência for encontrada.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 483 de 966


Comandos

Exemplos
Exemplos básicos
Ocorrências encontradas
Retorna 4:

AT(1; "-"; "604-669-4225")

Retorna 8:

AT(2; "-"; "604-669-4225")

Ocorrências não encontradas


Retorna 0, pois não existe um terceiro hífen no valor:

AT(3; "-"; "604-669-4225")

Retorna 0, pois não existe um quarto "a" minúsculo no valor:

AT(4; "a"; "Alabama")

Grupos de caracteres
Retorna 5:

AT(2; "iss"; "Mississippi")

Pesquisa por um campo


A posição de byte do primeiro hífen em cada valor no campo Número_Fatura:

AT(1; "-"; Numero_Fatura)

Exemplos avançados
Como encontrar números de fatura em que o segundo hífen ocorre após a
décima posição em byte

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 484 de 966


Comandos

É possível analisar a consistência de números de fatura em uma tabela usando a função AT( ) para criar
um filtro como o abaixo. O filtro separa todos os registros nos quais o número da fatura contém dois ou mais
hifens e o segundo hífen ocorre após a décima posição de byte:

SET FILTER TO AT(2; "-"; Número_Fatura) > 10

Observações
Quando usar AT( )
Use essa função para recuperar as seguintes posições iniciais em um valor de caractere:
l a posição inicial de uma subcadeia
l a posição inicial de uma ocorrência subsequente da subcadeia
Para apenas verificar por múltiplas ocorrências do mesmo trecho de cadeia em um campo, a função
OCCURS( ) é uma alternativa melhor. Para obter mais informações, consulte "Função OCCURS( )" Na
página 688.

O valor de retorno quando num_ocorrência excede o


número de ocorrências
Se o valor do parâmetro num_ocorrência for maior que o número de ocorrências da subcadeia em no_
texto, a função retornará 0 por não conseguir encontrar essa ocorrência da subcadeia.

Campos concatenados e valores de retorno


Quando você pesquisa em mais de um campo, o valor retornado para a instância é a posição inicial de pro-
curar_por_cadeia em todos os campos especificados. Os campos concatenados são tratados como um
único campo que inclui os espaços à esquerda e à direita de cada campo, a menos que a função ALLTRIM
( ) seja usada para remover espaços.
Por exemplo, se você pesquisar pela primeira ocorrência de uma cadeia em dois campos com uma largura
de oito caracteres cada, e a cadeia for encontrada no início do segundo campo, o valor retornado será 9.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 485 de 966


Comandos

Função BETWEEN( )
Retorna um valor lógico que indica se o valor especificado está dentro de um intervalo.

Sintaxe
BETWEEN(valor; mín; máx)

Parâmetros
Nome Tipo Descrição

valor caractere O campo, expressão ou valor literal a ser testado.


numérico
datahora

mín caractere O valor mínimo do intervalo.


numérico
datahora

máx caractere O valor máximo do intervalo.


numérico
datahora

Nota
O intervalo avaliado como T (verdadeiro) inclui os valores min e max.
Para obter informações a respeito de intervalos de caracteres, consulte "Comportamento
do SET EXACT" Na página oposta.

Saída
Lógico. Retorna T (verdadeiro) se valor for maior ou igual ao valor min e menor ou igual ao valor max.
Caso contrário, retorna F (falso).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 486 de 966


Comandos

Exemplos
Exemplos básicos
Entrada numérica
Retorna T:

BETWEEN(500;400;700)

Retorna F:

BETWEEN(100;400;700)

Entrada de caracteres
Retorna T:

BETWEEN("B";"A";"C")

Retorna F, pois a comparação de caracteres diferencia entre maiúsculas e minúsculas e "b" minúsculo não
está entre "A" e "C" maiúsculos:

BETWEEN("b";"A";"C")

Entrada datahora
Retorna T:

BETWEEN(`141230`;`141229`;`141231`)

Retorna T para todos os valores do campo Hora_login entre 07:00:00 AM e 09:00:00 AM, inclusive, e F
para os demais:

BETWEEN(Hora_login;`t070000`;`t090000`)

Comportamento do SET EXACT


Retorna T para todos os valores do campo Sobrenome que começam com as letras entre "C" e "K", inclu-
sive, e "F" para os demais (SET EXACT deve ser OFF):

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 487 de 966


Comandos

BETWEEN(Sobrenome; "C"; "K")

Retorna T para todos os valores do campo Sobrenome que começam com as letras entre "C" e "J", inclu-
sive, e "F" para os demais (SET EXACT deve ser ON). Também retorna T para a letra "K" sozinha:

BETWEEN(Sobrenome; "C"; "K")

Entrada de campo
Retorna T para todos os valores do campo Data_Fatura entre 30 Set 2014 e 30 Out 2014, incluindo estas,
ou F em outro caso:

BETWEEN(Data_Fatura; `20140930`; `20141030`)

Retorna T para todos os registros nos quais a data da fatura não se situa entre a data de recebimento e
data de pagamento, incluindo estas, ou F em outro caso:

NOT BETWEEN(Data_Fatura; Data_Rec; Data_Pagto)

Retorna T para todos os valores no campo Valor_Fatura de $ 1000 a $ 5000, incluindo estes, ou F em
outro caso:

BETWEEN(Valor_Fatura; 1000; 5000)

Exemplos avançados
Criando um filtro para exibir uma faixa salarial
O exemplo a seguir abre a tabela de amostra Lista_Funcionários e aplica um filtro que limita os registros
exibidos para incluir apenas funcionários que ganham um salário maior ou igual a $ 40.000,00 e menor ou
igual a $ 50.000,00.

OPEN Lista_funcionários
SET FILTER TO BETWEEN(Salário; 40000,00; 50000,00)

Observações
Tipos de dados compatíveis
Entradas para a função BETWEEN( ) podem ser numéricas, caracteres ou dados de datahora. Não é pos-
sível misturar tipos de dados. Todas as três entradas devem pertencer à mesma categoria de dados.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 488 de 966


Comandos

Use BETWEEN( ) em vez do operador AND


Você pode usar a função BETWEEN( ) em vez de expressões que utilizam o operador AND.
Por exemplo:

BETWEEN(Valor_Fatura; 1000; 5000)

equivale a

Valor_Fatura>= 1000 AND Valor_Fatura <= 5000

A ordem de mín e máx


A ordem de min e max na função BETWEEN( ) não é importante porque o Analytics identifica auto-
maticamente qual valor é o mínimo e qual é o máximo.
Os dois exemplos abaixo retornam T:

BETWEEN(2500; 1000; 5000)

BETWEEN(2500; 5000; 1000)

Precisão decimal de entradas numéricas


Quando as entradas numéricas em comparação têm diferentes precisões de decimais, a comparação usa
o nível mais alto de precisão.
Retorna T, pois 1,23 é igual a 1,23:

BETWEEN(1,23; 1,23; 1,25)

Retorna F, pois 1,23 é menor que 1,234 quando a terceira casa decimal é considerada:

BETWEEN(1,23; 1,234; 1,25)

Dados de caracteres
Diferenciação de maiúsculas e minúsculas
A função BETWEEN( ) diferencia maiúsculas de minúsculas quando usada com dados de caracteres. Na
comparação de caracteres, "a" não é equivalente a "A".
Retorna F:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 489 de 966


Comandos

BETWEEN("B";"a";"C")

Se você estiver trabalhando com dados com inconsistência entre maiúsculas e minúsculas, poderá usar a
função UPPER( ) para converter os valores para que fiquem consistentes antes de usar BETWEEN( ).
Retorna T:

BETWEEN(UPPER("B"); UPPER("a"); UPPER("C"))

Correspondência parcial
A correspondência parcial é suportada para comparações de caracteres.
valor pode ser contido por min.
Retorna T, embora o valor "AB" pareça ser menor que o min "ABC":

BETWEEN("AB"; "ABC"; "Z")

max pode ser contido por valor.


Retorna T, embora o valor "ZZ" pareça ser maior que o max "Z":

BETWEEN("ZZ"; "ABC"; "Z")

Nota
O valor mais curto na comparação de caracteres deve aparecer no início do valor mais
longo para constituir uma correspondência.

Correspondência parcial e SET EXACT


A correspondência parcial é ativada quando SET EXACT = OFF, que é a configuração padrão do Analy-
tics. Se SET EXACT = ON, a correspondência parcial é desativada e os valores em comparação devem
corresponder exatamente para que a correspondência seja considerada.
Os dois exemplos acima resultam em Falso quando o SET EXACT está em ON.
Para obter mais informações sobre o SET EXACT (a opção Comparações exatas de caractere), con-
sulte "Comando SET" Na página 424.

Ativação ou desativação de SET EXACT


Para ter certeza de que a opção Comparações exatas de caractere não seja usada com a função
BETWEEN( ), verifique se a opção está desmarcada na guia Tabela na caixa de diálogo Opções (Fer-
ramentas > Opções ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 490 de 966


Comandos

Se você está usando um script, pode adicionar o comando SET EXACT OFF antes que a função
BETWEEN( ) apareça. Se necessário, você pode restaurar o estado anterior com o comando SET EXACT
ON.

Parâmetros de datahora
Um campo de data, datahora ou hora especificado como entrada de função pode usar qualquer formato de
data, datahora ou hora desde que a definição do campo defina corretamente o formato.

Combinação de entradas de dados, datahora e hora


É possível combinar valores de data, datahora e hora nas três entradas da função BETWEEN( ), mas essa
combinação dos subtipos de datahora pode gerar resultados sem significado.
O Analytics usa equivalentes a números seriais para processar cálculos de data hora. Mesmo que você
tenha interesse apenas na parte de data de um valor de datahora, a parte de hora continua a participar do
cálculo.
Considere os exemplos a seguir:
Retorna T, pois 31 de dezembro de 2014 está no intervalo especificado por min e max:

BETWEEN(`20141231`;`20141229`;`20141231`)

Retorna F, embora 12:00 PM de 31 de dezembro de 2014 pareça estar no intervalo especificado por min e
max:

BETWEEN(`20141231 120000`;`20141229`;`20141231`)

Se examinarmos o equivalente ao número serial dessas duas expressões, poderemos perceber por que a
segunda será avaliada como falso.
Retorna T, porque o número serial valor é igual ao número serial max:

BETWEEN(42003,000000; 42001,000000; 42003,000000)

Retorna T, porque o número serial valor é maior que o número serial max:

BETWEEN(42003,500000; 42001,000000; 42003,000000)

O número serial 42003,500000 é maior que 42003,000000 e, portanto, fora do intervalo, embora as duas
datas sejam idênticas. 0,500000 é o equivalente ao número serial 12:00 PM.

Harmonizar subtipos de datahora


Para evitar os problemas que podem ser causados pela mistura de subtipos de datahora, você pode usar
funções para harmonizá-los.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 491 de 966


Comandos

Por exemplo, essa expressão, que usa os mesmos valores iniciais do segundo exemplo acima, é avaliada
como T em vez de F:

BETWEEN(CTOD(DATE(`20141231
120000`;"YYYYMMDD");"YYYYMMDD");`20141229`;`20141231`)

Especificação de um valor literal de data, datahora ou hora


Ao especificar um valor literal de data , datahora ou hora para qualquer uma das entradas de função,
você fica restrito aos formatos na tabela abaixo e o valor deve estar entre apóstrofos invertidos – por exem-
plo, `20141231`.
Não use separadores como barras (/) ou dois pontos (:) entre os componentes individuais de datas ou
horas.
l Valores de datahora – você pode usar qualquer combinação de formatos de data, separador e
hora listados na tabela abaixo. A data deve preceder a hora e um separador deve ser usado entre
os dois. Os separadores válidos são um único espaço em branco ou as letras 't' ou 'T'.
l Valores de tempo – as horas devem ser especificadas usando o relógio de 24 horas. Os ajustes do
Tempo Universal Coordenado (UTC) devem ser precedidos por um sinal de mais (+) ou de menos
(-).

Exemplos de formato Exemplos de valores literais

AAAAMMDD `20141231`

AAMMDD `141231`

AAAAMMDD hhmmss `20141231 235959`

AAMMDDthhmm `141231t2359`

AAAAMMDDThh `20141231T23`

AAAAMMDD hhmmss+/-hhmm `20141231 235959-0500`
(ajuste UTC)

AAMMDD hhmm+/-hh `141231 2359+01`
(ajuste UTC)

thhmmss `t235959`

Thhmm `T2359`

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 492 de 966


Comandos

Exemplos de formato Exemplos de valores literais

Nota
Não use somente hh no formato de hora
principal com dados que têm um ajuste
UTC. Por exemplo, evite: hh+hhmm. Os
resultados podem ser não confiáveis.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 493 de 966


Comandos

Função BINTOSTR( )
Retorna os dados de caracteres Unicode convertidos de dados de caracteres ZONED ou EBCDIC. Abre-
viação de "Binário para Cadeia".
Nota:
Essa função é específica para a edição Unicode do Analytics. Não é uma função supor-
tada na edição não-Unicode.

Sintaxe
BINTOSTR(cadeia; tipo_de_cadeia)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor ZONED ou EBCDIC que você deseja converter para a codi-
ficação de caracteres Unicode.

tipo_de_cadeia caractere O formato de origem da conversão. Você deve especificar um dos


seguintes valores:
o "A" – converter de dados ZONED (ASCII)
o "E" – converter de dados EBCDIC

Saída
Caractere.

Exemplos
Exemplos básicos
A expressão ZONED(-6448;4) converte o valor -6448 no formato de caracteres "644Q". No entanto, a edi-
ção Unicode do Analytics exige a conversão da saída de ZONED( ) para caracteres Unicode usando
BINTOSTR( ).
Retorna "644Q" no formato Unicode:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 494 de 966


Comandos

BINTOSTR(ZONED(-6448,4); "A")

Observações
Quando usar BINTOSTR( )
Use essa função para converter valores retornados de funções ZONED( ) e EBCDIC( ) para um valor Uni-
code.
Nota
Se essa função não for aplicada aos valores do retorno de ZONED( ) e EBCDIC( ) nas edi-
ções Unicode do Analytics, eles serão exibidos incorretamente porque a codificação não
será interpretada corretamente.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 495 de 966


Comandos

Função BIT( )
Retorna a representação binária para a posição de byte especificada no registro atual como uma cadeia
de oito caracteres.

Sintaxe
BIT(localização_byte)

Parâmetros
Nome Tipo Descrição

local_do_byte numérico A posição de byte a ser retornada como valor binário.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "00110001" se o oitavo byte contiver "1":

BIT(8)

Retorna "01000001" se o nono byte contiver "A":

BIT(9)

Retorna "01100001" se o décimo sétimo byte contiver "a":

BIT(17)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 496 de 966


Comandos

Exemplos avançados
Uso de BIT( ) e SUBSTRING( ) para extrair um valor
Suponha que a posição 17 do byte contenha um conjunto de 8 sinalizadores de crédito.
Para extrair todos os registros de clientes que tenham o terceiro bit definido como um (que significa "não
enviar"), especifique:

EXTRACT IF SUBSTRING(BIT(17); 3; 1) = "1"

Neste exemplo, a função SUBSTRING( ) é usada para extrair o valor do terceiro bit.

Observações
Como funciona?
BIT( ) converte o byte na posição de byte especificado em uma cadeia de oito caracteres de um e zero.

Quando usar BIT( )


Use BIT( ) para examinar bits individuais em um byte.

Funções relacionadas
Se você deseja recuperar um caractere na localização de byte especificado, utilize a função BYTE( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 497 de 966


Comandos

Função BLANKS( )
Retorna uma cadeia que contém um número especificado de espaços em branco.

Sintaxe
BLANKS(contagem)

Parâmetros
Nome Tipo Descrição

quantidade numérico O número de espaços em branco a serem inseridos.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "     ":

BLANKS(5)

Retorna "ABC Corporation":

"ABC" + BLANKS(1) + "Corporation"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 498 de 966


Comandos

Observações
Quando usar BLANKS( )
Use a função BLANKS( ) para harmonizar campos, inicializar variáveis em scripts, ou para inserir espaços
em branco ao formatar campos ou concatenar cadeias.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 499 de 966


Comandos

Função BYTE( )
Retorna o caractere armazenado numa determinada posição no byte do registro atual.

Sintaxe
BYTE(localização_do_ byte)

Parâmetros
Nome Tipo Descrição

local_do_byte numérico A posição de byte a ser retornada como valor de caractere.


O valor refere-se a uma posição no registro (a partir de 1), quaisquer
que sejam as definições do campo.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "1" de um registro que começa com um campo de ID que contém "1":

byte(112)

Exemplos avançados
Identificar registros em arquivos de impressão ou PDFs com base em uma
formatação consistente
Utilize BYTE( ) para identificar os registros num arquivo de dados em que um caractere particular está pre-
sente na posição de byte particular. Normalmente, este é o caso em arquivos de imagem de impressão

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 500 de 966


Comandos

(Relatório) ou arquivos do Adobe Acrobat (PDF) em que os dados são formatados de forma consistente
em todo o documento.
Por exemplo, para localizar e extrair registros que incluem um período na posição de byte 113:

EXTRACT RECORD IF BYTE(113) = "." TO “Saída.fil”

Observações
Quando usar BYTE( )
Use BYTE( ) para examinar o conteúdo de uma posição em um registro, sem precisar definir um campo
para isso.

Uso de BYTE( ) em dados EBCDIC


Se você usar essa função em dados EBCDIC, o valor retornado também será EBCDIC. Pode ser impos-
sível comparar esses dados com valores de caracteres.

Funções relacionadas
Se desejar recuperar a representação binária para a localização de byte especificado, utilize a função BIT
( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 501 de 966


Comandos

Função CDOW( )
Retorna o nome do dia da semana para uma data ou datahora especificada. Abreviação de "Caractere
Dia da Semana".

Sintaxe
CDOW(data/datahora; comprimento)

Parâmetros
Nome Tipo Descrição

data/datahora datahora O campo, expressão ou valor literal do qual será obtido o nome do
dia da semana.

comprimento numérico Um valor entre 1 e 9 que especifica o comprimento da cadeia de


saída. Para exibir nomes de dia abreviados, especifique um valor
menor.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "Quarta-feira" porque 31 de dezembro de 2014 é uma quarta-feira e o comprimento é 9:

CDOW(`20141231`; 12)

Retorna "Qua" porque 31 de dezembro de 2014 é uma quarta-feira e o comprimento é 3:

CDOW(`20141231 235959`; 3)

Retorna o nome completo do dia para cada valor no campo Data_fatura:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 502 de 966


Comandos

CDOW(Data_fatura; 9)

Retorna o nome abreviado do dia para cada valor do campo Carimbo_de_data_e_hora_do_recebimento:

CDOW(Carimbo_de_data_e_hora_do_recebimento; 3)

Exemplos avançados
Adição de um campo que identifica os dias da semana para datas
Use a função CDOW( ) para criar um campo calculado que identifica os dias da semana para todas as
datas em um campo de data. Depois de criar o campo calculado, é possível adicioná-lo à exibição ao lado
da coluna data:

DEFINE FIELD Nome_do_Dia COMPUTED CDOW(Data_de_trans; 3)

Criação de um filtro para testar as transações ocorridas em um fim de


semana
Use a função CDOW( ) para criar um filtro que isola as transações ocorridas em um fim de semana:

SET FILTER TO CDOW(Data_de_trans, 3) = "Sat" OR CDOW(Data_de_trans, 3) = "Sun"

Observações
Detalhes do parâmetro
Um campo especificado para data/datahora pode usar qualquer formato de data ou datahora, desde que a
definição do campo defina corretamente o formato.
Se o parâmetro comprimento for mais curto que o nome do dia, o nome do dia será truncado no com-
primento especificado. Se o parâmetro comprimento for maior do que o nome do dia, o nome do dia será
preenchido com espaços em branco.

Especificação de literal de data ou de um valor datahora


Ao especificar um valor literal de data ou datahora para data/datahora, você fica restrito aos formatos na
tabela abaixo e o valor deve estar entre apóstrofos invertidos – por exemplo, `20141231`.
Não use separadores como barras (/) ou dois pontos (:) entre os componentes individuais de datas ou
horas.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 503 de 966


Comandos

l Valores de datahora – você pode usar qualquer combinação de formatos de data, separador e
hora listados na tabela abaixo. A data deve preceder a hora e um separador deve ser usado entre
os dois. Os separadores válidos são um único espaço em branco ou as letras 't' ou 'T'.
l Valores de tempo – as horas devem ser especificadas usando o relógio de 24 horas. Os ajustes do
Tempo Universal Coordenado (UTC) devem ser precedidos por um sinal de mais (+) ou de menos
(-).

Exemplos de formato Exemplos de valores literais

AAAAMMDD `20141231`

AAMMDD `141231`

AAAAMMDD hhmmss `20141231 235959`

AAMMDDthhmm `141231t2359`

AAAAMMDDThh `20141231T23`

AAAAMMDD hhmmss+/-hhmm `20141231 235959-0500`
(ajuste UTC)

AAMMDD hhmm+/-hh `141231 2359+01`
(ajuste UTC)

Nota
Não use somente hh no formato de hora
principal com dados que têm um ajuste
UTC. Por exemplo, evite: hh+hhmm. Os
resultados podem ser não confiáveis.

Funções relacionadas
Se precisar retornar o dia da semana como um número (1 a 7), use DOW( ) em vez de CDOW( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 504 de 966


Comandos

Função CHR( )
Retorna o caractere associado ao código ASCII especificado.

Sintaxe
CHR(número)

Parâmetros
Nome Tipo Descrição

número numérico Uma expressão numérica válida entre 1 e 255.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "A":

CHR(65)

Retorna "1":

CHR(49)

Exemplos avançados
Adição do símbolo de libra esterlina (£) para cada um dos valores em um
campo de moeda
Crie um campo calculado que adiciona o símbolo de libra esterlina (código ASCII 163) antes dos valores no

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 505 de 966


Comandos

campo Valor_Fatura. O campo numérico Valor_Fatura é convertido antes em um campo de caracteres e


os espaços à direita e a esquerda são removidos.

DEFINE FIELD Moeda_RU COMPUTED CHR(163)+ALLTRIM(STRING(Valor_Fatura; 12))

Observações
Quando usar CHR( )
Use a função CHR( ) para retornar o caractere associado a qualquer código ASCII, inclusive os carac-
teres que não podem ser inseridos diretamente de um teclado ou exibidos na tela. Com CHR( ), você
pode pesquisar campos ou registros pela existência desses caracteres específicos.

Referência a NUL
Referenciar caractere ASCII NUL (nulo), CHR(0), pode produzir resultados imprevisíveis porque ele é
usado pelo Analytics como um qualificador de texto e deve ser evitado se possível.

Funções relacionadas
CHR( ) é o inverso da função ASCII( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 506 de 966


Comandos

Função CLEAN( )
Substitui o primeiro caractere inválido e todos os caracteres subsequentes em uma cadeia por espaços em
branco.

Sintaxe
CLEAN(cadeia <;caracteres_extra_inválidos>)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor a partir do qual remover caracteres padrão e qualquer carac-
tere inválido extra.

caracteres_extra_ caractere Caracteres inválidos que você deseja remover da cadeia, além dos
inválidos caracteres inválidos padrão. Você pode especificar mais de um carac-
tere inválido extra:
opcional

" ,;\"

Caracteres de tabulação, caracteres nulos e caracteres de retorno de


carro/alimentação de linha são os caracteres inválidos padrão remo-
vidos automaticamente, e não precisam ser especificados.
Para especificar as aspas como um caractere extra inválido, coloque
caracteres_extra_inválidos entre apóstrofos:

 '"'

Saída
Caractere.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 507 de 966


Comandos

Exemplos
Exemplos básicos
Retorna "ABC    " ("ABC" seguido por quatro espaços em branco):

CLEAN("ABC%DEF";"%")

Retorna "1234,56      " ("1234,56" seguido por seis espaços em branco):

CLEAN("1234,56,111,2"; ",")

Observações
Quando usar CLEAN( )
Use esta função para garantir que os campos que contenham dados inválidos sejam impressos cor-
retamente. Você também pode usar esta função para isolar as partes de um campo, como o sobrenome
de um campo de cliente que inclua o nome e o sobrenome.

Especificação de apóstrofos e aspas inválidos


Se você precisar especificar apóstrofos e aspas como caracteres inválidos, deverá aninhar a função
CLEAN( ) dentro dela mesma:

CLEAN(CLEAN(cadeia; '"'); "'")

CLEAN( ) automático
Em um script do Analytics, você pode aplicar a função CLEAN( ) automaticamente a todos os campos de
caracteres, adicionando SET CLEAN ON a seu script. Não é possível especificar caracteres individuais
extra usando esta opção.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 508 de 966


Comandos

Função CMOY( )
Retorna o nome do mês do ano para uma data ou datahora especificada. Abreviação de "Caractere para o
Mês do Ano".

Sintaxe
CMOY(data/datahora; comprimento)

Parâmetros
Nome Tipo Descrição

data/datahora datahora O campo, expressão ou valor literal do qual será obtido o nome do
mês.

comprimento numérico Um valor entre 1 e 9 que especifica o comprimento da cadeia de


saída. Para exibir nomes de mês abreviados, especifique um valor
menor.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "Dezembro":

CMOY(`20141231`; 9)

Retorna "Dez":

CMOY(`20141231 235959`; 3)

Retorna o nome abreviado do mês para cada valor do campo Carimbo_de_data_e_hora_do_


recebimento:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 509 de 966


Comandos

CMOY(Carimbo_de_data_e_hora_do_recebimento; 3)

Retorna o nome completo do mês para cada valor no campo Data_fatura:

CMOY(Data_fatura; 9)

Retorna o nome completo do mês 15 dias após cada valor no campo Data_fatura:

CMOY(Data_fatura + 15; 9)

Observações
Detalhes do parâmetro
Um campo especificado para data/datahora pode usar qualquer formato de data ou datahora, desde que
a definição do campo defina corretamente o formato.
Se o parâmetro comprimento for mais curto que o nome do mês, o nome do mês será truncado no com-
primento especificado. Se o parâmetro comprimento for maior do que o nome do mês, o nome do mês
será preenchido com espaços em branco.

Especificação de literal de data ou de um valor datahora


Ao especificar um valor literal de data ou datahora para data/datahora, você fica restrito aos formatos na
tabela abaixo e o valor deve estar entre apóstrofos invertidos – por exemplo, `20141231`.
Não use separadores como barras (/) ou dois pontos (:) entre os componentes individuais de datas ou
horas.
l Valores de datahora – você pode usar qualquer combinação de formatos de data, separador e
hora listados na tabela abaixo. A data deve preceder a hora e um separador deve ser usado entre
os dois. Os separadores válidos são um único espaço em branco ou as letras 't' ou 'T'.
l Valores de tempo – as horas devem ser especificadas usando o relógio de 24 horas. Os ajustes do
Tempo Universal Coordenado (UTC) devem ser precedidos por um sinal de mais (+) ou de menos
(-).

Exemplos de formato Exemplos de valores literais

AAAAMMDD `20141231`

AAMMDD `141231`

AAAAMMDD hhmmss `20141231 235959`

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 510 de 966


Comandos

Exemplos de formato Exemplos de valores literais

AAMMDDthhmm `141231t2359`

AAAAMMDDThh `20141231T23`

AAAAMMDD hhmmss+/-hhmm `20141231 235959-0500`
(ajuste UTC)

AAMMDD hhmm+/-hh `141231 2359+01`
(ajuste UTC)

Nota
Não use somente hh no formato de hora
principal com dados que têm um ajuste
UTC. Por exemplo, evite: hh+hhmm. Os
resultados podem ser não confiáveis.

Funções relacionadas
Se precisar retornar o mês do ano como número (1 a 12), use MONTH( ) em vez de CMOY( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 511 de 966


Comandos

Função COS( )
Retorna o cosseno de um ângulo expresso em radianos, com uma precisão de 15 casas decimais.

Sintaxe
COS(radianos)

Parâmetros
Nome Tipo Descrição

radianos numérico A medição do ângulo em radianos.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 0,500000000000000 (o número de radianos especificado):

COS(1,047197551196598)

Exemplos avançados
Uso de graus como entrada
Retorna 0,500000000000000 (o cosseno de 60 graus):

COS(60 * PI( )/180)

Arredondamento para 3 casas decimais

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 512 de 966


Comandos

Retorna 0,500 (o cosseno de 60 graus, arredondado para 3 casas decimais):

DEC(COS(60 * PI( )/180);3)

Observações
Realizando o Teste de Arco de Mantissa
As três funções trigonométricas no Analytics – SIN( ), COS( ) e TAN( ) – são compatíveis com a realização
do Teste de Arco de Mantissa associado à Lei de Benford.

Convertendo graus em radianos


Se a entrada é em graus, você pode usar a função PI( ) para converter a entrada em radianos: (graus * PI
( )/180) = radianos. Se necessário, você pode arredondar ou truncar o valor de retorno usando a função
DEC( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 513 de 966


Comandos

Função CTOD( )
Converte um valor em caractere ou numérico de data em uma data. Também é possível extrair a data de
um valor de datahora em formato de caracteres ou numérico e retorná-lo como uma data. Abreviação de
"Caractere para Data".

Sintaxe
CTOD(caracteres/número <;formato>)

Parâmetros
Nome Tipo Descrição

caracteres/número caractere O campo, expressão ou valor literal a ser convertido para uma data,
ou do qual será extraída a data.
numérico

formato caractere O formato de data da cadeia/número. O formato é obrigatório para


valores que usam qualquer formato de data diferente de
opcional
AAAAMMDD ou AAMMDD, por exemplo, "DD/MM/AAAA".
Nota
Se você usar a função CTOD com um valor datahora
que exige o parâmetro formato, especifique somente a
parte da data do formato, e não a parte da hora. Por
exemplo:

CTOD("31/12/2014 23:59:59"; "DD/MM/YYYY")

A especificação da parte da hora impede a exibição


dos resultados.

Saída
Datahora. O valor de data resultante usa o formato de exibição de data atual do Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 514 de 966


Comandos

Exemplos
Exemplos básicos
Entrada literal de caractere
Retorna `20141231` exibido como 31 Dez 2014 presumindo um formato de exibição atual de data do Analy-
tics de DD MMM AAAA:

CTOD("20141231")

CTOD("31/12/2014"; "DD/MM/YYYY")

CTOD("20141231 235959")

Entrada literal numérica


Retorna `20141231` exibido como 31 Dez 2014 presumindo um formato de exibição atual de data do Analy-
tics de DD MMM AAAA:

CTOD(20141231)

CTOD(31122014; "DDMMYYYY")

CTOD(20141231;235959)

Entrada de campo de campo de caracteres


Retorna cada valor no campo de caracteres especificado como uma data, usando o formato atual de exi-
bição de data do Analytics:

CTOD(Data_fatura; "DD/MM/YYYY")

CTOD(Carimbo_de_data_e_hora_do_recebimento)

Entrada de campo numérico


Retorna cada valor no campo numérico especificado como uma data, usando o formato atual de exibição
de data do Analytics:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 515 de 966


Comandos

CTOD(Data_vencimento; "DDMMYYYY")

CTOD(Carimbo_de_data_e_hora_do_pagamento)

Exemplos avançados
Comparar um campo caractere ou numérico com uma data
Use a função CTOD( ) para comparar uma data com um campo caractere ou numérico contendo valores
que representam datas.
O filtro abaixo compara dois valores:
l o campo numérico Data_vencimento que armazena datas como números no formato
DDMMAAAA
l o valor de data literal 1 de julho de 2014

SET FILTER TO CTOD(Data_vencimento; "DDMMYYYY") < `20140701`

Observações
Formatos de data exigidos
Os campos de caracteres e numéricos contendo valores de data ou datahora também devem cor-
responder aos formatos na tabela abaixo. Os valores de datahora podem usar qualquer combinação de
formatos de data, separador e hora válidos para seu tipo de dados. A data deve preceder a hora e um
separador deve ser usado entre os dois.
Datas ou a parte de data de valores datahora podem usar qualquer formato de data compatível com o
Analytics e válido para o tipo de dados, desde que os formatos diferentes de AAAAMMDD ou AAMMDD
sejam definidos corretamente pelo formato.

Formatos de Formatos
Formatos de data separador de hora

Campos de caractere

AAAAMMDD único espaço em hhmmss


branco
hh:mm:ss

AAMMDD a letra 't' hhmm


hh:mm

qualquer formato de data compatível com o Analytics e válido para o tipo de a letra 'T' hh

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 516 de 966


Comandos

Formatos de Formatos
Formatos de data separador de hora

dados, se definido pelo formato

+/-hhmm
+/-hh:mm
(ajuste UTC)

+/-hh
(ajuste UTC)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 517 de 966


Comandos

Formatos de Formatos
Formatos de data separador de hora

N-
o-
t-
a
N-
ã-
o
u-
s-
e
s-
o-
m-
e-
n-
t-
e
h-
h
n-
o
f-
o-
r-
m-
a-
t-
o
d-
e
h-
o-
r-
a
p-
ri-
n-
c-
i-
p-
a-
l
c-
o-
m

d-
a-
d-
o-
s
q-
u-
e
t-
ê-
Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize m

Página 518 de 966 u-


m
Comandos

Formatos de Formatos
Formatos de data separador de hora

Campos numéricos

AAAAMMDD ponto decimal hhmmss

AAMMDD hhmm

qualquer formato de data compatível com o Analytics e válido para o tipo de hh


dados, se definido pelo formato

Outras funções de conversão datahora


Conversão de caractere ou numérico para datahora
Função Descrição

CTODT( ) Converte um valor em caractere ou numérico de datahora em uma datahora. Abreviação de


"Caractere para Datahora".

CTOT( ) Converte um valor em caractere ou numérico de hora em uma hora. Também é possível extrair
a hora de um valor de datahora em formato de caracteres ou numérico e retorná-lo como uma
hora. Abreviação de "Caractere para Hora".

Conversão de datahora para caractere


Função Descrição

DATE( ) Extrai a data a partir de uma data ou datahora específica e retorna como sequência de carac-
teres. Também pode retornar a data atual do sistema operacional.

DATETIME( ) Converte uma datahora em uma sequência de caracteres. Também pode retornar a datahora
atual do sistema operacional.

TIME( ) Extrai a hora a partir de uma hora ou datahora específica e retorna como sequência de carac-
teres. Também pode retornar a hora atual do sistema operacional.

Conversão de serial para datahora


Função Descrição

STOD( ) Converte uma data serial, ou seja, uma data expressa como um inteiro, em um valor de data. É
abreviação de "Serial to Date".

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 519 de 966


Comandos

Função Descrição

STODT( ) Converte uma datahora serial, ou seja, uma datahora expressa como um inteiro e uma fração
de 24 horas, em um valor de datahora. É abreviação de "Serial to Datetime".

STOT( ) Converte uma hora em série, ou seja, uma hora expressa como uma fração de 24 horas,
sendo 24 horas representando 1, para um valor de hora. Abreviação de "Série para hora".

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 520 de 966


Comandos

Função CTODT( )
Converte um valor em caractere ou numérico de datahora em uma datahora. Abreviação de "Caractere
para Datahora".

Sintaxe
CTODT(caracteres/número <;formato>)

Parâmetros
Nome Tipo Descrição

caracteres/número caractere O campo, expressão ou valor literal que será convertido em datahora.
numérico

formato caractere O formato de data da cadeia/número. O formato é obrigatório para


valores que usam qualquer formato diferente de AAAAMMDD ou
opcional
AAMMDD na parte da data do valor, por exemplo, "DD/MM/AAAA".

Saída
Datahora. O valor de datahora nos resultados é mostrado usando os formatos atuais de exibição de data e
hora do Analytics.

Exemplos
Exemplos básicos
Entrada literal de caractere
Retorna `20141231t235959` exibido como 31 Dez 2014 23:59:59 presumindo um formato de exibição atual
de data e hora do Analytics de DD MMM AAAA e hh:mm:ss:

CTODT("20141231 235959")

CTODT("31/12/2014 23:59:59"; "DD/MM/YYYY hh:mm:ss")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 521 de 966


Comandos

Entrada literal numérica


Retorna `20141231t235959` exibido como 31 Dez 2014 23:59:59 presumindo um formato de exibição
atual de data e hora do Analytics de DD MMM AAAA e hh:mm:ss:

CTODT(20141231,235959)

CTODT(31122014,235959; "DDMMYYYY,hhmmss")

Entrada de campo de campo de caracteres


Retorna cada valor no campo de caracteres Carimbo_de_data_do_recebimento como datahora, usando
o formato atual de exibição de data do Analytics:

CTODT(Carimbo_de_data_e_hora_do_recebimento; "DD/MM/YYYY hh:mm:ss")

Entrada de campo numérico


Retorna cada valor no campo numérico Carimbo_de_data_do_pagamento como datahora, usando o for-
mato atual de exibição de data do Analytics:

CTODT(carimbo_de_data_do_pagamento; "DD/MM/YYYY hh:mm:ss")

Exemplos avançados
Comparar um campo caractere ou numérico com uma datahora
Use a função CTODT( ) para comparar uma datahora com um campo de caracteres ou numérico con-
tendo valores que representam datahora.
O filtro abaixo compara dois valores:
l o caractere de campo Carimbo_de_data_e_hora_do_recebimento que armazena datahoras
como dados de caractere no formato DD/MM/AAAA  hh:mm:ss
l o valor de datahora literal 1 de julho de 2014 13:30:00

SET FILTER TO CTODT(Datahora_recebimento; "DD/MM/YYYY hh:mm:ss") < `20140701t133000`

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 522 de 966


Comandos

Observações
Formatos de datahora obrigatórios
Os campos de caracteres e numéricos contendo valores de datahora também devem corresponder aos for-
matos na tabela abaixo. Os valores de datahora podem usar qualquer combinação de formatos de data,
separador e hora válidos para seu tipo de dados. A data deve preceder a hora e um separador deve ser
usado entre os dois.
A parte de data de valores pode usar qualquer formato de data compatível com o Analytics e válido para o
tipo de dados, desde que os formatos diferentes de AAAAMMDD ou AAMMDD sejam definidos cor-
retamente pelo formato. Se você usa o formato, deve também especificar o formato da hora, que deve ser
um dos formatos de hora listados na tabela abaixo.
O Analytics reconhece automaticamente o separador entre as partes de data e hora nos valores de data-
hora, portanto, não é preciso especificar o separador no formato. O separador pode ser especificado, se
você quiser.

Formatos de Formatos de
Formatos de data separador hora

Campos de caractere

AAAAMMDD único espaço em hhmmss


branco
hh:mm:ss

AAMMDD a letra 't' hhmm


hh:mm

qualquer formato de data compatível com o Analytics e válido para o tipo de a letra 'T' hh
dados, se definido pelo formato

+/-hhmm
+/-hh:mm
(ajuste UTC)

+/-hh
(ajuste UTC)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 523 de 966


Comandos

Formatos de Formatos de
Formatos de data separador hora

N-
o-
t-
a
N-
ã-
o
u-
s-
e
s-
o-
m-
e-
n-
te
h-
h
n-
o
f-
o-
r-
m-
a-
to
d-
e
h-
o-
r-
a
p-
ri-
n-
ci-
p-
al
c-
o-
m
d-
a-
d-
o-
s
q-
u-
e
t-
ê-
m
u-
m
a-
j-
Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize u-
st-
Página 524 de 966 e
U-
Comandos

Formatos de Formatos de
Formatos de data separador hora

Campos numéricos

AAAAMMDD ponto decimal hhmmss

AAMMDD hhmm

qualquer formato de data compatível com o Analytics e válido para o tipo de hh


dados, se definido pelo formato

Outras funções de conversão datahora


Conversão de caractere ou numérico para datahora
Função Descrição

CTOD( ) Converte um valor em caractere ou numérico de data em uma data. Também é possível extrair
a data de um valor de datahora em formato de caracteres ou numérico e retorná-lo como uma
data. Abreviação de "Caractere para Data".

CTOT( ) Converte um valor em caractere ou numérico de hora em uma hora. Também é possível extrair
a hora de um valor de datahora em formato de caracteres ou numérico e retorná-lo como uma
hora. Abreviação de "Caractere para Hora".

Conversão de datahora para caractere


Função Descrição

DATE( ) Extrai a data a partir de uma data ou datahora específica e retorna como sequência de carac-
teres. Também pode retornar a data atual do sistema operacional.

DATETIME( ) Converte uma datahora em uma sequência de caracteres. Também pode retornar a datahora
atual do sistema operacional.

TIME( ) Extrai a hora a partir de uma hora ou datahora específica e retorna como sequência de carac-
teres. Também pode retornar a hora atual do sistema operacional.

Conversão de serial para datahora


Função Descrição

STOD( ) Converte uma data serial, ou seja, uma data expressa como um inteiro, em um valor de data. É

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 525 de 966


Comandos

Função Descrição

abreviação de "Serial to Date".

STODT( ) Converte uma datahora serial, ou seja, uma datahora expressa como um inteiro e uma fração
de 24 horas, em um valor de datahora. É abreviação de "Serial to Datetime".

STOT( ) Converte uma hora em série, ou seja, uma hora expressa como uma fração de 24 horas,
sendo 24 horas representando 1, para um valor de hora. Abreviação de "Série para hora".

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 526 de 966


Comandos

Função CTOT( )
Converte um valor em caractere ou numérico de hora em uma hora. Também é possível extrair a hora de
um valor de datahora em formato de caracteres ou numérico e retorná-lo como uma hora. Abreviação de
"Caractere para Hora".

Sintaxe
CTOT(caracteres/número)

Parâmetros
Nome Tipo Descrição

caracteres/número caractere O campo, expressão ou valor literal a ser convertido para uma hora,
ou do qual será extraída a hora.
numérico

Saída
Datahora. O valor de hora nos resultados é mostrado usando o formato de exibição de hora atual do Analy-
tics.

Exemplos
Exemplos básicos
Entrada literal de caractere
Retorna `t235959` exibido como 23:59:59 presumindo um formato atual de exibição de hora do Analytics
de hh:mm:ss:

CTOT("t235959")

CTOT("23:59:59")

CTOT("20141231 235959")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 527 de 966


Comandos

Entrada literal numérica


Retorna `t235959` exibido como 23:59:59 presumindo um formato atual de exibição de hora do Analytics
de hh:mm:ss:

CTOT(,235959)

CTOT(0,235959)

CTOT(20141231,235959)

Entrada de campo de campo de caracteres


Retorna cada valor no campo de caracteres Hora_login como uma hora usando o formato atual de exi-
bição de hora do Analytics:

CTOT(Hora_login)

Entrada de campo numérico


Retorna cada valor no campo numérico Datahora_pagamento como uma hora, sem a parte de data,
usando o formato de exibição de data atual do Analytics:

CTOT(Datahora_pagamento)

Exemplos avançados
Comparar um campo caractere ou numérico com uma hora
Use a função CTOT( ) para comparar uma hora com um campo de caracteres ou numérico contendo valo-
res que representam horas.
O filtro abaixo compara dois valores:
l o campo numérico Hora_login, que armazena as horas como dados numéricos
l o valor de tempo literal 09:30:00

SET FILTER TO CTOT(Hora_login) > `t093000`

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 528 de 966


Comandos

Observações
Formatos de datahora obrigatórios
Os campos de caracteres e numéricos contendo valores de hora ou datahora também devem cor-
responder aos formatos na tabela abaixo.
Valores de hora podem usar qualquer combinação de formatos de separador e hora. Você deve usar um
separador antes do valor de hora ou dois pontos entre os componentes da hora para que a função funcione
corretamente.
Os valores de datahora podem usar qualquer combinação de formatos de data, separador e hora válidos
para seu tipo de dados. A data deve preceder a hora e um separador deve ser usado entre os dois.
Use a função CTOD( ) se quiser converter um valor data em caracteres ou numérico para uma data, ou
para extrair a data de um valor datahora em caracteres ou numérico e retorná-lo como uma data.
Use a função CTODT( ) se quiser converter um valor de datahora em formato de caracteres ou numérico
em datahora.

Formatos de data Formatos de separador Formatos de hora

Campos de caractere

AAAAMMDD único espaço em branco hhmmss


hh:mm:ss

AAMMDD a letra 't' hhmm


hh:mm

a letra 'T' hh

+/-hhmm
+/-hh:mm
(ajuste UTC)

+/-hh
(ajuste UTC)

Nota:
Não use somente hh
no formato de hora
principal com dados
que têm um ajuste
UTC. Por exemplo,
evite: hh+hhmm. Os
resultados podem ser
não confiáveis.)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 529 de 966


Comandos

Formatos de data Formatos de separador Formatos de hora

Campos numéricos

AAAAMMDD ponto decimal hhmmss

AAMMDD hhmm

hh

Outras funções de conversão datahora


Conversão de caractere ou numérico para datahora
Função Descrição

CTOD( ) Converte um valor em caractere ou numérico de data em uma data. Também é possível
extrair a data de um valor de datahora em formato de caracteres ou numérico e retorná-lo
como uma data. Abreviação de "Caractere para Data".

CTODT( ) Converte um valor em caractere ou numérico de datahora em uma datahora. Abreviação de


"Caractere para Datahora".

Conversão de datahora para caractere


Função Descrição

DATE( ) Extrai a data a partir de uma data ou datahora específica e retorna como sequência de carac-
teres. Também pode retornar a data atual do sistema operacional.

DATETIME( ) Converte uma datahora em uma sequência de caracteres. Também pode retornar a datahora
atual do sistema operacional.

TIME( ) Extrai a hora a partir de uma hora ou datahora específica e retorna como sequência de carac-
teres. Também pode retornar a hora atual do sistema operacional.

Conversão de serial para datahora


Função Descrição

STOD( ) Converte uma data serial, ou seja, uma data expressa como um inteiro, em um valor de data.
É abreviação de "Serial to Date".

STODT( ) Converte uma datahora serial, ou seja, uma datahora expressa como um inteiro e uma fração

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 530 de 966


Comandos

Função Descrição

de 24 horas, em um valor de datahora. É abreviação de "Serial to Datetime".

STOT( ) Converte uma hora em série, ou seja, uma hora expressa como uma fração de 24 horas,
sendo 24 horas representando 1, para um valor de hora. Abreviação de "Série para hora".

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 531 de 966


Comandos

Função CUMIPMT( )
Retorna os juros cumulativos pagos de um empréstimo durante um intervalo de períodos.

Sintaxe
CUMIPMT(taxa; periodos; valor; período_inicial; período_final <;tipo>)

Parâmetros
Nome Tipo Descrição

taxa numérico A taxa de juros por período.

períodos numérico O número total de períodos de pagamento.

valor numérico O valor principal do empréstimo.

período_inicial numérico O primeiro período do cálculo.


período_inicial não pode ser 0.

período_final numérico O último período do cálculo.


período_final não pode ser maior que o número total de períodos de
pagamento.

tipo numérico A programação dos pagamentos:


opcional o 0 – pagamento no final do período
o 1 – pagamento no início do período
Se omitido, o valor padrão 0 é usado.

Nota
Você deve usar períodos consistentes para especificar taxa e períodos para garantir que
está especificando a taxa de juros por período.
Por exemplo:
l para pagamentos mensais de um empréstimo ou investimento de dois anos com
juros de 5% ao ano, especifique 0,05/12 como taxa e 2 * 12 como períodos
l para pagamentos anuais do mesmo empréstimo ou investimento, especifique 0,05
como taxa e 2 como períodos

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 532 de 966


Comandos

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 17437,23, o valor total de juros pagos no segundo ano de um empréstimo de vinte e cinco anos,
empréstimo de $ 275.000 a 6,5% ao ano, com pagamentos ao final de cada mês:

CUMIPMT(0,065/12; 12*25; 275000; 13; 24; 0)

Retorna 17741,31, o valor total de juros pagos no mesmo empréstimo no primeiro ano:

CUMIPMT(0,065/12; 12*25; 275000; 1; 12; 0)

Observações
Funções relacionadas
A função CUMPRINC( ) é o complemento da função CUMIPMT( ).
A função IPMT( ) calcula os juros pagos para um único período.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 533 de 966


Comandos

Função CUMPRINC( )
Retorna o principal cumulativo pago de um empréstimo durante um intervalo de períodos.

Sintaxe
CUMPRINC(taxa; periodos; valor; período_inicial; período_final <;tipo>)

Parâmetros
Nome Tipo Descrição

taxa numérico A taxa de juros por período.

períodos numérico O número total de períodos de pagamento.

valor numérico O valor principal do empréstimo.

período_inicial numérico O primeiro período do cálculo.


período_inicial não pode ser 0.

período_final numérico O último período do cálculo.


período_final não pode ser maior que o número total de períodos de
pagamento.

tipo numérico A programação dos pagamentos:


opcional o 0 – pagamento no final do período
o 1 – pagamento no início do período
Se omitido, o valor padrão 0 é usado.

Nota
Você deve usar períodos consistentes para especificar taxa e períodos para garantir que
está especificando a taxa de juros por período.
Por exemplo:
l para pagamentos mensais de um empréstimo ou investimento de dois anos com
juros de 5% ao ano, especifique 0,05/12 como taxa e 2 * 12 como períodos
l para pagamentos anuais do mesmo empréstimo ou investimento, especifique 0,05
como taxa e 2 como períodos

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 534 de 966


Comandos

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 4844,61, o valor total do principal pago no segundo ano de um empréstimo de vinte e cinco anos,
empréstimo de $ 275.000 a 6,5% ao ano, com pagamentos ao final de cada mês:

CUMPRINC(0,065/12; 12*25; 275000; 13; 24; 0)

Retorna 367,24, o valor total do principal pago no mesmo empréstimo no primeiro ano:

CUMPRINC(0,065/12; 12*25; 275000; 1; 1; 0)

Observações
Funções relacionadas
A função CUMIPMT( ) é o complemento da função CUMPRINC( ).
A função PPMT( ) calcula o principal pago para um único período.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 535 de 966


Comandos

Função DATE( )
Extrai a data a partir de uma data ou datahora específica e retorna como sequência de caracteres. Tam-
bém pode retornar a data atual do sistema operacional.

Sintaxe
DATE(< data/datahora> <;formato>)

Parâmetros
Nome Tipo Descrição

data/datahora datahora O campo, expressão ou valor literal do qual será extraída a data. Se
for omitido, a data atual do sistema operacional é retornada.
opcional

formato caractere O formato a ser aplicado à cadeia de saída, por exemplo


"DD/MM/AAAA". Se omitido, o formato atual de exibição da data do
opcional
Analytics é utilizado. Você não pode especificar um formato se tiver
omitido data/datahora.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "20141231" no formato de exibição atual de data do Analytics:

DATE(`20141231 235959`)

Retorna "31-Dez-2014":

DATE(`20141231 235959`, "DD-MMM-YYYY")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 536 de 966


Comandos

Retorna a data atual do sistema operacional como uma cadeia de caracteres usando o formato atual de exi-
bição de data do Analytics:

DATE()

Retorna cada valor como no campo Carimbo_de_data_e_hora_do_recebimento como uma cadeia de


caracteres usando o formato atual de exibição de data do Analytics:

DATE(Carimbo_de_data_e_hora_do_recebimento)

Retorna cada valor como no campo Carimbo_de_data_e_hora_do_recebimento como uma cadeia de


caracteres usando o formato específico de exibição de data:

DATE(Carimbo_de_data_e_hora_do_recebimento; "DD/MM/YYYY")

Observações
Comprimento da cadeia de saída
O comprimento da cadeia de saída é sempre 12 caracteres. Se o formato de saída especificado ou o for-
mato de exibição de data do Analytics for menos do que 12 caracteres, a cadeia de saída será preenchida
com espaços em branco à direita.

Detalhes do parâmetro
Um campo especificado para data/datahora pode usar qualquer formato de data ou datahora, desde que a
definição do campo defina corretamente o formato.
Se você usa formato para controlar como a cadeia de saída é exibida, pode usar qualquer formato de exi-
bição de data compatível com o Analytics. Por exemplo:
l DD/MM/AAAA
l MM-DD-AA
l DD MMM AAAA
formato deve ser especificado usando apóstrofos ou aspas – por exemplo, "DD MMM AAAA".

Especificação de literal de data ou de um valor datahora


Ao especificar um valor literal de data ou datahora para data/datahora, você fica restrito aos formatos na
tabela abaixo e o valor deve estar entre apóstrofos invertidos – por exemplo, `20141231`.
Não use separadores como barras (/) ou dois pontos (:) entre os componentes individuais de datas ou
horas.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 537 de 966


Comandos

l Valores de datahora – você pode usar qualquer combinação de formatos de data, separador e
hora listados na tabela abaixo. A data deve preceder a hora e um separador deve ser usado entre
os dois. Os separadores válidos são um único espaço em branco ou as letras 't' ou 'T'.
l Valores de tempo – as horas devem ser especificadas usando o relógio de 24 horas. Os ajustes do
Tempo Universal Coordenado (UTC) devem ser precedidos por um sinal de mais (+) ou de menos
(-).

Exemplos de formato Exemplos de valores literais

AAAAMMDD `20141231`

AAMMDD `141231`

AAAAMMDD hhmmss `20141231 235959`

AAMMDDthhmm `141231t2359`

AAAAMMDDThh `20141231T23`

AAAAMMDD hhmmss+/-hhmm `20141231 235959-0500`
(ajuste UTC)

AAMMDD hhmm+/-hh `141231 2359+01`
(ajuste UTC)

Nota
Não use somente hh no formato de hora
principal com dados que têm um ajuste
UTC. Por exemplo, evite: hh+hhmm. Os
resultados podem ser não confiáveis.

Funções relacionadas
Se precisar retornar a data atual do sistema operacional como valor de datahora, use TODAY( ) em vez
de DATE( ).

Outras funções de conversão datahora


Conversão de datahora para caractere
Função Descrição

DATETIME( ) Converte uma datahora em uma sequência de caracteres. Também pode retornar a datahora
atual do sistema operacional.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 538 de 966


Comandos

Função Descrição

TIME( ) Extrai a hora a partir de uma hora ou datahora específica e retorna como sequência de carac-
teres. Também pode retornar a hora atual do sistema operacional.

Conversão de caractere ou numérico para datahora


Função Descrição

CTOD( ) Converte um valor em caractere ou numérico de data em uma data. Também é possível extrair
a data de um valor de datahora em formato de caracteres ou numérico e retorná-lo como uma
data. Abreviação de "Caractere para Data".

CTODT( ) Converte um valor em caractere ou numérico de datahora em uma datahora. Abreviação de


"Caractere para Datahora".

CTOT( ) Converte um valor em caractere ou numérico de hora em uma hora. Também é possível extrair
a hora de um valor de datahora em formato de caracteres ou numérico e retorná-lo como uma
hora. Abreviação de "Caractere para Hora".

Conversão de serial para datahora


Função Descrição

STOD( ) Converte uma data serial, ou seja, uma data expressa como um inteiro, em um valor de data. É
abreviação de "Serial to Date".

STODT( ) Converte uma datahora serial, ou seja, uma datahora expressa como um inteiro e uma fração
de 24 horas, em um valor de datahora. É abreviação de "Serial to Datetime".

STOT( ) Converte uma hora em série, ou seja, uma hora expressa como uma fração de 24 horas,
sendo 24 horas representando 1, para um valor de hora. Abreviação de "Série para hora".

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 539 de 966


Comandos

Função DATETIME( )
Converte uma datahora em uma sequência de caracteres. Também pode retornar a datahora atual do sis-
tema operacional.

Sintaxe
DATETIME(< datahora> <;formato>)

Parâmetros
Nome Tipo Descrição

datahora datahora O campo, expressão ou valor literal a ser convertido. Se for omitido, a
data atual do sistema operacional é retornada.
opcional

formato caractere O formato a ser aplicado à cadeia de saída, por exemplo


"DD/MM/AAAA". Se omitido, o formato atual de exibição da data do
opcional
Analytics é utilizado. Você não pode especificar um formato se tiver
omitido data/datahora.

Saída
Caractere.

Exemplos
Exemplos básicos
Entrada de datahora literal
Retorna "20141231 235959" no formato de exibição atual de data e hora do Analytics:

DATETIME(`20141231 235959`)

Retorna "31-Dez-2014 11:59 P":

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 540 de 966


Comandos

DATETIME(`20141231 235959`; "DD-MMM-YYYY hh:mm A")

Retorna a data e hora atuais do sistema operacional como uma cadeia de caracteres, usando os formatos
atuais de exibição de data e hora do Analytics:

DATETIME( )

Entrada de campo
Retorna cada valor como no campo Carimbo_de_data_e_hora_do_recebimento como uma cadeia de
caracteres usando os formatos atuais de exibição de data e hora do Analytics:

DATETIME(Carimbo_de_data_e_hora_do_recebimento)

Retorna cada valor como no campo Carimbo_de_data_e_hora_do_recebimento como uma cadeia de


caracteres usando os formatos específicos de exibição de data e hora:

DATETIME(Carimbo_de_data_e_hora_do_recebimento; "DD/MM/YYYY hh:mm:ss")

Observações
Comprimento da cadeia de saída
O comprimento da cadeia de saída é sempre 27 caracteres. Se o formato de saída especificado ou os for-
matos de exibição de data e hora do Analytics forem menos do que 27 caracteres, a cadeia de saída será
preenchida com espaços em branco à direita.

Detalhes do parâmetro
Um campo especificado para datahora pode usar qualquer formato de datahora, desde que a definição do
campo defina corretamente o formato.
Se você usa formato para controlar como a cadeia de saída é exibida, fica restrito aos formatos na tabela
abaixo.
l Você pode usar qualquer combinação de formatos de data, hora e AM/PM.
l A data deve preceder a hora. Não é necessário colocar um separador entre os dois, pois o Analytics
usa automaticamente um único espaço como separador para a cadeia de saída.
l O formato AM/PM é opcional e é posicionado ao final.
l formato deve ser especificado usando apóstrofos ou aspas.
Por exemplo: "DD-MMM-AAAA hh:mm:ss AM"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 541 de 966


Comandos

Formatos de Formatos
Formatos de data hora AM/PM Exemplos

todos os formatos de exibição de data permitidos hh:mm:ss nenhum "DD/MM/AAAA


pelo Analytics hh:mm:ss"
Relógio de 24
horas

hhmmss AM ou PM "MMDDAA hhmmss


PM"
Relógio de 12
horas

hh:mm A ou P "DD-MMM-AAAA
hh:mm A"
Relógio de 12
horas

hhmm

hh

Especificação de literal de um valor datahora


Ao especificar um valor literal de datahora para datahora, você fica restrito aos formatos na tabela abaixo
e o valor deve estar entre apóstrofos invertidos – por exemplo, `20141231 235959`.
Não use separadores como barras (/) ou dois pontos (:) entre os componentes individuais de datas ou
horas.
l Valores de datahora – você pode usar qualquer combinação de formatos de data, separador e
hora listados na tabela abaixo. A data deve preceder a hora e um separador deve ser usado entre
os dois. Os separadores válidos são um único espaço em branco ou as letras 't' ou 'T'.
l Valores de tempo – as horas devem ser especificadas usando o relógio de 24 horas. Os ajustes do
Tempo Universal Coordenado (UTC) devem ser precedidos por um sinal de mais (+) ou de menos
(-).

Exemplos de formato Exemplos de valores literais

AAAAMMDD hhmmss `20141231 235959`

AAMMDDthhmm `141231t2359`

AAAAMMDDThh `20141231T23`

AAAAMMDD hhmmss+/-hhmm `20141231 235959-0500`
(ajuste UTC)

AAMMDD hhmm+/-hh `141231 2359+01`
(ajuste UTC)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 542 de 966


Comandos

Exemplos de formato Exemplos de valores literais

Nota
Não use somente hh no formato de hora
principal com dados que têm um ajuste
UTC. Por exemplo, evite: hh+hhmm. Os
resultados podem ser não confiáveis.

Outras funções de conversão datahora


Conversão de datahora para caractere
Função Descrição

DATE( ) Extrai a data a partir de uma data ou datahora específica e retorna como sequência de carac-
teres. Também pode retornar a data atual do sistema operacional.

TIME( ) Extrai a hora a partir de uma hora ou datahora específica e retorna como sequência de carac-
teres. Também pode retornar a hora atual do sistema operacional.

Conversão de caractere ou numérico para datahora


Função Descrição

CTOD( ) Converte um valor em caractere ou numérico de data em uma data. Também é possível extrair
a data de um valor de datahora em formato de caracteres ou numérico e retorná-lo como uma
data. Abreviação de "Caractere para Data".

CTODT( ) Converte um valor em caractere ou numérico de datahora em uma datahora. Abreviação de


"Caractere para Datahora".

CTOT( ) Converte um valor em caractere ou numérico de hora em uma hora. Também é possível extrair
a hora de um valor de datahora em formato de caracteres ou numérico e retorná-lo como uma
hora. Abreviação de "Caractere para Hora".

Conversão de serial para datahora


Função Descrição

STOD( ) Converte uma data serial, ou seja, uma data expressa como um inteiro, em um valor de data. É
abreviação de "Serial to Date".

STODT( ) Converte uma datahora serial, ou seja, uma datahora expressa como um inteiro e uma fração
de 24 horas, em um valor de datahora. É abreviação de "Serial to Datetime".

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 543 de 966


Comandos

Função Descrição

STOT( ) Converte uma hora em série, ou seja, uma hora expressa como uma fração de 24 horas,
sendo 24 horas representando 1, para um valor de hora. Abreviação de "Série para hora".

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 544 de 966


Comandos

Função DAY( )
Extrai o dia de um mês a partir de uma data ou datahora específica e retorna o dia como valor numérico (1 a
31).

Sintaxe
DAY(data/datahora)

Parâmetros
Nome Tipo Descrição

data/datahora datahora O campo, expressão ou valor literal do qual será extraído o dia.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 31:

DAY(`20141231`)

DAY(`20141231 235959`)

Retorna o dia do mês para cada valor no campo Data_fatura:

DAY(Data_fatura)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 545 de 966


Comandos

Observações
Detalhes do parâmetro
Um campo especificado para data/datahora pode usar qualquer formato de data ou datahora, desde que
a definição do campo defina corretamente o formato.

Especificação de literal de data ou de um valor datahora


Ao especificar um valor literal de data ou datahora para data/datahora, você fica restrito aos formatos na
tabela abaixo e o valor deve estar entre apóstrofos invertidos – por exemplo, `20141231`.
Não use separadores como barras (/) ou dois pontos (:) entre os componentes individuais de datas ou
horas.
l Valores de datahora – você pode usar qualquer combinação de formatos de data, separador e
hora listados na tabela abaixo. A data deve preceder a hora e um separador deve ser usado entre
os dois. Os separadores válidos são um único espaço em branco ou as letras 't' ou 'T'.
l Valores de tempo – as horas devem ser especificadas usando o relógio de 24 horas. Os ajustes do
Tempo Universal Coordenado (UTC) devem ser precedidos por um sinal de mais (+) ou de menos
(-).

Exemplos de formato Exemplos de valores literais

AAAAMMDD `20141231`

AAMMDD `141231`

AAAAMMDD hhmmss `20141231 235959`

AAMMDDthhmm `141231t2359`

AAAAMMDDThh `20141231T23`

AAAAMMDD hhmmss+/-hhmm `20141231 235959-0500`
(ajuste UTC)

AAMMDD hhmm+/-hh `141231 2359+01`
(ajuste UTC)

Nota
Não use somente hh no formato de hora
principal com dados que têm um ajuste
UTC. Por exemplo, evite: hh+hhmm. Os
resultados podem ser não confiáveis.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 546 de 966


Comandos

Funções relacionadas
Se você precisar retornar:
l o dia da semana como um número (1 a 7), use DOW( ) em vez de DAY( )
l o nome do dia da semana, use CDOW( ) em vez de DAY( )

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 547 de 966


Comandos

Função DBYTE( )
Retorna o caractere Unicode localizado em uma posição determinada de byte em um registro.
Nota
Essa função é específica para a edição Unicode do Analytics. Não é uma função supor-
tada na edição não-Unicode.

Sintaxe
BYTE(local_do_byte)

Parâmetros
Nome Tipo Descrição

local_do_byte numérico A posição de byte a ser retornada como valor de caractere.


Para retornar um valor significativo, você deve especificar o ponto de
partida da caracteres de dois bytes, o que significa que você deve
especificar apenas números ímpares no parâmetro local_do_byte.

Saída
Caractere.

Exemplos
Exemplos básicos
Os exemplos ilustram o comportamento da função quando aplicada ao seguinte valor Unicode, que con-
tém 11 caracteres (22 bytes) 美丽 10072DOE:
Retorna "丽 ":

DBYTE(3)

Retorna "D":

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 548 de 966


Comandos

DBYTE(17)

Retorna "E":

DBYTE(21)

Observações
Quando usar DBYTE( )
Use DBYTE( ) para examinar o conteúdo de uma posição em um registro, sem precisar definir um campo
para isso.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 549 de 966


Comandos

Função DEC( )
Retorna um valor ou o resultado de uma expressão numérica com um número especificado de casas deci-
mais.

Sintaxe
DEC(número; decimais)

Parâmetros
Nome Tipo Descrição

número numérico O valor ou o resultado para o qual o número de casas decimais deve
ser ajustado.
o inteiros: casas decimais são adicionadas ao final do número
como zeros à direita.
o números fracionais: se o número de casas decimais for reduzido,
número será arredondado e não truncado. Se o número de casas
decimais for aumentado, serão adicionados zeros à esquerda do
número.

decimais numérico O número de casas decimais a usar no valor retornado.


Nota
Não é possível usar DEC( ) para aumentar a precisão
decimal dos resultados.
Para obter informações sobre como aumentar a pre-
cisão decimal, consulte Controlar arredondamentos em
expressões numéricas.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 7,00:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 550 de 966


Comandos

DEC(7; 2)

Retorna 7,565:

DEC(7,5647; 3)

Retorna 7,56470:

DEC(7,5647; 5)

Exemplos avançados
Calcular os juros diários
Calcula os juros diários com seis casas decimais no campo Taxa_anual :

DEC(Taxa_anual; 6)/365

Observações
Quando usar DEC( )
Use essa função para ajustar o número de casas decimais em um campo ou para arredondar um valor ou
um resultado para um determinado número de casas decimais.

DEC( ) não consegue reverter o arredondamento de ponto


fixo
Não é possível usar a função DEC( ) para reverter o arredondamento padrão efetuado pela aritmética de
ponto fixo em expressões numéricas.

Exemplo
Considere a seguinte série de expressões no Analytics:

1,1 * 1,1 = 1,2


1,1 * 1,10 = 1,21
DEC(1,1 * 1,1; 2) = 1,20

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 551 de 966


Comandos

O arredondamento de ponto fixo significa que o resultado de 1,1 * 1,1 é 1,2 e não 1,21, que é o resultado
não arredondado. O uso de DEC( ) para especificar um resultado com duas casas decimais não cria uma
precisão de duas casas decimais. Em vez disso, adiciona um zero à direita para criar o número espe-
cificado de casas decimais, sem aumentar a precisão.
Para obter informações sobre como aumentar a precisão decimal, consulte Controlar arredondamentos
em expressões numéricas.

Funções relacionadas
Se você quiser arredondar um valor para um número inteiro mais próximo, use a "Função ROUND( )" Na
página 780.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 552 de 966


Comandos

Função DHEX( )
Converte uma cadeia Unicode em formato hexadecimal.
Nota:
Essa função é específica para a edição Unicode do Analytics. Não é uma função suportada
na edição não-Unicode.

Sintaxe
DHEX(campo)

Parâmetros
Nome Tipo Descrição

campo caractere A cadeia Unicode a ser convertida em formato hexadecimal.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "004100420043003100320033":

DHEX("ABC123")

Observações
Como funciona?
DHEX( ) exibe cada caractere com byte duplo usando o formato big-endian, com o byte duplo mais sig-
nificativo armazenado em primeiro lugar.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 553 de 966


Comandos

Cada caractere é representado por um código de quatro caracteres. A cadeia de saída é quatro vezes
mais longa que o valor do campo e inclui os dígitos entre 0 e 9, bem como as letras entre A e F que
compõem os valores hexadecimais.

Funções relacionadas
DHEX( ) é o inverso da função HTOU( ) que converte alores hexadecimais para caracteres Unicode.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 554 de 966


Comandos

Função DICECOEFFICIENT( )
Retorna o coeficiente de Dice entre duas cadeias especificadas, que é uma medida de quanto as duas
cadeias são similares.

Sintaxe
DICECOEFFICIENT(cadeia1; cadeia2 <;ngrama>)

Parâmetros
Nome Tipo Descrição

cadeia1 caractere A primeira cadeia na comparação.

cadeia2 caractere A segunda cadeia na comparação.

ngrama numérico O comprimento do ngrama a ser usado.


opcional Especifique um número inteiro, 1 ou maior. O aumento do com-
primento do ngrama aumenta o rigor do critério de similaridade entre
duas cadeias.
Se o comprimento não é especificado, o valor padrão de 2 é usado.
Ngramas são subcadeias (blocos de caracteres) sobrepostas resul-
tantes da divisão de cadeias de comparação durante o cálculo do coe-
ficiente de Dice.
Para obter informações detalhadas, consulte "Observações" Na
página 557.

Saída
Numérico. O valor é o coeficiente de Dice das duas cadeias, que representa a porcentagem do número
total de ngramas nas duas cadeias que são idênticos. O intervalo é de 0,0000 a 1,0000, inclusive.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 555 de 966


Comandos

Exemplos
Exemplos básicos
Como o comprimento do ngrama afeta o resultado
Os três exemplos abaixo comparam as duas mesmas cadeias. O grau de similaridade retornado varia em
função do comprimento de ngrama especificado.
Retorna 0,9167 (usando o comprimento padrão de ngrama (2), os ngramas nas duas cadeias são 92%
idênticos):

DICECOEFFICIENT("125 SW 39TH ST, Suite 100";"Suite 100, 125 SW 39TH ST")

Retorna 1,0000 (usando um comprimento de ngrama de 1, os ngramas nas duas cadeias são 100% idên-
ticos):

DICECOEFFICIENT("125 SW 39TH ST, Suite 100";"Suite 100, 125 SW 39TH ST"; 1)

Retorna 0,8261 (usando um comprimento de ngrama de 3, os ngramas nas duas cadeias são 83% idên-
ticos):

DICECOEFFICIENT("125 SW 39TH ST, Suite 100";"Suite 100, 125 SW 39TH ST"; 3)

Entrada de campo
Retorna o coeficiente de Dice de cada valor no campo Endereço, quando comparado à cadeia "125 SW
39TH ST, Suite 100" (com base no comprimento padrão de ngrama de 2):

DICECOEFFICIENT(Endereço;"125 SW 39TH ST, Suite 100")

Exemplos avançados
Como trabalhar com elementos transpostos
A redução do comprimento do ngrama e a remoção de caracteres não essenciais permite otimizar o
DICECOEFFICIENT( ) na pesquisa por elementos transpostos.
Retorna 0,7368 (usando o comprimento padrão de ngrama (2), os ngramas nas duas cadeias são 74%
idênticos):

DICECOEFFICIENT("John Smith";"Smith, John")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 556 de 966


Comandos

Retorna 1,0000 (excluindo a vírgula entre o nome e o sobrenome, e usando um comprimento de ngrama de
1, os ngramas nas duas cadeias são 100% idênticos):

DICECOEFFICIENT("John Smith"; EXCLUDE("Smith, John"; ","); 1)

Classificação de valores em relação a "125 SW 39TH ST, Suite 100"


Crie o campo calculado Co_Dice para exibir o coeficiente de Dice entre "125 SW 39TH ST, Suite 100" e
cada valor no campo Endereço:

DEFINE FIELD Co_Dice COMPUTED DICECOEFFICIENT(Endereço;"125 SW 39TH ST, Suite


100")

Adicione o campo calculado Co_Dice à exibição e execute uma classificação rápida do campo em ordem
decrescente para classificar todos os valores do campo Endereço de acordo com sua similaridade com
"125 SW 39TH ST, Suite 100".

Isolamento de duplicidades parciais de "125 SW 39TH ST, Suite 100"


Crie um filtro que isola todos os valores do campo Endereço que estão dentro de um grau de similaridade
especificado com "125 SW 39TH ST, Suite 100":

SET FILTER TO DICECOEFFICIENT(Endereço;"125 SW 39TH ST; Suite 100") > 0,5

A alteração do número na expressão permite ajustar o grau de similaridade nos valores filtrados.

Observações
Quando usar DICECOEFFICIENT( )
Use a função DICECOEFFICIENT( ) para encontrar valores praticamente idênticos (duplicidades parciais).
Você também pode usar DICECOEFFICIENT( ) para encontrar valores com conteúdo idêntico ou quase
idêntico com elementos transpostos. Por exemplo:
l números de telefone ou números de previdência social com dígitos transpostos
l versões do mesmo endereço com formatações diferentes

Como funciona?
DICECOEFFICIENT( ) retorna o coeficiente de Dice das duas cadeias avaliadas, que é uma medida do
grau de similaridade entre as cadeias em uma escala de 0,0000 a 1,0000. Quanto maior o valor retornado,
maior a semelhança das duas cadeias:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 557 de 966


Comandos

l 1,0000 – indica que cada cadeia é composta por um conjunto de caracteres idêntico, embora os
caracteres possam estar em ordem diferente ou serem caracteres maiúsculos em um conjunto de
caracteres e caracteres minúsculos no outro conjunto de caracteres.
l 0,7500 – significa que os ngramas nas duas cadeias são 75% idênticos.
l 0,0000 – significa que as duas cadeias não têm ngramas compartilhados (explicado abaixo) ou que
o comprimento especificado do ngrama usado no cálculo é maior que o comprimento da menor das
duas cadeias comparadas.

Dicas de uso
l Filtragem ou ordenação: A filtragem ou a ordenação dos valores em um campo com base em seu
coeficiente de Dice identifica os valores mais semelhantes à cadeia de comparação.
l Diferenciação de maiúsculas e minúsculas: A função não diferencia maiúsculas de minúsculas,
portanto "SMITH" é equivalente a "smith."
l Brancos à esquerda e à direita: A função elimina automaticamente brancos à esquerda ou à
direita, eliminando, portanto, a necessidade de usar as funções TRIM( ) ou ALLTRIM( ) ao espe-
cificar um campo como parâmetro.
l Remoção de elementos genéricos: As funções OMIT( ) e EXCLUDE( ) podem melhorar a eficácia
da função DICECOEFFICIENT( ) removendo elementos genéricos, como "Companhia" ou "Inc." ou
caracteres como vírgulas, pontos e E comercial (&) dos valores do campo.
A remoção de elementos e pontuação genéricos concentra a comparação de cadeia
DICECOEFFICIENT( ) somente na parte das cadeias onde pode ocorrer uma diferença sig-
nificativa.

Como o coeficiente de Dice é calculado


O coeficiente de Dice representa a porcentagem do número total de ngramas em duas cadeias que são
idênticos.
O coeficiente de Dice é calculado dividindo antes as cadeias sendo comparadas em ngramas. Os ngra-
mas (também denominados qgramas) são subcadeias ou blocos de caracteres sobrepostos, com um
comprimento de n. Você pode especificar o n usando o parâmetro ngrama ou aceitar o comprimento
padrão de 2.

Dois nomes divididos em ngramas


Aqui estão os nomes "João Silva" e "Silva, João" divididos em ngramas com comprimento de 2 e ngramas
com comprimento de 3. Os sublinhados indicam espaços. Os espaços internos e a pontuação são con-
tados como caracteres.

Comprimento do
ngrama "John Smith" - Ngramas "Smith, John D." - ngramas

2 Jo | oh | hn | n_ | _S | Sm | mi | it | th Sm | mi | it | th | h, | ,_ | _J | Jo | oh | hn | n_ | _D | D.

3 Joh | ohn | hn_ | n_S | _Sm | Smi | Smi | mit | ith | th, | h,_ | ,_J | _Jo | Joh | ohn | hn_ | n_

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 558 de 966


Comandos

Comprimento do
ngrama "John Smith" - Ngramas "Smith, John D." - ngramas

mit | ith D | _D.

Fórmula do coeficiente de Dice


Após estabelecer os ngramas para as duas cadeias sendo comparadas, o cálculo é concluído usando a fór-
mula a seguir:
l 2 x número de ngramas compartilhados / número total de ngramas nas duas cadeias
Ngramas compartilhados são ngramas que aparecem nas duas cadeias. Por exemplo, "ABC" e "BCD" com-
partilham o ngrama "BC", supondo um comprimento de ngrama de 2 (AB | BC e BC | CD).

Exemplos de cálculo do coeficiente de Dice


A tabela abaixo ilustra o cálculo do coeficiente de Dice para duas cadeias similares, "John Smith" e "Smith,
John D.", usando comprimentos de ngrama diferentes.
Observe que à medida que o comprimento do ngrama aumenta para o mesmo par de cadeias, o valor do
coeficiente de Dice diminui, indicando menos similaridade. Embora as cadeias sejam as mesmas, o critério
de similaridade torna-se mais rigoroso porque a divisão das cadeias em ngramas-maiores significa que
sequências mais longas de caracteres devem corresponder para que um ngrama se qualifique como com-
partilhado.
Outra maneira de pensa sobre esse ponto é que a ponderação da posição relativa dos caracteres aumenta
em conjunto com o comprimento ngrama. Em contrapartida, a posição relativa dos caracteres não é con-
siderada quando é usado um ngrama de comprimento 1. A posição relativa é a posição dos caracteres
entre si, em vez da posição absoluta em uma cadeia.
Dica
Se você está procurando especificamente uma transposição, use um comprimento de
ngrama de 1.

Comprimento Ngramas com- Coeficiente


do ngrama "John Smith" - Ngramas "Smith, John D." - ngramas partilhados de Dice

1 J|o|h|n|_|S|m|i|t| S|m|i|t|h|,|_|J|o|h|n|_|D|. 10 2x10 /


h (10+14) =
(14 ngramas)
0,8333
(10 ngramas)

2 Jo | oh | hn | n_ | _S | Sm Sm | mi | it | th | h, | ,_ | _J | Jo | oh | hn 8 2x8 / (9+13)
| mi | it | th | n_ | _D | D. = 0,7273
(padrão)
(9 ngramas) (13 ngramas)

3 Joh | ohn | hn_ | n_S | _ Smi | mit | ith | th, | h,_ | ,_J | _Jo | Joh | 6 2x6 / (8+12)
Sm | Smi | mit | ith ohn | hn_ | n_D | _D. = 0,6000
(8 ngramas) (12 ngramas)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 559 de 966


Comandos

Comprimento Ngramas com- Coeficiente


do ngrama "John Smith" - Ngramas "Smith, John D." - ngramas partilhados de Dice

4 John | ohn_ | hn_S | n_ Smit | mith | ith, | th,_ | h,_J | ,_Jo | _ 4 2x4 / (7+11)
Sm | _Smi | Smit | mith Joh | John | ohn_ | hn_D | n_D. = 0,4444
(7 ngramas) (11 ngramas)

DICECOEFFICIENT( ) comparado a ISFUZZYDUP( ) e a


LEVDIST( )
Uma das principais diferenças entre a função DICECOEFFICIENT( ) e as funções ISFUZZYDUP( ) e
LEVDIST( ), que usam a distância de Levenshtein, é que DICECOEFFICIENT( ) não prioriza ou ignora
completamente a posição relativa dos caracteres ou blocos de caracteres nas duas cadeias sendo com-
paradas. A posição relativa é significativa nas funções baseadas na distância de Levenshtein.

Valores de comparação com transposição


Se você está comparando cadeias como endereços, em que elementos inteiros podem ser transpostos,
DICECOEFFICIENT( ) pode ser uma escolha melhor. Por exemplo, o mesmo endereço, com o elemento
"Suite" transposto, é identificado como altamente similar por DICECOEFFICIENT( ), mas como altamente
diferente por LEVDIST( ):

Coeficiente de Dice
Par de endereços (ngrama padrão de 2) Distância de Levenshtein

o 125 SW 39TH ST, Suite 100 0,9167 22


o Suite 100, 125 SW 39TH ST (Quanto maior a distância de
Levenshtein, maior a diferença entre
duas cadeias)

Valores de comparação sem transposição


Se a transposição não é um problema, LEVDIST( ) pode oferecer resultados mais úteis. Por exemplo, o
mesmo nome de empresa com pontuação diferente é identificado como altamente diferente por
DICECOEFFICIENT( ), mas como altamente similar por LEVDIST( ):

Coeficiente de Dice
Par de nomes de empresa (ngrama padrão de 2) Distância de Levenshtein

o AVS, Inc 0,3750 3


o A.V.S. Inc

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 560 de 966


Comandos

Função DIGIT( )
Retorna o dígito superior ou inferior de um byte de tipo de dados Packed (Compactado).

Sintaxe
DIGIT(localização_byte; posição)

Parâmetros
Nome Tipo Descrição

local_do_byte numérico A posição do byte no registro.

posição numérico O dígito a ser retornado:


o especifique 1 para retornar a metade superior do byte
o especifique 2 para retornar a metade inferior do byte

Saída
Numérico.

Exemplos
Exemplos básicos
Um campo compactado com o valor 123,45 (00 12 34 5C), contendo dois decimais e iniciando na posição
10 de byte, aparece no registro de dados no seguinte formato:

Byte 10 Byte 11 Byte 12 Byte 13

UPPER(1) 0 1 3 5

LOWER(2) 0 2 4 C

Retorna 3 (encontra o dígito que aparece na 12a posição na metade superior do byte):

DIGIT(12; 1)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 561 de 966


Comandos

Retorna 4 (encontra o dígito que aparece na 12a posição na metade inferior do byte):

DIGIT(12; 2)

Observações
Como funciona?
DIGIT( ) separa metades individuais de um byte e retorna o valor do byte especificado no parâmetro posi-
ção como um dígito entre 0 e 15.

Quando usar DIGIT( )


Use DIGIT( ) para acessar metades de bytes individuais. Isso é necessário, se você trabalhar com apli-
cativos que usam campos compactados alinhados com metades de byte, tais como aplicativos da Unisys.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 562 de 966


Comandos

Função DOW( )
Retorna um valor numérico (1 a 7) representando o dia da semana para uma data ou datahora espe-
cificada. Abreviação de "Dia da Semana".

Sintaxe
DOW(data/datahora)

Parâmetros
Nome Tipo Descrição

data/datahora datahora O campo, expressão ou valor literal para extrair o dia numérico da
semana.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 4 porque 31 de dezembro de 2014 é uma quarta-feira, o quarto dia da semana:

DOW(`20141231`)

DOW(`20141231 235959`)

Retorna o dia numérico da semana para cada valor no campo Data_fatura:

DOW(Data_fatura)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 563 de 966


Comandos

Exemplos avançados
Identificação de transações que ocorrem em um fim de semana
Use a função DOW( ) para identificar transações que ocorrem em um fim de semana. O filtro abaixo isola
as datas no campo Data_da_trans que ocorrem no sábado ou no domingo:

SET FILTER TO DOW(Data_de_trans) = 7 OR DOW(Data_de_trans) = 1

Observações
Detalhes do parâmetro
Um campo especificado para data/datahora pode usar qualquer formato de data ou datahora, desde que
a definição do campo defina corretamente o formato.

Especificação de literal de data ou de um valor datahora


Ao especificar um valor literal de data ou datahora para data/datahora, você fica restrito aos formatos na
tabela abaixo e o valor deve estar entre apóstrofos invertidos – por exemplo, `20141231`.
Não use separadores como barras (/) ou dois pontos (:) entre os componentes individuais de datas ou
horas.
l Valores de datahora – você pode usar qualquer combinação de formatos de data, separador e
hora listados na tabela abaixo. A data deve preceder a hora e um separador deve ser usado entre
os dois. Os separadores válidos são um único espaço em branco ou as letras 't' ou 'T'.
l Valores de tempo – as horas devem ser especificadas usando o relógio de 24 horas. Os ajustes do
Tempo Universal Coordenado (UTC) devem ser precedidos por um sinal de mais (+) ou de menos
(-).

Exemplos de formato Exemplos de valores literais

AAAAMMDD `20141231`

AAMMDD `141231`

AAAAMMDD hhmmss `20141231 235959`

AAMMDDthhmm `141231t2359`

AAAAMMDDThh `20141231T23`

AAAAMMDD hhmmss+/-hhmm `20141231 235959-0500`

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 564 de 966


Comandos

Exemplos de formato Exemplos de valores literais

(ajuste UTC)

AAMMDD hhmm+/-hh `141231 2359+01`
(ajuste UTC)

Nota
Não use somente hh no formato de hora
principal com dados que têm um ajuste
UTC. Por exemplo, evite: hh+hhmm. Os
resultados podem ser não confiáveis.

Funções relacionadas
Se você precisar retornar:
l o nome do dia da semana, use CDOW( ) em vez de DOW( )
l o dia do mês como número (1 a 31), use DAY( ) em vez de DOW( )

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 565 de 966


Comandos

Função DTOU( )
Converte um valor de data do Analytics para uma cadeia Unicode no idioma e no formato de localidade
especificados. Abreviação de "Data para Unicode".
Nota
Essa função é específica para a edição Unicode do Analytics. Não é uma função supor-
tada na edição não-Unicode.

Sintaxe
DTOU(< data> <;local> <;estilo>)

Parâmetros
Nome Tipo Descrição

data datahora O campo, expressão ou valor literal que será convertido em uma
cadeia Unicode. Se for omitido, a data atual do sistema operacional
opcional
é utilizada.
A data pode conter um valor datahora, mas a parte correspondente
ao horário é ignorada. Valores de hora independentes não são com-
patíveis.
É possível especificar um campo ou um valor de data literal:
o Campo: pode usar qualquer formato de data, desde que a defi-
nição do campo defina corretamente o formato
o Literal: precisa usar um dos formatos AAAAMMDD ou AAMMDD,
por exemplo `20141231`
O valor mínimo de data permitido é 31 de dezembro de 1969.

local caractere O código da localidade que especifica o idioma da cadeia de saída


e, como opção, a versão do idioma associado a um país ou região
opcional
específica.
Por exemplo, "zh" especifica chinês, e "pt_BR" especifica português
brasileiro.
Se for omitido, é utilizada a localidade padrão do computador. Se um
idioma especificado, mas não o país, o país padrão para o idioma
será usado.
Não é possível especificar uma localidade se você não tiver espe-
cificado uma data.
Para obter informações sobre os códigos de locais, consulte www.u-
nicode.org.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 566 de 966


Comandos

Nome Tipo Descrição

estilo numérico O estilo de formato de dados a ser usado para a cadeia Unicode. O
estilo de formato corresponde ao padrão para a localidade espe-
opcional
cificada:
o 0 – formato de especificação completa, como "Domingo, 18 de
setembro de 2016"
o 1 – formato longo, como "18 de setembro de 2016"
o 2 – formato médio, como "18 de set. de 2016"
o 3 – formato numérico curto, como "18/09/16"
Se omitido, o valor padrão 2 é usado. Não é possível especificar um
estilo se você não tiver especificado uma data e uma localidade.

Saída
Caractere.

Exemplos
Exemplos básicos
Valores de entrada literal
Retorna "31 de dezembro de 2014":

DTOU(`20141231`; "pt_BR"; 1)

Retorna "31 grudnia 2014":

DTOU(`20141231`; "pl"; 1)

Valores de entrada de campo


Retorna cada data numérica no campo Data_Fatura como uma cadeia Unicode:

DTOU(Data_fatura; "zh"; 1)

A saída usa o estilo de data completa


Retorna "星 期 三 , 2014 十 二 月 31" (sem identificador de região especificado):

DTOU(`20141231`; "zh"; 0)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 567 de 966


Comandos

Retorna "2014年 12月 31日 星 期 三 " (identificador de região especificado):

DTOU(`20141231`; "zh_CN"; 0)

A saída usa o estilo de data longa


Retorna "2014 十 二 月 31" (sem identificador de região especificado):

DTOU(`20141231`; "zh"; 1)

Retorna "2014年 12月 31日 " (identificador de região especificado):

DTOU(`20141231`; "zh_CN"; 1)

Observações
Funções relacionadas
DTOU( ) é o inverso da função UTOD( ) que converte caracteres Unicode em uma data.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 568 de 966


Comandos

Função EBCDIC( )
Retorna uma cadeia que foi convertida para a codificação de caracteres EBCDIC.

Sintaxe
EBCDIC(cadeia)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor para converter para EBCDIC.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "ñòó@Æ '…@â£K":

EBCDIC("123 Fake St.")

Exemplos avançados
Criação de um campo codificado em EBCDIC para exportação
Para criar um campo, que contenha o valor codificado EBCDIC do campo Nome, para exportar para um
aplicativo que exige a codificação EBCDIC, especifique o seguinte:

DEFINE FIELD Nome_Exp COMPUTED EBCDIC(Nome)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 569 de 966


Comandos

Observações
Quando usar EBCDIC( )
Use essa função para converter os dados para a codificação de caracteres Extended Binary Coded Deci-
mal Interchange Code (EBCDIC). A codificação de caracteres EBCDIC é usada principalmente em sis-
temas operacionais de mainframe da IBM, tais como z/OS.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 570 de 966


Comandos

Função EFFECTIVE( )
Retorna a taxa de juros efetiva anual de um empréstimo.

Sintaxe
EFFECTIVE(taxa_nominal; períodos)

Parâmetros
Nome Tipo Descrição

taxa_nominal numérico A taxa de juros anual nominal.

períodos numérico O número de períodos compostos por ano.


Nota
Especifique um inteiro. Se você especificou uma parte
decimal, ela será truncada.

Saída
Numérico. A taxa é calculada com oito casas decimais.

Exemplos
Exemplos básicos
Retorna 0,19561817 (19,56%), a taxa de juros anual efetiva sobre o saldo não pago de um cartão de cré-
dito que cobra 18% ao ano, compostos mensalmente:

EFFECTIVE(0,18; 12)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 571 de 966


Comandos

Observações
Qual é a taxa de juros anual efetiva?
A taxa de juros anual efetiva de um empréstimo é a taxa de juros anual real paga, considerando os juros
sobre o saldo restante, compostos mensalmente ou diariamente.

Funções relacionadas
A função NOMINAL( ) é o inverso da função EFFECTIVE( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 572 de 966


Comandos

Função EOMONTH( )
Retorna a data do último dia do mês que é o número específico de meses antes ou depois de uma data
específica.

Sintaxe
EOMONTH(< data/datahora> <;meses>)

Parâmetros
Nome Tipo Descrição

data/datahora datahora O campo, expressão ou valor literal do qual será calculada a data do
final do mês. Se for omitido, a data do final do mês será calculada a
opcional
partir da data atual do sistema operacional.
Nota
Você pode especificar um valor datahora para data/-
datahora, mas a parte da hora do valor é ignorada.

meses numérico O número de meses antes ou após data/datahora. Se for omitido, o


valor padrão de 0 (zero) será usado.
opcional
Você não poderá especificar meses se tiver omitido a data/datahora.

Saída
Datahora. O valor de data resultante usa o formato de exibição de data atual do Analytics.

Exemplos
Exemplos básicos
Nenhuma entrada
Retorna o último dia do mês para a data atual do sistema operacional:

EOMONTH( )

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 573 de 966


Comandos

Valores de entrada literal


Retorna `20140131` exibido como 31 Jan 2014 presumindo um formato de exibição atual de data do
Analytics de DD MMM AAAA:

EOMONTH(`20140115`)

Retorna `20140430` exibido como 30 Abr 2014 presumindo um formato de exibição atual de data do
Analytics de DD MMM AAAA:

EOMONTH(`20140115`; 3)

Retorna `20131031` exibido como 31 Out 2013 presumindo um formato de exibição atual de data do
Analytics de DD MMM AAAA:

EOMONTH(`20140115`; -3)

Valores de entrada de campo


Retorna o último dia do mês que está três meses após cada data no campo Data_fatura:

EOMONTH(Data_fatura; 3)

Retorna o último dia do mês que está três meses após cada data no campo Data_fatura, mais um período
de carência de 15 dias:

EOMONTH(Data_fatura + 15; 3)

Retorna o primeiro dia do mês da data da fatura:

EOMONTH(Data_fatura; -1) + 1

Observações
Formatos datahora
Um campo especificado para data/datahora pode usar qualquer formato de data ou datahora, desde que
a definição do campo defina corretamente o formato.
Um valor de data literal deve usar um dos seguintes formatos:
l AAAAMMDD
l AAMMDD

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 574 de 966


Comandos

Você precisa incluir os valores de data literais entre apóstrofos invertidos. Por exemplo: `20141231`

Como funciona o valor meses


l Valor positivo: a data resultante é mais recente que a data/datahora especificada
l Valor for negativo: a data resultante é anterior à data/datahora especificada
l Valor omitido ou '0' (zero): a data de saída será o último dia do mês em que a data/datahora ocorre

Retorna a data do primeiro dia de um mês


Adicione 1 dia ao resultado da função EOMONTH( ) para retornar a data do primeiro dia de um mês.
Retorna `20140201` exibido como 1 Fev 2014 presumindo um formato de exibição atual de data do Analy-
tics de DD MMM AAAA:

EOMONTH(`20140115`) + 1

Funções relacionadas
Use a função GOMONTH( ) se quiser retornar a data exata, em vez da data do último dia do mês, que é o
número de meses especificado antes ou depois de uma data específica.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 575 de 966


Comandos

Função EXCLUDE( )
Retorna uma cadeia que exclui os caracteres especificados.

Sintaxe
EXCLUDE(cadeia; caracteres_a_excluir)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor de onde os caracteres serão excluídos.

caracteres_a_ caractere A lista de caracteres a serem excluídos.


excluir
Se você especificar aspas em caracteres_a_excluir, deverá colocar a
lista de caracteres entre apóstrofos.
Por exemplo: '"-/'

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna " Alberni Street", que é a cadeia de entrada com todos os números excluídos:

EXCLUDE("1550 Alberni Street"; "0123456789")

Retorna todos os valores do campo Número_Produto, com a barra e a cerquilha excluídos:

EXCLUDE(Número_Produto; "/#")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 576 de 966


Comandos

Observações
Como funciona?
A função EXCLUDE( ) compara cada caractere na cadeia com os caracteres listados em caracteres_a_
excluir. Se ocorrer uma correspondência, o caractere é excluído da cadeia resultante.
Por exemplo, a saída para EXCLUDE("123-45-4536"; "-") é "123454536".

Nenhum caractere correspondente


Se não houver correspondências entre cadeia e caracteres_a_excluir, a cadeia e a saída da função serão
iguais.
Por exemplo, a saída de EXCLUDE("ABC"; "D") é "ABC".

Diferenciação de maiúsculas e minúsculas


A função EXCLUDE( ) distingue entre maiúsculas e minúsculas. Se você especificar "ID" em caracteres_a_
excluir, esses caracteres não são excluídos de "id#94022". Se houver a possibilidade de combinação de
minúsculas e maiúsculas, use a função UPPER( ) para converter a cadeia em letras maiúsculas.
Por exemplo:

EXCLUDE(UPPER("id#94022"); "ID#")

Dica de uso
Use EXCLUDE( ) se o conjunto de caracteres a excluir é pequeno e o conjunto de caracteres a incluir é
grande.

Exclusão de apóstrofos e aspas


As aspas são usadas como delimitadores de cadeias. Portanto, para excluir apóstrofos e aspas, é neces-
sário aninhar o EXCLUDE( ) para que haja uma única função para apóstrofos e uma única função para
aspas:

EXCLUDE(EXCLUDE(campo_a_processar; "'"); '"')

Funções relacionadas
A função EXCLUDE( ) é oposta à função INCLUDE( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 577 de 966


Comandos

Função EXP( )
Retorna o valor exponencial (base 10) de uma expressão numérica com um número específico de casas
decimais.

Sintaxe
EXP(número; decimais)

Parâmetros
Nome Tipo Descrição

número numérico O campo numérico, expressão ou valor do qual retornar o valor expo-
nencial.

decimais numérico O número de casas decimais a ser usado no valor retornado.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 1000,00:

EXP(3; 2)

Retorna 72443,596007:

EXP(4,86; 6)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 578 de 966


Comandos

Exemplos avançados
Como encontrar a raiz cúbica
Cria um campo que seja a raiz cúbica do campo X com duas casas decimais:

DEFINE FIELD raiz_cúbica COMPUTED EXP(LOG(X; 6) / 3; 2)

Dica
A n-ésima raiz pode ser determinada dividindo-se o logaritmo do valor por n e tomando-se
o exponencial do resultado.

Observações
Como funciona?
Essa função retorna o valor exponencial (base 10) de uma expressão numérica, que é definido como 10 ele-
vado a n. Por exemplo, o valor exponencial de 3 é 103, ou 1000.

Quando usar EXP( )


Use EXP( ) para aplicativos financeiros que exijam cálculos matemáticos complexos. EXP( ) executa a
mesma operação que o operador exponencial (^), mas pode ser útil em aplicações que utilizem também a
função LOG( ).

Funções relacionadas
O inverso de um expoente é seu logaritmo, então a função EXP( ) é o oposto da função LOG( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 579 de 966


Comandos

Função FILESIZE( )
Retorna o tamanho do arquivo especificado em bytes, ou -1, caso o arquivo não exista.

Sintaxe
FILESIZE(nome_arquivo)

Parâmetros
Nome Tipo Descrição

nome_arquivo caractere O nome do arquivo.


Se o arquivo estiver na mesma pasta que o projeto do Analytics, não
será necessário especificar o caminho do arquivo.
Para arquivos em outras pastas, especifique um caminho relativo ou
um caminho absoluto. Por exemplo:
o "resultados\saida_teste.fil"
o "c:\resultados\saída_teste.fil"
Nota
É necessário especificar o nome do arquivo de dados
físicos (.fil) para tabelas do Analytics e não o nome da
tabela.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 14744:

FILESIZE("Inventário.fil")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 580 de 966


Comandos

Se o arquivo verificado não estiver na mesma pasta do projeto do Analytics, você deverá especificar o cami-
nho relativo ou absoluto do arquivo.
Retorna 6018:

FILESIZE("C:\ACL Data\Arquivos de Dados da Amostra\Backup\Trans_Cp.fil")

Exemplos avançados
Execução de um script se o arquivo não existir
Executa o script importar_dados somente se o arquivo Metaphor_Inventário_2002.fil não existir:

DO SCRIPT importar_dados IF FILESIZE("Metaphor_Inventory_2002.fil") = -1

Registro de um tamanho de arquivo no log de comando do Analytics


Use o comando CALCULATE para registrar o tamanho de Metaphor_Inventário_2002.fil no log
de comandos do Analytics:

CALCULATE FILESIZE("Metaphor_Inventory_2002.fil")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 581 de 966


Comandos

Função FIND( )
Retorna um valor lógico indicando se a cadeia de caracteres especificada está presente em um campo
específico ou em qualquer local no registro.
Nota
A função FIND e o "Comando FIND" Na página 211 são dois recursos separados do
Analytics com diferenças significativas.

Sintaxe
FIND(cadeia <;campo_a_ser_pesquisado>)

Parâmetros
Nome Tipo Descrição

cadeia caractere A cadeia de caracteres que deve ser pesquisada. Essa pesquisa não
diferencia maiúsculas de minúsculas.

campo_a_ser_pes- caractere O campo ou variável a pesquisar. Se omitido, o registro inteiro é pes-


quisado quisado, incluindo qualquer parte indefinida do registro.
opcional

Saída
Lógico. Retorna V (verdadeiro), se o valor da cadeia especificada for encontrada e F (falso), caso con-
trário.

Exemplos
Exemplos básicos
Pesquisa de um registro inteiro
Retorna T para todos os campos que contêm a cadeia "São Paulo" em qualquer campo, cruzando limites
de campos e em qualquer parte indefinida do registro. Caso contrário, retorna F:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 582 de 966


Comandos

FIND("São Paulo")

Pesquisa por um campo único


Retorna T para todos os registros que contêm a cadeia "São Paulo" no campo Cidade. Caso contrário,
retorna F.

FIND("São Paulo"; Cidade)

Retorna T para todos os registros que contêm a cadeia "Sã" no campo Cidade. Caso contrário, retorna F:

FIND("Sã"; Cidade)

Retorna T para todos os registros que contêm a cadeia "São Paulo" precedida por um ou mais espaços no
campo Cidade. Caso contrário, retorna F:

FIND(" São Paulo"; Cidade)

Retorna T para todos os registros com um valor no campo Descrição igual ou que contém o valor da vari-
ável v_termo_pesquisa. Caso contrário, retorna F:

FIND(v_termo_pesquisa; Descricao)

Pesquisa de vários campos


Retorna T para todos os registros que contêm a cadeia "São Paulo" no campo Cidade ou Cidade_2. Caso
contrário, retorna F:

FIND("São Paulo"; Cidade+Cidade_2)

Retorna T para todos os registros que contêm a cadeia "São Paulo" no campo Cidade ou Cidade_2. Caso
contrário, retorna F:

FIND("São Paulo"; Cidade) OR FIND("São Paulo"; Cidade_2)

Combinação com outras funções


Retorna T para todos os registros com um valor no campo Sobrenome_2 que corresponde ou que contém
o valor eliminado do campo Sobrenome. Caso contrário, retorna F:

FIND(ALLTRIM(Sobrenome); Sobrenome_2)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 583 de 966


Comandos

Observações
Quando usar FIND( )
Use a função FIND( ) para testar a presença da cadeia especificada em um campo, em dois ou mais cam-
pos, ou em um registro inteiro.

Como a correspondência funciona


O valor da cadeia pode ser correspondido exatamente ou pode estar contido em uma cadeia mais longa.
Os espaços à esquerda nos campos não afetam a pesquisa, a menos que sejam incluídos um ou mais
espaços no valor da cadeia.

Pesquisar um registro inteiro


Se o campo_a_ser_pesquisado opcional não for especificado, o registro completo será pesquisado, inclu-
indo as partes indefinidas do registro. As fronteiras dos campos são ignoradas quando o registro inteiro é
pesquisado e os espaços à direita nos campos são tratados como caracteres.
Nota
Quando você pesquisar um registro inteiro, será pesquisado o registro físico. Nenhum
campo calculado ou campo relacionado é pesquisado.

Pesquisar um subconjunto de campos


É possível concatenar dois ou mais campos em campo_a_ser_pesquisado se quiser pesquisar em um
subconjunto dos campos em uma tabela. Por exemplo, para pesquisar nos campos Cidade e Cidade_2
pela cadeia "São Paulo":

FIND("São Paulo"; Cidade+Cidade_2)

Os campos concatenados são tratados como um único campo que inclui os espaços à esquerda e à
direita de cada campo, a menos que a função ALLTRIM( ) seja usada para remover espaços.
Também é possível criar uma expressão que pesquisa em cada campo individualmente:

FIND("São Paulo"; Cidade) OR FIND("São Paulo"; Cidade_2)

Se a cadeia incluir um espaço à esquerda, os resultados da pesquisa das duas abordagens podem ser
diferentes.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 584 de 966


Comandos

Diferenciação entre maiúsculas e minúsculas e com-


parações exatas de caractere
A função FIND( ) não diferencia maiúsculas de minúsculas e encontra tanto caracteres ASCII quanto
EBCDIC. A função não é afetada pela opção Comparações exatas de caractere (SET EXACT ON/OFF).

Pesquisar em um campo calculado


Para pesquisar em um campo calculado, o nome totalmente qualificado do campo deve ser especificado
em campo_a_ser_pesquisado. Por exemplo, se Cidade_Fornecedor for um campo calculado que isola a
cidade de um endereço:

FIND("São Paulo"; Cidade_Fornecedor)

Pesquisar em um campo relacionado


Para pesquisar em um campo relacionado, o nome totalmente qualificado do campo deve ser especificado
(ou seja, tabela.campo nome) no valor campo_a_ser_pesquisado:

FIND("São Paulo"; Fornecedor.Cidade_Fornecedor)

Pesquisar dados datahora ou numéricos


É possível usar a função FIND( ) para pesquisar dados datahora ou numéricos nos registros. Não é per-
mitido especificar o campo_a_ser_pesquisado nas pesquisas de datahora ou numéricas.
A cadeia numérica ou datahora deve estar entre aspas e precisa corresponder exatamente à formatação
dos dados de origem, em vez da formação da exibição.
Não é permitido usar a função FIND( ) para pesquisar dados datahora ou numéricos em campos calculados
ou relacionados.
Nota
Não recomendamos usar a função FIND( ) para pesquisar dados datahora ou numéricos
porque pode ser difícil conseguir fazê-lo de forma bem-sucedida.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 585 de 966


Comandos

Função FINDMULTI( )
Retorna um valor lógico indicando se qualquer cadeia em um conjunto de uma ou mais cadeias espe-
cificadas está presente em um campo específico ou em qualquer local no registro.

Sintaxe
FINDMULTI({pesquisar_em|RECORD}; cadeia_1 <;...n>)

Parâmetros
Nome Tipo Descrição

pesquisar_em | caractere O campo ou variável a pesquisar.


RECORD
Especifique a palavra-chave RECORD para pesquisar o registro
inteiro, inclusive qualquer parte indefinida do registro.
Você também pode especificar uma lista de campos concatenando
nomes de campos:

Field_1+Field_2+Field_3

cadeia_1 <;...n> caractere Um ou mais cadeias de caracteres para pesquisar. Separe várias
cadeias de pesquisa com vírgulas:

FINDMULTI(RECORD; "Joa"; "Jim"; "Joh")

A pesquisa não diferencia maiúsculas de minúsculas.

Saída
Lógico. Retorna T (verdadeiro) se qualquer um dos valores especificados de cadeia for encontrado; caso
contrário, retorna F (falso).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 586 de 966


Comandos

Exemplos
Exemplos básicos
Pesquisa de um registro inteiro
Retorna T para todos os campos que contêm a cadeia "São Paulo" ou "Porto Alegre" em qualquer campo,
cruzando limites de campos e em qualquer parte indefinida do registro. Caso contrário, retorna F:

FINDMULTI(RECORD; "São Paulo"; "Porto Alegre")

Pesquisa por um campo único


Retorna T para todos os registros que contêm a cadeia "São Paulo" ou "Porto Alegre" no campo Cidade.
Caso contrário, retorna F:

FINDMULTI(Cidade; "São Paulo"; "Porto Alegre")

Retorna T para todos os registros que contêm a cadeia "Sã" ou "Por" no campo Cidade. Caso contrário,
retorna F:

FINDMULTI(Cidade; "Sã"; "Por")

Retorna T para todos os registros que contêm a cadeia "São Paulo" ou "Porto Alegre" precedida por um ou
mais espaços no campo Cidade. Caso contrário, retorna F:

FINDMULTI(Cidade; " São Paulo"; " Porto Alegre")

Retorna T para todos os registros com um valor no campo Descrição igual ou que contém qualquer um dos
valores nas variáveis v_termo_pesquisa. Caso contrário, retorna F:

FINDMULTI(Descricao; v_termpo_pesquisa_1; v_termo_pesquisa_2; v_termo_pesquisa_3)

Pesquisa de vários campos


Retorna T para todos os registros que contêm a cadeia "São Paulo" ou "Porto Alegre" no campo Cidade ou
Cidade_2. Caso contrário, retorna F:

FINDMULTI(Cidade+Cidade_2; "São Paulo"; "Porto Alegre")

Retorna T para todos os registros que contêm a cadeia "São Paulo" ou "Porto Alegre" no campo Cidade ou
Cidade_2. Caso contrário, retorna F:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 587 de 966


Comandos

FINDMULTI(Cidade; "São Paulo"; "Porto Alegre") OR FINDMULTI(Cidade_2; "São Paulo"; "Porto


Alegre")

Combinação com outras funções


Retorna T para todos os registros com um valor no campo Sobrenome_1 que corresponde ou que con-
tém o valor eliminado do campo Sobrenome_2 ou Sobrenome_3. Caso contrário, retorna F:

FINDMULTI(Sobrenome_1; ALLTRIM(Sobrenome_2); ALLTRIM(Sobrenome_3))

Observações
Quando usar FINDMULTI( )
Use a função FINDMULTI( ) para testar a presença de qualquer das cadeias especificadas em um campo,
em dois ou mais campos ou em um registro inteiro.

Como a correspondência funciona


O valor da cadeia pode ser correspondido exatamente ou pode estar contido em uma cadeia mais longa.
Os espaços à esquerda nos campos não afetam a pesquisa, a menos que sejam incluídos um ou mais
espaços no valor da cadeia.

Pesquisar um registro inteiro


Se você especificar RECORD em vez de um campo pesquisar_em, o registro inteiro será pesquisado,
incluindo suas partes indefinidas. As fronteiras dos campos são ignoradas quando o registro inteiro é pes-
quisado e os espaços à direita nos campos são tratados como caracteres.
Nota
Quando você pesquisar um registro inteiro, será pesquisado o registro físico. Nenhum
campo calculado ou campo relacionado é pesquisado.

Pesquisar um subconjunto de campos


É possível concatenar dois ou mais campos no parâmetro pesquisar_em se você quiser pesquisar em um
subconjunto dos campos em uma tabela. Por exemplo, para pesquisar os campos Cidade e Cidade_2
para as cadeias "São Paulo" ou "Porto Alegre":

FINDMULTI(Cidade+Cidade_2; "São Paulo"; "Porto Alegre")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 588 de 966


Comandos

Os campos concatenados são tratados como um único campo que inclui os espaços à esquerda e à direita
de cada campo, a menos que a função ALLTRIM( ) seja usada para remover espaços.
Também é possível criar uma expressão que pesquisa em cada campo individualmente:

FINDMULTI(Cidade; "São Paulo"; "Porto Alegre") OR FINDMULTI(Cidade_2; "São Paulo"; "Porto Ale-
gre")

Se o valor de cadeia incluir um espaço à esquerda, os resultados da pesquisa das duas abordagens podem
ser diferentes.

Diferenciação entre maiúsculas e minúsculas e com-


parações exatas de caractere
A função FINDMULTI( ) não diferencia maiúsculas de minúsculas e encontra caracteres ASCII e EBCDIC.
A função não é afetada pela opção Comparações exatas de caractere (SET EXACT ON/OFF).

Pesquisar em um campo calculado


Para pesquisar em um campo calculado, o nome totalmente qualificado do campo deve ser especificado
em pesquisar_em. Por exemplo, se Cidade_Fornecedor for um campo calculado que isola a cidade de um
endereço:

FINDMULTI(Cidade_Fornecedor; "São Paulo"; "Porto Alegre")

Pesquisar em um campo relacionado


Para pesquisar em um campo relacionado, o nome totalmente qualificado do campo deve ser especificado
(ou seja, tabela.campo nome) no valor pesquisar_em:

FINDMULTI(Fornecedor.Cidade_Fornecedor; "São Paulo"; "Porto Alegre")

Pesquisar dados datahora ou numéricos


É possível usar a função FINDMULTI( ) para pesquisar dados datahora ou numéricos nos registros ao espe-
cificar RECORD. A especificação de um campo pesquisar_em não é compatível com a pesquisa de data-
hora ou numérica.
Os valores de cadeias numéricas ou datahora devem estar entre aspas e precisam corresponder exa-
tamente à formatação dos dados de origem, em vez da formatação da exibição.
Não é permitido usar a função FINDMULTI( ) para pesquisar dados datahora ou numéricos em campos cal-
culados ou relacionados.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 589 de 966


Comandos

Nota
Não recomendamos usar a função FINDMULTI( ) para pesquisar dados datahora ou
numéricos porque pode ser difícil conseguir fazê-lo de forma bem-sucedida.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 590 de 966


Comandos

Função FREQUENCY( )
Retorna a frequência de Benford esperada para dígitos numéricos positivos iniciais sequenciais com uma
precisão de oito casas decimais.

Sintaxe
FREQUENCY(cadeia_de_dígito)

Parâmetros
Nome Tipo Descrição

cadeia_de_dígito caractere Uma cadeia de caracteres contendo dígitos (0-9) cuja frequência deve
ser identificada. cadeia_de_dígito deve ser um número positivo e os
zeros à esquerda são ignorados.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 0,00998422:

FREQUENCY("43")

Retorna 0,00000000:

FREQUENCY("87654321")

Nota
O resultado é 0,00000000495, mas como o Analytics calcula a uma precisão de oito casas
decimais, o valor zero é retornado.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 591 de 966


Comandos

Observações
Como funciona?
FREQUENCY( ) retorna a frequência de Benford esperada para dígitos numéricos positivos à esquerda
sequenciais com uma precisão de oito dígitos. Ela permite a execução de testes limitados de Benford
para situações específicas.

Uso desta função para combinações de dígitos específicos


Você pode usar essa função no lugar do comando BENFORD, se quiser enfocar nas combinações de dígi-
tos específicas. Por exemplo, ao efetuar auditorias de pedidos de indenização de seguro que tenham limi-
tes de aprovação com valores especificados, é possível usar a função FREQUENCY( ) para investigar
valores pouco inferiores ao limite de aprovação.
Para investigar pedidos com valor próximo a um limite de aprovação de $ 5.000, é possível selecionar o
intervalo entre $ 4.900 e $ 4.999. Primeiro, conte o número total de registros, então, use um filtro para con-
tar os registros para os quais LEADING( ) retorna 49 e compare a proporção das duas contagens com o
valor obtido para FREQUENCY("49").
Esse procedimento é mais rápido que a execução de uma análise completa de uma tabela com um
milhão de registros, e não gera uma tabela grande ou entradas extensas no log de comando.

Especificação de cadeias com mais de seis dígitos


A especificação de cadeias com mais de seis dígitos pode resultar em valores iguais a zero. Os cálculos
para cadeias com mais de seis dígitos podem exigir precisão maior que o limite do Analytics de oito casas
decimais.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 592 de 966


Comandos

Função FTYPE( )
Retorna um caractere identificando a categoria de dados de um campo ou variável, ou o tipo de um item do
projeto do Analytics.

Sintaxe
FTYPE(cadeia_de_nome_de_campo)

Parâmetros
Nome Tipo Descrição

cadeia_de_nome_ caractere Um nome de campo, nome de variável ou nome do item do projeto do


de_campo Analytics.
Coloque cadeia_de_nome_de_campo entre aspas:

FTYPE("Valor")

Saída
Caractere. Esta função retorna um dos seguintes caracteres, que indica o campo, variável ou tipo de item
do projeto do Analytics:
l "C": Campo de caracteres
l "N": Campo numérico
l "D": Campo de datahora
l "L": Campo lógico
l "c": Variável de caracteres
l "n": Variável numérica
l "d": Variável de datahora
l "l": Variável lógica
l "b": Script do Analytics
l "y": Layout da tabela do Analytics
l "w": Área de trabalho do Analytics
l "i": Índice do Analytics
l "r": Relatório do Analytics
l "a": Arquivo de log do Analytics
l "U": Não definido

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 593 de 966


Comandos

Exemplos
Exemplos básicos
O seguinte exemplo atribui um valor de 4 à variável num e depois verifica o tipo.
Retorna "n":

ASSIGN num = 4
FTYPE("num")

Exemplos avançados
Teste para o tipo de dados de um campo
Você tem um script ou uma análise que exige um campo de Valor numérico e precisa testar se o campo é
do tipo correto antes de executar o script.
O comando a seguir só executa Script_1 se o Valor for um campo numérico:

OPEN Faturas
DO Script_1 IF FTYPE("Valor") = "N"

Teste da existência de uma tabela ou um projeto do Analytics


O comando a seguir somente executará Script_1 se houver uma tabela denominada Faturas no projeto:

DO Script_1 IF FTYPE("Faturas") <> "U"

Teste do ambiente de tempo de execução


Você pode usar FTYPE para determinar se uma análise está em execução no Analytics, no Analytics
Exchange ou na janela Aplicativo de análise.
Se uma análise estiver em execução no Analytics Exchange ou na janela Aplicativo de Análise, 'ax_prin-
cipal' é igual a 'b':

IF FTYPE('ax_principal') = 'b' v_execução_no_ax_ou_ap_análise = T

Se uma análise é executada no Analytics, 'ax_main' é diferente de 'b':

IF FTYPE('ax_main') <> 'b' v_execução_no_ax_ou_no_aplicativo_de_análise = F

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 594 de 966


Comandos

A capacidade de detectar o ambiente do tempo de execução permite projetar um único script que executa
diferentes blocos de códigos, dependendo do aplicativo onde está sendo executado.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 595 de 966


Comandos

Função FVANNUITY( )
Retorna o valor futuro de uma série de pagamentos, calculado usando uma taxa de juros constante. O
valor futuro é a soma dos pagamentos mais os juros compostos acumulados.

Sintaxe
FVANNUITY(taxa; periodos; pagamento <;tipo>)

Parâmetros
Nome Tipo Descrição

taxa numérico A taxa de juros por período.

períodos numérico O número total de períodos de pagamento.

pagamento numérico O pagamento por período.


O valor do pagamento deve ser constante ao longo da anuidade.

tipo numérico A programação dos pagamentos:


opcional o 0 – pagamento no final do período
o 1 – pagamento no início do período
Se omitido, o valor padrão 0 é usado.

Nota
Você deve usar períodos consistentes para especificar taxa, períodos e pagamento para
garantir que está especificando a taxa de juros por período.
Por exemplo:
l para um pagamento mensal de um empréstimo ou investimento de dois anos com
juros de 5% ao ano, especifique 0,05/12 como taxa e 2 * 12 como períodos
l para um pagamento anual do mesmo empréstimo ou investimento, especifique
0,05 como taxa e 2 como períodos

Saída
Numérico. O resultado é calculado para duas casas decimais.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 596 de 966


Comandos

Exemplos
Exemplos básicos
Pagamentos mensais
Retorna 27243,20, o valor futuro de $ 1.000 pagos no início de cada mês por 2 anos a 1% ao mês, com-
postos mensalmente:

FVANNUITY(0,01; 2*12; 1000; 1)

Retorna 12809,33, o valor futuro da mesma anuidade após o primeiro ano:

FVANNUITY(0,01; 12; 1000; 1)

Pagamentos anuais
Retorna 25440,00, o valor futuro de $ 12.000 pagos ao final de cada ano por 2 anos a 12% ao ano, com-
postos anualmente:

FVANNUITY(0,12; 2; 12000; 0)

Exemplos avançados
Cálculos de anuidade
Os cálculos de anuidade envolvem quatro variáveis:
l valor presente ou valor futuro: US$ 21.243,39 e US$ 26.973,46 nos exemplos abaixo
l valor do pagamento por período: US$ 1.000,00 nos exemplos abaixo
l taxa de juros por período: 1% por mês nos exemplos abaixo
l número de períodos: 24 meses nos exemplos abaixo
Se você souber o valor de três das variáveis, poderá usar uma função do Analytics para calcular a quarta.

Eu quero descobrir: Função do Analytics a ser usada:

PVANNUITY( )
Retorna 21243,39:

PVANNUITY(0,01; 24; 1000)


Valor presente

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 597 de 966


Comandos

Eu quero descobrir: Função do Analytics a ser usada:

FVANNUITY( )
Retorna 26973,46:

FVANNUITY(0,01; 24; 1000)


Valor futuro

PMT( )
Retorna 1000:

PMT(0,01; 24; 21243,39)


Valor do pagamento por período

RATE( )
Retorna 0,00999999 (1%):

RATE(24; 1000; 21243,39)


Taxa de juros por período

NPER( )
Retorna 24,00:

NPER(0,01; 1000; 21243,39)


Número de períodos

Fórmulas de anuidade
A fórmula para calcular o valor presente de uma anuidade ordinária (pagamento no final de um período):

A fórmula para calcular o valor futuro de uma anuidade ordinária (pagamento no final de um período):

Observações
Funções relacionadas
A função PVANNUITY( ) é o inverso da função FVANNUITY( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 598 de 966


Comandos

Função FVLUMPSUM( )
Retorna o valor futuro de um valor de um único pagamento atual, calculado usando uma taxa de juros cons-
tante.

Sintaxe
FVLUMPSUM(taxa; períodos; valor)

Parâmetros
Nome Tipo Descrição

taxa numérico A taxa de juros por período.

períodos numérico O número total de períodos.

valor numérico O investimento feito no início do primeiro período.

Nota
Você deve usar períodos consistentes para especificar taxa e períodos para garantir que
está especificando a taxa de juros por período.
Por exemplo:
l para pagamentos mensais de um empréstimo ou investimento de dois anos com
juros de 5% ao ano, especifique 0,05/12 como taxa e 2 * 12 como períodos
l para pagamentos anuais do mesmo empréstimo ou investimento, especifique 0,05
como taxa e 2 como períodos

Saída
Numérico. O resultado é calculado para duas casas decimais.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 599 de 966


Comandos

Exemplos
Exemplos básicos
Juros compostos mensalmente
Retorna 1269,73, o valor futuro de um único pagamento de US$ 1.000 investido por 2 anos a 1% por mês,
composto mensalmente:

FVLUMPSUM(0,01; 2*12; 1000)

Retorna 1126,83, o valor futuro do mesmo investimento depois do primeiro ano:

FVLUMPSUM(0,01; 12; 1000)

Retorna 27243,20, o valor futuro de $ 21.455,82 investidos por 2 anos a 1% ao mês, compostos men-
salmente:

FVLUMPSUM(0,01; 2*12; 21455,82)

Juros compostos semestralmente


Retorna 1262,48, o valor futuro de um único pagamento de US$ 1.000 investido por 2 anos a 12% por
ano, composto semestralmente:

FVLUMPSUM(0,12/2; 2*2; 1000)

Juros compostos anualmente


Retorna 1254,40, o valor futuro de um único pagamento de US$ 1.000 investido por 2 anos a 12% por
ano, composto anualmente:

FVLUMPSUM(0,12; 2; 1000)

Observações
O que é valor futuro?
O valor futuro de um valor de um único pagamento investido é o principal do investimento inicial mais os
juros compostos acumulados.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 600 de 966


Comandos

Funções relacionadas
A função PVLUMPSUM( ) é o inverso da função FVLUMPSUM( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 601 de 966


Comandos

Função FVSCHEDULE( )
Retorna o valor futuro de um valor de um único pagamento atual, calculado usando uma série de taxas de
juros.

Sintaxe
FVSCHEDULE(principal; taxa1 <;taxa2...>)

Parâmetros
Nome Tipo Descrição

principal numérico O valor do investimento inicial.

taxa1; taxa2... numérico Uma série de taxas de juros para períodos de igual duração.
Nota
Os períodos podem representar meses ou anos ou
algum outro período, desde que o tipo de período seja
consistente.
Você deve especificar as taxas de juros por período.
Portanto, se uma das taxas de juros for 5% ao ano e os
períodos forem meses, especifique 0,05/12.

Saída
Numérico. O resultado é calculado para duas casas decimais.

Exemplos
Exemplos básicos
Retorna 1282,93, o valor futuro de um único pagamento de US$ 1000 investido por 3 anos a 10% no pri-
meiro ano, 9% no segundo ano e 7% no terceiro ano, composto anualmente:

FVSCHEDULE(1000; 0,1; 0,09; 0,07)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 602 de 966


Comandos

Observações
O valor futuro de um valor de um único pagamento investido é o principal do investimento inicial mais os
juros compostos acumulados.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 603 de 966


Comandos

Função GETOPTIONS( )
Retorna a configuração atual para a opção do Analytics especificada (configuração da caixa de diálogo
Opções ).

Sintaxe
GETOPTIONS(opção)

Parâmetros
Nome Tipo Descrição

opção caractere A opção do Analytics para a qual será retornada a configuração.


O nome da opção deve ser especificado exatamente como aparece
na lista abaixo, e deve estar entre aspas:
o separadores – retorna as configurações dos três caracteres sepa-
radores atuais do Analytics, na seguinte ordem:
l símbolo de casa decimal
l separador de milhares
l separador de lista
Nota
No momento, "separators" é a única opção que pode
ser especificada para a função GETOPTIONS( ).

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna as configurações dos três caracteres separadores atuais do Analytics. Por exemplo, ".,,":

GETOPTIONS("SEPARATORS")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 604 de 966


Comandos

Exemplos avançados
Uso de GETOPTIONS( ) em um script
Se um script precisar alterar um ou mais dos caracteres separadores do Analytics, a função GETOPTIONS
( ) oferece um método para descobrir a configuração atual. A configuração atual pode ser armazenada em
uma variável e restabelecida no final do script.

ASSIGN v_ConfiguraçãoSeparadores = GETOPTIONS("separadores")


SET SEPARATORS ",.;"
< conteúdo do script>
SET SEPARATORS "%v_ConfiguraçãoSeparadores%"

Observações
Os três caracteres separadores do Analytics são especificados nas seguintes opções na caixa de diálogo
Opções :
l Símbolo de Casa Decimal
l Separador de Milhares
l Separador de Lista

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 605 de 966


Comandos

Função GOMONTH( )
Retorna a data que é o número específico de meses antes ou depois de uma data específica.

Sintaxe
GOMONTH(data/datahora; meses)

Parâmetros
Nome Tipo Descrição

data/datahora datahora O campo, expressão ou valor literal do qual será calculada a data
resultante.

meses numérico O número de meses antes ou após data/datahora.


Nota
Você pode especificar um valor datahora para data/-
datahora, mas a parte da hora do valor é ignorada.

Saída
Datahora. O valor de data resultante usa o formato de exibição de data atual do Analytics.

Exemplos
Exemplos básicos
Valores de entrada literal
Retorna `20140415` exibido como 15 Abr 2014 presumindo um formato de exibição atual de data do
Analytics de DD MMM AAAA:

GOMONTH(`20140115`; 3)

Retorna `20131015` exibido como 15 Out 2013 presumindo um formato de exibição atual de data do
Analytics de DD MMM AAAA:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 606 de 966


Comandos

GOMONTH(`20140115`; -3)

Retorna `20140430` exibido como 30 Abr 2014 presumindo um formato de exibição atual de data do Analy-
tics de DD MMM AAAA (o arredondamento de datas impede de voltar em 31 Abr 2014, que é uma data
inválida):

GOMONTH(`20140330`; 1)

GOMONTH(`20140331`; 1)

Retorna `20140501` exibido como 1 Mai 2014 presumindo um formato de exibição atual de data do Analy-
tics de DD MMM AAAA:

GOMONTH(`20140401`; 1)

Valores de entrada de campo


Retorna a data três meses após cada data no campo Data_fatura:

GOMONTH(Data_fatura; 3)

Retorna a data três meses após cada data no campo Data_fatura, mais um período de carência de 15 dias:

GOMONTH(Data_fatura + 15; 3)

Observações
Formatos datahora
Um campo especificado para data/datahora pode usar qualquer formato de data ou datahora, desde que a
definição do campo defina corretamente o formato.
Um valor de data literal deve usar um dos seguintes formatos:
l AAAAMMDD
l AAMMDD
Você precisa incluir os valores de data literais entre apóstrofos invertidos. Por exemplo: `20141231`

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 607 de 966


Comandos

Como funciona o valor meses


l Valor positivo: a data resultante é mais recente que a data/datahora especificada
l Valor for negativo: a data resultante é anterior à data/datahora especificada
l Valor omitido ou '0' (zero): a data de saída é a mesma que a data/datahora

Arredondamento de data para evitar datas inexistentes


Se a combinação de data/datahora e meses produzir uma data não existente, a função GOMONTH( ) usa
um "arredondamento de data" para retornar a data válida mais próxima dentro do mesmo mês.
Retorna `20140430` (30 Abr 2014) porque 31 Abr 2014 é uma data inválida:

GOMONTH(`20140331`;1)

Funções relacionadas
Use a função EOMONTH( ) se quiser retornar a data do último dia do mês, em vez da data exata, que é o
número de meses especificado antes ou depois de uma data específica.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 608 de 966


Comandos

Função HASH( )
Retorna um hash criptográfico originado baseado no valor de entrada.

Sintaxe
HASH(campo <;valor_de_origem>)

Parâmetros
Nome Tipo Descrição

campo caractere O valor a transformar em hash.


numérico
datahora
lógico

valor_de_origem caractere O valor de origem a ser usado. É possível especificar um número iden-
tificador de PASSWORD de 1 a 10 ou uma cadeia.
opcional numérico
Se omitido, o valor de origem padrão do Analytics será aplicado.
O valor de origem é limitado a 128 caracteres, e é truncado auto-
maticamente em 128 caracteres se um valor mais longo for espe-
cificado.
Para obter mais informações, consulte "O valor de origem" Na
página 612.

Saída
Caractere.

Exemplos
Exemplos básicos
Com o valor de origem padrão do Analytics
Retorna "819A974BB91215D58E7753FD5A42226150100A0763087CA7DECD93F3C3090405":

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 609 de 966


Comandos

HASH("555-44-3322")

Retorna o valor de hash para cada número no campo Número_cartão_crédito:

HASH(Número_cartão_crédito)

Com um valor de origem especificado pelo usuário


Retorna "AD1E7D9B97B6F6B5345AB13471A74C31EBE6630CA2622BB7E8C280E9FBEE1F17":

HASH("555-44-3322"; "meu valor de origem 123")

Exemplos avançados
Garantia de que os valores de hash são idênticos
Use outras funções junto com HASH( ) para padronizar valores de texto livre que devem produzir valores
de hash idênticos.
Considere o seguinte conjunto de exemplos. Note como o uso de maiúsculas/minúsculas dos valores de
texto livre altera completamente o valor de hash de saída nos primeiros dois exemplos.
Retorna "DF6789E1EC65055CD9CA17DD5B0BEA5892504DFE7661D258737AF7CB9DC46462":

HASH("John Smith")

Retorna "3E12EABB5940B7A2AD90A6B0710237B935FAB68E629907927A65B3AA7BE6781D":

HASH("JOHN SMITH")

Usando a função UPPER( ) para padronizar o uso de maiúsculas/minúsculas, o resultado é um valor de


hash idêntico.
Retorna "3E12EABB5940B7A2AD90A6B0710237B935FAB68E629907927A65B3AA7BE6781D":

HASH(UPPER("John Smith"))

Uso de HASH( ) para comparar grandes blocos de texto


Use HASH( ) para testar se os blocos de texto em dois campos de comentário são idênticos.
Para realizar esse teste, crie dois campos calculados similares aos exibidos abaixo e crie um filtro para
encontrar os blocos de texto não idênticos.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 610 de 966


Comandos

DEFINE FIELD Hash_1 COMPUTED HASH(Campo_Comentario_1)


DEFINE FIELD Hash_2 COMPUTED HASH(Campo_Comentario_2)
SET FILTER TO Hash_1 <> Hash_2

Se os campos de comentário estiverem em tabelas separadas, crie um campo calculado HASH( ) em cada
tabela e use esses campos como um campo-chave comum para uma associação não correspondida de
duas tabelas. Os registros da tabela de saída reunida representam os blocos de texto não idênticos.

Observações
Quando usar HASH( )
Use a função HASH( ) para proteger dados delicados como números de cartão de crédito, informações de
salários ou números de seguro social.

Como funciona?
HASH( ) oferece codificação unidirecional. Os dados em texto livre podem ser usados para produzir valores
em hash, porém o valor em hash não pode ser subsequentemente descodificado ou descriptografado.
Um mesmo valor de texto livre sempre produz o mesmo valor de hash, portanto é possível pesquisar um
campo de números de cartão de crédito em hash por duplicações ou reunir dois campos de números de car-
tão de crédito codificados em hash e os resultados serão os mesmos que se a operação fosse executada
nos campos de texto livre equivalentes.

Limpeza de dados confidenciais


Para evitar armazenar dados delicados em um servidor, pode-se criar um campo calculado localmente
usando a função HASH( ) e, então, criar uma nova tabela extraindo o campo em hash e outros campos exi-
gidos enquanto o campo de texto livre é excluído. A nova tabela pode ser usada no servidor para a análise
e, com os resultados, a tabela original pode ser referenciada novamente se for necessário visualizar a ver-
são em texto livre dos dados em hash.
Se o armazenamento local de dados delicados após o uso for proibido, é possível excluir a tabela original
após a nova tabela ser criada com os valores de hash e referenciar os valores de texto livre no sistema de
origem original.

Valores de texto livre devem ser exatamente idênticos


Para produzir valores de hash idênticos, dois campos texto livre devem ser exatamente idênticos. Valores
diferentes de hash, por exemplo, resultam no mesmo número de cartão de crédito com ou sem hifens ou no
mesmo nome com caixa de título ou em maiúsculas.
Pode ser preciso incorporar funções como INCLUDE( ), EXCLUDE( ) ou UPPER( ) na função HASH( ) para
padronizar os valores de texto livre.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 611 de 966


Comandos

Os brancos à esquerda e à direita são eliminados automaticamente pela função HASH( ), portanto, não é
necessário usar as funções TRIM( ) ou ALLTRIM( ).

E se os brancos à esquerda ou à direita forem sig-


nificativos?
Caso existam dados em que os brancos à esquerda ou à direita representem diferenças significativas
entre os valores, será necessário substituir os brancos por outro caractere antes do hashing dos valores.
Substitui brancos nos valores do campo pelo caractere sublinhado (_) antes do hashing:

HASH(REPLACE(nome_campo; " "; "_"))

O algoritmo criptográfico usado por HASH( )


HASH( ) utiliza um algoritmo de hash criptográfico SHA-2 que produz saída em hash de comprimento fixo
de 64 bytes, independente do tamanho do valor de entrada. O valor de texto livre de entrada pode ser
mais longo que 64 bytes.

O valor de origem
Como funciona?
A proteção oferecida pela função HASH( ) é fortalecida pela adição automática de um valor de origem
antes do hashing. O valor de origem é uma cadeia alfanumérica, concatenada ao valor dos dados de ori-
gem. A cadeia concatenada inteira é então usada para produzir o valor originado em hash. Essa abor-
dagem torna os valores em hash mais resistentes a técnicas de decodificação.

Opcionalmente, especifique seu próprio valor de origem


Um valor de origem fixo padrão é usado automaticamente, a menos que você especifique um valor de ori-
gem. Os dois métodos a seguir podem ser usados para especificar um valor de origem:
l O valor de origem como cadeia de texto clara
Especifique uma cadeia alfanumérica, por exemplo. Por exemplo:

HASH(Núm_cartão_credito; "meu valor de origem")

l Valor de origem como senha


Use o comando PASSWORD juntamente com a função HASH( ) e especificar um número iden-
tificador PASSWORD de 1 a 10 como. Por exemplo:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 612 de 966


Comandos

PASSWORD 3 "Insira um valor de origem"


EXTRACT FIELDS HASH(Núm_cartão_crédito; 3) TO "Tabela_protegida"

Nota
O valor de origem PASSWORD deve ser inserido antes de o campo na função HASH
( ) poder ser exportada.
A vantagem do uso de um identificador de PASSWORD com HASH( ) é que não é necessário expor
um valor de origem em texto livre.
Para obter mais informações, consulte "Comando PASSWORD" Na página 363.

Diretrizes de método de senha


O método de senha é destinado a uso em scripts que solicitam a senha no início do script, ou antes que a
função HASH( ) apareça no script.
O método de senha não é adequado para uso em campos calculados, porque as atribuições de
PASSWORD são excluídas ao fechar o Analytics.
Além disso, campos calculados que usam um valor de origem com base em senha são removidos auto-
maticamente das exibições ao reabrir o Analytics. Essa remoção é necessária para evitar o novo cálculo de
valores de hash usando o valor de origem padrão. Os valores recalculados seriam diferentes dos valores
de hash originais calculados com um valor de origem fornecido pelo usuário.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 613 de 966


Comandos

Função HEX( )
Converte uma cadeia ASCII em uma cadeia hexadecimal.

Sintaxe
HEX(campo)

Parâmetros
Nome Tipo Descrição

campo caractere A cadeia ASCII a ser convertida em formato hexadecimal.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "3132333435":

HEX("12345")

Retorna os valores no campo Contagem como cadeias hexadecimais:

HEX(Contagem)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 614 de 966


Comandos

Observações
Como funciona?
Essa função retorna uma cadeia hexadecimal equivalente a um valor de campo ou expressão espe-
cificados. Você pode usar a função quando precisar identificar exatamente o conteúdo de um campo, inclu-
indo os caracteres que não podem ser exibidos na tela, como CR (retorno de carro), LF (quebra de linha) e
NUL (nulo).

Comprimento do valor de retorno


O valor retornado é uma cadeia que tem duas vezes o comprimento do valor campo. Os dígitos de 0 a 9 e
as letras de A a F (para os dígitos de 10 a 15) representam os 16 valores hexadecimais.

Use campos como entrada em vez de expressões


De forma geral, essa função deve ser aplicada aos campos, e não às expressões, uma vez que ela exibe
uma representação do formato de armazenamento interno das expressões, que não é significativo na mai-
oria dos casos.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 615 de 966


Comandos

Função HOUR( )
Extrai a hora de uma hora ou datahora específica e retorna como valor numérico usando o relógio 24
horas.

Sintaxe
HOUR(hora/datahora)

Parâmetros
Nome Tipo Descrição

hora/datahora datahora O campo, expressão ou valor literal do qual será extraída a hora.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 23:

HOUR(`t235959`)

HOUR(`20141231 235959`)

Retorna a hora para cada valor no campo Hora_início_chamada:

HOUR(Ligue_para_a_hora_de_início)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 616 de 966


Comandos

Observações
Detalhes do parâmetro
Um campo especificado para hora/datahora pode usar qualquer formato de data ou datahora, desde que a
definição do campo defina corretamente o formato.
Especificação de uma hora literal ou de um valor datahora
Ao especificar um valor literal de hora ou datahora para hora/datahora, você fica restrito aos formatos na
tabela abaixo e o valor deve estar entre apóstrofos invertidos – por exemplo, `20141231 235959`.
Não use separadores como barras (/) ou dois pontos (:) entre os componentes individuais de datas ou
horas.
l Valores de hora – você pode usar qualquer dos formatos de hora listados na tabela abaixo. Você
deve usar um separador antes de um valor de hora independente para que a função funcione cor-
retamente. Os separadores válidos são as letras 't' ou 'T'. As horas devem ser especificadas usando
o relógio de 24 horas. Os ajustes do Tempo Universal Coordenado (UTC) devem ser precedidos por
um sinal de mais (+) ou de menos (-).
l Valores de datahora – você pode usar qualquer combinação de formatos de data, separador e hora
listados na tabela abaixo. A data deve preceder a hora e um separador deve ser usado entre os dois.
Os separadores válidos são um único espaço em branco ou as letras 't' ou 'T'.

Exemplos de formato Exemplos de valores literais

thhmmss `t235959`

Thhmm `T2359`

AAAAMMDD hhmmss `20141231 235959`

AAMMDDthhmm `141231t2359`

AAAAMMDDThh `20141231T23`

AAAAMMDD hhmmss+/-hhmm `20141231 235959-0500`
(ajuste UTC)

AAMMDD hhmm+/-hh `141231 2359+01`
(ajuste UTC)

Nota
Não use somente hh no formato de hora
principal com dados que têm um ajuste
UTC. Por exemplo, evite: hh+hhmm. Os
resultados podem ser não confiáveis.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 617 de 966


Comandos

Função HTOU( )
Converte uma string hexadecimal em formato Unicode. Abreviação de "Hexadecimal para Unicode".
Nota
Essa função é específica para a edição Unicode do Analytics. Não é uma função supor-
tada na edição não-Unicode.

Sintaxe
HTOU(cadeia_hex)

Parâmetros
Nome Tipo Descrição

cadeia_hex caractere A string hexadecimal a ser convertida em formato Unicode. A cadeia


só pode conter valores hexadecimais, por exemplo "20AC".

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "ABC123":

HTOU("004100420043003100320033")

Exemplos avançados
Adição de um símbolo de moeda a um valor
Você precisa extrair um campo monetário para uma nova tabela. O campo deve exibir o valor do campo

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 618 de 966


Comandos

numérico Valor e incluir no início um símbolo da moeda Euro (€):

EXTRACT HTOU("20AC") + STRING(Valor; 10) AS "Valor_Moeda" TO Exibir_Tabela

Ao executar o comando EXTRACT, HTOU( ) retorna o símbolo do Euro "€" e o concatena com o valor
Valor que STRING( ) converte em caractere. Se o valor original de Valor era 2000, o valor em Valor_
Moeda é "€ 2000".

Observações
Funções relacionadas
HTOU( ) é o inverso da função DHEX( ) que converte caracteres Unicode para valores hexadecimais.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 619 de 966


Comandos

Função INCLUDE( )
Retorna uma cadeia que inclui apenas os caracteres especificados.

Sintaxe
INCLUDE(cadeia; caracteres_a_incluir)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor de restrição de caracteres inclusos.

caracteres_a_incluir caractere A lista de caracteres a serem incluídos.


Se você especificar aspas em caracteres_a_incluir, deverá colocar a
lista de caracteres entre apóstrofos.
Por exemplo: '"-/'
Nota
Se o caractere especificado para inclusão não apa-
recer na cadeia, não será incluído no valor de retorno.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "123", que é a cadeia de entrada com apenas números incluídos:

INCLUDE("Rua Principal 123"; "0123456789")

Retorna "1231234", que é a cadeia de entrada com apenas números incluídos:

INCLUDE("123-123-4"; "1243")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 620 de 966


Comandos

Retorna "" (nada) porque a cadeia de entrada não contém "D":

INCLUDE("ABC"; "D")

Observações
Como funciona?
A função INCLUDE( ) compara cada caractere na cadeia com os caracteres listados em caracteres_a_
incluir. Se ocorrer uma correspondência, o caractere é incluído na cadeia de saída.

Nenhum caractere correspondente


Se não houver correspondências entre cadeia e caracteres_a_incluir, o resultado da função será em
branco.

Diferenciação de maiúsculas e minúsculas


A função INCLUDE( ) distingue entre maiúsculas e minúsculas. Se especificar "ID" em caracteres_a_
incluir, os caracteres não são incluídos em "id#94022". Se houver a possibilidade de combinação de min-
úsculas e maiúsculas, use a função UPPER( ) para converter a cadeia em letras maiúsculas.
Por exemplo:

INCLUDE(UPPER("id#94022"); "ID0123456789")

Dica de uso
Use INCLUDE( ) se o conjunto de caracteres a incluir for pequeno e o conjunto de caracteres a excluir for
grande.

Funções relacionadas
A função INCLUDE( ) é oposta a função EXCLUDE( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 621 de 966


Comandos

Função INSERT( )
Retorna a cadeia original com um texto especificado inserido em um local de byte específico.

Sintaxe
INSERT(cadeia; inserir_texto; local)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor no qual o texto deve ser inserido.

inserir_texto caractere O texto a inserir.

local numérico A posição de caractere em que inserir_texto deve ser inserido em


cadeia.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "aXXXbcde":

INSERT("abcde"; "XXX"; 2)

Retorna "XXXabcde":

INSERT("abcde"; "XXX"; 0)

Retorna "abcdeXXX", com "XXX" inserido na posição do byte 6 em vez de 8, pois "abcde" só tem 5 carac-
teres de comprimento:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 622 de 966


Comandos

INSERT("abcde"; "XXX"; 8)

Observações
Como funciona?
A função INSERT( ) insere caracteres especificados ou espaços em uma cadeia de caracteres, come-
çando em uma posição específica da cadeia.

Quando usar INSERT( )


Use INSERT( ) para normalizar dados para formatação, para correspondência de duplicidades e para os
comandos JOIN e DEFINE RELATION, que exigem campos idênticos.
Por exemplo, os números de peça de um arquivo podem estar no formato "12345" e em outro arquivo, "12-
345." No primeiro arquivo, é possível usar INSERT( ) para inserir um hífen (-) na posição 3.

Diretrizes de localização
l Se o valor local for maior que o comprimento da cadeia o valor inserir_texto será inserido no final da
cadeia.
l Se o local for 0 ou 1, inserir_texto será inserido no início da cadeia.

Inserção de aspas
Se você especificar aspas em inserir_texto, deverá colocá-los entre apóstrofos.
Por exemplo: ""

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 623 de 966


Comandos

Função INT( )
Retorna o valor inteiro de uma expressão numérica ou valor de campo.

Sintaxe
INT(número)

Parâmetros
Nome Tipo Descrição

número numérico O campo ou expressão numérica a ser convertido para um número


inteiro. Se o valor especificado incluir casas decimais, as casas deci-
mais serão truncadas sem arredondamento.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 7:

INT(7,9)

Retorna -7:

INT(-7.9)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 624 de 966


Comandos

Função IPMT( )
Retorna os juros pagos em um empréstimo para um único período.

Sintaxe
IPMT(taxa; período_especificado; períodos; valor <;tipo>)

Parâmetros
Nome Tipo Descrição

taxa numérico A taxa de juros por período.

período_espe- numérico O período para o qual você deseja calcular o pagamento de juros.
cificado

períodos numérico O número total de períodos de pagamento.

valor numérico O valor principal do empréstimo.

tipo numérico A programação dos pagamentos:


opcional o 0 – pagamento no final do período
o 1 – pagamento no início do período
Se omitido, o valor padrão 0 é usado.

Nota
Você deve usar períodos consistentes para especificar taxa e períodos para garantir que
está especificando a taxa de juros por período.
Por exemplo:
l para pagamentos mensais de um empréstimo ou investimento de dois anos com
juros de 5% ao ano, especifique 0,05/12 como taxa e 2 * 12 como períodos
l para pagamentos anuais do mesmo empréstimo ou investimento, especifique 0,05
como taxa e 2 como períodos

Saída
Numérico.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 625 de 966


Comandos

Exemplos
Exemplos básicos
Retorna 1489,58, o valor dos juros pagos no primeiro mês de um empréstimo de vinte e cinco anos, $ 
275.000 a 6,5% ao ano, com pagamentos ao final de cada mês:

IPMT(0,065/12; 1; 12*25; 275000; 0)

Retorna 10,00, os juros pagos no mesmo empréstimo no último mês do empréstimo:

IPMT(0,065/12; 300; 12*25; 275000; 0)

Observações
Funções relacionadas
A função PPMT( ) é o complemento da função IPMT( ).
A função CUMIPMT( ) calcula os juros pagos durante um intervalo de períodos.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 626 de 966


Comandos

Função ISBLANK( )
Retorna um valor lógico que indica se o valor da entrada está em branco.

Sintaxe
ISBLANK(cadeia)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor a ser testado para presença de dados em branco.

Saída
Lógico. Retorna V (verdadeiro), se o valor do parâmetro cadeia for em branco e F (falso), caso contrário.

Exemplos
Exemplos básicos
Retorna F:

ISBLANK(" A")

Retorna T:

ISBLANK(" ")

ISBLANK("")

Retorna T para todos os valores do campo Endereço que estão em branco e F para os demais:

ISBLANK(Endereço)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 627 de 966


Comandos

Observações
Quando usar ISBLANK( )
Use ISBLANK( ) durante a fase de integridade de dados de um projeto de análise para identificar os cam-
pos com dados ausentes que podem indicar problemas com os dados de origem.

O que é entrada em branco?


Para que a função avalie como verdadeiro, o valor de entrada deve ser um dos seguintes:
l totalmente em branco (ou seja, contém apenas espaços)
l uma cadeia de comprimento zero
A função identifica apenas os espaços em branco reais nos dados de origem e não os caracteres invá-
lidos que aparecem como espaços em branco em uma exibição.

Caracteres nulos
ISBLANK( ) pode não retornar resultados úteis quando usada com campos de caracteres contendo carac-
teres nulos. O Analytics usa o caractere nulo para indicar o final de uma cadeia e por esse motivo a função
ISBLANK( ) não lerá dados de caracteres após um caractere nulo, inclusive os espaços em branco.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 628 de 966


Comandos

Função ISDEFINED( )
Retorna T (verdadeiro) se o campo ou variável especificado for definido, caso contrário, retorna F (falso).

Sintaxe
ISDEFINED(cadeia)

Parâmetros
Nome Tipo Descrição

cadeia caractere O nome do campo ou variável cuja existência deve ser verificada. O
valor deve ser inserido como uma cadeia entre aspas:

ISDEFINED("v_limite_numérico")

Saída
Lógico.

Exemplos
Exemplos básicos
Retorna T se v_limite_numérico for definida como uma variável ou campo, caso contrário, retorna F:

ISDEFINED("v_limite_numérico")

Exemplos avançados
Uso de ISDEFINED( ) para testar um campo
O seguinte exemplo usa a função ISDEFINED( ) para testar se o campo Limite é definido na tabela antes
de extrair registros com base no valor do campo:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 629 de 966


Comandos

OPEN Metaphor_Funcionários_EUA
IF ISDEFINED("Limite") EXTRACT RECORD IF Limite > 50000 TO "LimiteSuperior.fil"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 630 de 966


Comandos

Função ISFUZZYDUP( )
Retorna um valor lógico que indica se uma cadeia é uma duplicata parcial de uma cadeia de comparação.

Sintaxe
ISFUZZYDUP(cadeia1; cadeia2; levdist <;diffpct>)

Parâmetros
Nome Tipo Descrição

cadeia1 caractere A primeira cadeia na comparação.

cadeia2 caractere A segunda cadeia na comparação.

levdist numérico A máxima distância de Levenshtein permitida entre duas cadeias para
que elas sejam identificadas como duplicidades parciais.
O valor de levdist não pode ser menor que 1 ou maior que 10.
O aumento do valor de levdist aumenta o número de resultados, inclu-
indo valores com um maior grau de parcialidade, ou seja, valores que
são mais diferentes entre si.

diffpct numérico O limite superior para a 'porcentagem de diferença'.


opcional A porcentagem de diferença é explicada em "Como funciona?" Na
página 633.
O valor de pctdif não pode ser menor que 1 ou maior que 99.
Aumentar o valor diffpct aumenta o número de resultados incluindo
valores com uma proporção maior de diferença em relação ao seu
comprimento.
Se omitida, a porcentagem de diferença não é considerada durante o
processamento da função ISFUZZYDUP( ).

Saída
Lógico. Retorna T (verdadeiro) se os valores da cadeia forem duplicidades parciais e F (falso), caso con-
trário.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 631 de 966


Comandos

Exemplos
Exemplos básicos
Retorna F, pois são necessárias duas edições para transformar "Smith" em "Smythe", mas o valor de lev-
dist é apenas 1:

ISFUZZYDUP("Smith";"Smythe"; 1; 99)

Retorna T, pois são necessárias duas edições para transformar "Smith" em "Smythe" e o valor do parâ-
metro levdist é 2:

ISFUZZYDUP("Smith";"Smythe"; 2; 99)

Retorna T porque nenhuma edição é necessária para transformar "SMITH" em "smith" e o valor levdist é
1 (a função ISFUZZYDUP( ) não diferencia maiúsculas e minúsculas):

ISFUZZYDUP("SMITH"; smith"; 1; 99)

Retorna um valor lógico (T ou F), indicando se os valores individuais no campo Sobrenome são dupli-
cidades parciais da cadeia "Smith":

ISFUZZYDUP(Sobrenome;"Smith"; 3; 99)

Exemplos avançados
Trabalho com porcentagem de diferença
A porcentagem de diferença oferece uma ferramenta para reduzir o número de falsos positivos retor-
nados por ISFUZZYDUP( ).
Nenhum diffpct especificado
Retorna T porque são necessárias cinco edições para transformar "abc" em "Smith" e o valor levdist é 5:

ISFUZZYDUP("abc"; "Smith"; 5)

diffpct especificado
Retorna F, mesmo que "abc" esteja dentro da distância de Levenshtein especificada de "Smith", pois 5 edi-
ções/cadeia com comprimento 3 resulta em uma porcentagem de diferença de 167%, que ultrapassa a
diffpct de 99%:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 632 de 966


Comandos

ISFUZZYDUP("abc"; "Smith"; 5; 99)

A porcentagem de diferença é totalmente explicada em "Como funciona?" abaixo.

Isolamento de duplicidades parciais de "Smith"


Crie um filtro que isole todos os valores no campo Sobrenome que são duplicidades parciais de "Smith":

SET FILTER TO ISFUZZYDUP(Sobrenome; "Smith"; 3; 99)

A alteração de valores de levdist ou de pctdif permite ajustar o valor da diferença nos valores filtrados.

Observações
Quando usar ISFUZZYDUP( )
Use a função ISFUZZYDUP( ) para encontrar os valores quase idênticos (duplicidades parciais) ou loca-
lizar ortografia inconsistente em dados inseridos manualmente.

Como funciona?
A função ISFUZZYDUP( ) calcula a distância de Levenshtein entre as duas cadeias e calcula a por-
centagem de diferença.
ISFUZZYDUP( ) avaliado como T (verdadeiro) se:
l A distância de Levenshtein é menor ou igual ao valor levdist.
l A porcentagem de diferença é menor ou igual ao valor diffpct (se especificado).

Distância de Levenshtein
A distância de Levenshtein é um valor que representa o número mínimo de edições de único caractere
necessárias para tornar uma cadeia idêntica à outra.
Para obter mais informações, consulte "Função LEVDIST( )" Na página 642.

Porcentagem de diferença
A porcentagem de diferença é a porcentagem da cadeia mais curta das duas avaliadas que é diferente.
A porcentagem de diferença é o resultado do seguinte cálculo interno do Analytics, que utiliza a distância
de Levenshtein entre as duas cadeias:
Distância de Levenshtein / número de caracteres na cadeia mais curta × 100 = porcentagem de diferença
Usar a porcentagem de diferença opcional ajuda a diminuir o número de falsos positivos retornados por
ISFUZZYDUP( ):

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 633 de 966


Comandos

l O limite superior para diffpct é 99%, o que evita a substituição completa de uma cadeia para torná-
la idêntica.
l As cadeias que precisam de um número maior de edições em relação ao seu comprimento são
excluídas.

Dicas de uso
l Diferenciação de maiúsculas e minúsculas: A função não diferencia maiúsculas de minúsculas,
portanto "SMITH" é equivalente a "smith."
l Brancos à direita: A função elimina automaticamente espaços em branco à direita em campos, por-
tanto, não há necessidade de usar a função TRIM( ) ao especificar um campo como um parâmetro.
l Remoção de caracteres genéricos: A função OMIT( ) pode melhorar a eficácia da função
ISFUZZYDUP( ) removendo elementos genéricos, como "Companhia" ou "Inc." de valores do
campo.
A remoção de elementos genéricos focaliza a comparação da cadeia ISFUZZYDUP( ) apenas na
parte das cadeias onde uma diferença significativa pode ocorrer.

Como o comando FUZZYDUP e a função ISFUZZYDUP( )


diferem
O comando FUZZYDUP identifica todas as duplicidades parciais em um campo, organiza-as em grupos e
produz um conjunto de resultados não exaustivo.
A função ISFUZZYDUP( ) identifica uma lista exaustiva de duplicidades parciais para um valor único de
caractere.
O comando e a função identificam duplicidades exatas. Ao contrário do comando, você não pode excluir
duplicidades exatas quando utilizar a função.

O que significa exaustivo


Exaustiva significa que todos os valores dentro do grau especificado de diferença do valor de teste são
retornados, independentemente de sua posição no campo de teste relativo ao valor de teste.
A função ISFUZZYDUP( ) é útil se os resultados não exaustivos produzidos pelo comando FUZZYDUP
não forem suficientes para a finalidade da sua análise e você precisar examinar cada duplicidade parcial
diretamente procurando por um valor de caractere específico.

Funções relacionadas
l LEVDIST( ): fornece um método alternativo para comparar cadeias com base na distância de
Levenshtein.
Diferente de ISFUZZYDUP( ), LEVDIST( ) diferencia maiúsculas e minúsculas por padrão.
l DICECOEFFICIENT( ): não prioriza ou ignora completamente a posição relativa de caracteres ou
blocos de caracteres durante a comparação de cadeias.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 634 de 966


Comandos

l SOUNDSLIKE( ) e SOUNDEX( ): comparam cadeias com base em uma comparação fonética


(som), em vez de uma comparação ortográfica (ortografia).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 635 de 966


Comandos

Função LAST( )
Retorna um número especificado de caracteres do final de uma cadeia.

Sintaxe
LAST(cadeia; comprimento)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor de que os caracteres devem ser retornados.

comprimento numérico O número de caracteres a retornar.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "Poupança":

LAST("Tipo de conta: Poupança"; 8)

Retorna "efghi":

LAST("abcdefghi"; 5)

Retorna "fghi ":

LAST("abcdefghi "; 5)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 636 de 966


Comandos

Retorna " abc", pois o valor da cadeia é mais curto do que o comprimento especificado de 6, então espaços
à esquerda são adicionados à saída:

LAST("abc"; 6)

Observações
Resultados em branco causados por espaços à direita
Espaços à direita na cadeia podem fazer com que os resultados produzidos pela função LAST( ) sejam
brancos.
Por exemplo, o resultado de LAST("6483-30384   "; 3) é "   ".
Você pode usar a função ALLTRIM( ) em conjunto com LAST( ) para remover eventuais espaços finais na
cadeia.
Por exemplo, LAST(ALLTRIM("6483-30384   "); 3) retorna "384".

Retornando caracteres do início de uma cadeia


Se você quiser retornar um número especificado de caracteres do início de uma cadeia, use a função
SUBSTR( ). Para obter mais informações, consulte "Função SUBSTR( )" Na página 821.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 637 de 966


Comandos

Função LEADING( )
Retorna uma cadeia que contém um número especificado de dígitos iniciais.

Sintaxe
LEADING(número; dígitos_iniciais)

Parâmetros
Nome Tipo Descrição

número numérico O valor de que os dígitos iniciais devem ser retornados.

dígitos_iniciais numérico O número de dígitos à esquerda a serem retornados.

Saída
Caractere.

Exemplos
Exemplos básicos
Entrada numérica literal
Retorna 623:

LEADING(6234,56; 3)

Retorna 62345:

LEADING(-6234,56; 5)

Preenchimento com zeros à direita


Retorna 000:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 638 de 966


Comandos

LEADING(0,00; 3)

Retorna 00000:

LEADING(0,00; 5)

Retorna 35500:

LEADING(3,55; 5)

Observações
Use LEADING( ) para extrair dígitos de um campo numérico como uma cadeia e filtrar os elementos que
não são dígitos, como decimais ou cifrões.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 639 de 966


Comandos

Função LENGTH( )
Retorna o número de caracteres em uma cadeia.

Sintaxe
LENGTH(cadeia)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor cujo comprimento deve ser encontrado.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 15:

LENGTH("ABC Corporation")

Retorna o comprimento em caracteres do campo Descrição no layout da tabela:

LENGTH(Descrição)

Exemplos avançados
Exibição do comprimento de cada endereço em um campo de endereço
Crie um campo calculado que exibe o comprimento em caracteres de cada endereço no campo Rua_

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 640 de 966


Comandos

Fornecedor. Espaços em branco à esquerda e à direita são primeiro eliminados dos valores do endereço
para que não sejam contados no comprimento.

DEFINE FIELD Comprimento_Endereço COMPUTED LENGTH(ALLTRIM(Rua_Fornecedor))

Observações
Como funciona?
A função LENGTH( ) conta o número de caracteres de uma cadeia, incluindo os espaços, e retorna o
número.

Espaços à direita
Os espaços à direita são contados como caracteres. Se não quiser que os espaços à direita sejam con-
tados, use a função TRIM( ) ou ALLTRIM( ) para removê-los. Por exemplo:

LENGTH(TRIM(Rua_Fornecedor))

Se você criar um campo calculado para exibir o comprimento dos valores em um campo e não remover os
espaços à direita, o comprimento máximo do campo será exibido para cada valor.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 641 de 966


Comandos

Função LEVDIST( )
Retorna a distância de Levenshtein entre duas cadeias especificadas, que é uma medida de quanto as
duas cadeias são diferentes.

Sintaxe
LEVDIST(cadeia1; cadeia2 <;diferenciam_maiúsculas_de_minúsculas>)

Parâmetros
Nome Tipo Descrição

cadeia1 caractere A primeira cadeia na comparação.

cadeia2 caractere A segunda cadeia na comparação.

diferenciam_mai- lógico Especifique T para uma comparação de cadeias que diferencie entre
úsculas_de_min- letras maiúsculas e minúsculas, ou F para ignorá-las.
úsculas
Se omitido, o valor padrão T é usado.
opcional

Saída
Numérico. O valor é a distância de Levenshtein entre duas cadeias.

Exemplos
Exemplos básicos
Retorna 3, pois são necessárias duas substituições e uma inserção para transformar "smith" em "Smy-
the":

LEVDIST("smith";"Smythe")

Retorna 2, pois maiúsculas e minúsculas são ignoradas, apenas duas substituições são necessárias para
transformar "smith's" em "Smythes":

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 642 de 966


Comandos

LEVDIST("smith's";"Smythes";F)

Retorna a distância de Levenshtein entre cada valor no campo Sobrenome e a cadeia "Smith":

LEVDIST(TRIM(Sobrenome);"Smith")

Exemplos avançados
Valores de classificação contra "Smith"
Crie o campo calculado Dist_Lev para exibir a distância de Levenshtein entre "Smith" e cada valor no
campo Sobrenome:

DEFINE FIELD Dist_Lev COMPUTED LEVDIST(TRIM(Sobrenome);"Smith"; F)

Adicione o campo calculado Dist_Lev à exibição e classifique rapidamente em ordem crescente para clas-
sificar todos os valores no campo Sobrenome por total de diferença de "Smit".

Isolamento de duplicidades parciais de "Smith"


Crie um filtro que isola todos os valores no campo Sobrenome que estão dentro de uma distância de
Levenshtein especificada em relação a "Smith":

SET FILTER TO LEVDIST(TRIM(Sobrenome);"Smith"; F) < 3

A alteração do número na expressão permite ajustar o valor da distância de Levenshtein nos valores fil-
trados.

Observações
Quando usar LEVDIST( )
Use a função LEVDIST( ) para encontrar os valores quase idênticos (duplicidades parciais) ou localizar orto-
grafia inconsistente em dados inseridos manualmente. LEVDIST( ) também identifica duplicidades exatas.

Como funciona?
A função LEVDIST( ) retorna a distância de Levenshtein entre duas cadeias avaliadas, que é um valor que
representa o número mínimo de edições de caractere individual necessário para tornar uma cadeia idêntica
à outra.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 643 de 966


Comandos

Cada edição necessária aumenta o valor da distância de Levenshtein em 1. Quanto maior a distância de
Levenshtein, maior a diferença entre duas cadeias. Uma distância igual a 0 (zero) significa que as cadeias
são idênticas.

Tipos de edições
As edições podem ser de três tipos:
l inserção
l exclusão
l substituição
As transposições (duas letras adjacentes invertidas) não são reconhecidas pelo algoritmo de Levenshtein
e contam como duas edições, especificamente, duas substituições.

Caracteres não alfanuméricos


Sinais de pontuação, caracteres especiais e espaços em branco são tratados como caracteres indi-
viduais, bem como as letras e números.

Caracteres em maiúscula/minúscula
Alterar um caractere para maiúscula ou minúscula conta como uma substituição, a menos que você des-
ligue a diferenciação entre maiúsculas e minúsculas utilizando a configuração diferencia_maiúsculas_de_
minúsculas.

Posição dos caracteres


A distância de Levenshtein leva em conta a posição dos caracteres. Os mesmos caracteres ordenados de
forma diferente podem resultar em uma distância de Levenshtein diferente.
Retorna 2:

LEVDIST("abc"; "dec")

Retorna 3:

LEVDIST("abc"; "cde")

Uso de TRIM( ) com LEVDIST( )


Para garantir resultados precisos ao utilizar LEVDIST( ) para comparar uma cadeia literal, como "Smith"
com um campo de caracteres, você deve usar a função TRIM( ) para remover espaços à direita do
campo.
Se estiver comparando dois campos, é necessário usar a função TRIM( ) em cada campo.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 644 de 966


Comandos

O algoritmo de Levenshtein conta espaços em branco como caracteres, então quaisquer espaços em
branco finais são incluídos no cálculo do número de edições necessárias para fazer duas cadeias idênticas.

Uso de OMIT( ) com LEVDIST( )


A função OMIT( ) pode melhorar a eficácia da função LEVDIST( ) removendo elementos genéricos, como
"Companhia" ou "Inc." de valores do campo. Remoção de elementos genéricos focaliza a comparação de
cadeias LEVDIST( ) em apenas a parte das cadeias em que uma diferença significativa pode ocorrer.

Funções relacionadas
l ISFUZZYDUP( ): fornece um método alternativo para a comparação de cadeias com base na dis-
tância de Levenshtein.
Diferente do comportamento de LEVDIST( ), ISFUZZYDUP( ) não diferencia maiúsculas de min-
úsculas.
l DICECOEFFICIENT( ): não prioriza ou ignora completamente a posição relativa de caracteres ou
blocos de caracteres durante a comparação de cadeias.
l SOUNDSLIKE( ) e SOUNDEX( ): comparam cadeias com base em uma comparação fonética
(som), em vez de uma comparação ortográfica (ortografia).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 645 de 966


Comandos

Função LOG( )
Retorna o logaritmo (base 10) de uma expressão numérica ou de um valor de campo com um número
específico de casas decimais.

Sintaxe
LOG(número; decimais)

Parâmetros
Nome Tipo Descrição

número numérico O valor para qual o logaritmo deve ser encontrado.

decimais numérico O número de casas decimais de valor de retorno.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 3,0000:

LOG(1000; 4)

Retorna 4,86:

LOG(72443; 2)

Exemplos avançados
Como encontrar a raiz cúbica

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 646 de 966


Comandos

Cria um campo que seja a raiz cúbica do campo X com duas casas decimais:

DEFINE FIELD Raiz_cúbica COMPUTED EXP(LOG(X; 6) / 3; 2)

Nota
A n-ésima raiz é determinada dividindo-se o logaritmo do valor por n e tomando-se o valor
exponencial do resultado.

Observações
Como funciona?
O logaritmo de um número é o expoente (ou potência) de dez necessário para se gerar esse número. Por-
tanto, o logaritmo de 1000 é 3.

Funções relacionadas
A função LOG( ) é o inverso da função EXP( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 647 de 966


Comandos

Função LOWER( )
Retorna uma cadeia com caracteres alfabéticos convertidos em minúsculas.

Sintaxe
LOWER(cadeia)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor a ser convertido para minúsculas.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "abc":

LOWER("ABC")

Retorna "abc 123 def":

LOWER("abc 123 DEF")

Retorna "abcd 12":

LOWER("AbCd 12")

Retorna todos os valores no campo Sobrenome convertidos para letra minúscula:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 648 de 966


Comandos

LOWER(Sobrenome)

Observações
Como funciona?
A função LOWER( ) converte todos os caracteres alfabéticos na cadeia em letras minúsculas. Todos os
caracteres não alfabéticos permanecem inalterados.

Quando usar LOWER( )


Use LOWER( ) ao procurar dados com caixa mista ou indefinida ou quando quiser ter dados formatados
em letras minúsculas.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 649 de 966


Comandos

Função LTRIM( )
Retorna uma cadeia com os espaços iniciais removidos do valor de entrada.

Sintaxe
LTRIM(cadeia)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor de que os espaços iniciais devem ser removidos.

Saída
Caractere.

Exemplos
Exemplos básicos
Observe que em ambos os exemplos, os espaços finais não são removidos pela função LTRIM( ).
Retorna "Salvador   ":

LTRIM("   Salvador   ")

Retorna "São Paulo   ":

LTRIM("   São Paulo   ")

Exemplos avançados
Removendo espaços contínuos
Espaços contínuos não são removidos pela função LTRIM( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 650 de 966


Comandos

Se for necessário remover espaços contínuos à esquerda, você pode criar um campo calculado usando a
expressão:

DEFINE FIELD Descrição_limpa COMPUTED LTRIM(REPLACE(Descrição; CHR(160); CHR(32)))

A função REPLACE( ) substitui todos os espaços contínuos por espaços regulares e LTRIM( ) remove
todos os espaços regulares à esquerda.

Observações
Como funciona?
A função LTRIM( ) remove somente os espaços à esquerda. Os espaços dentro da cadeia e os espaços
finais não são removidos.

Funções relacionadas
LTRIM( ) está relacionada com a função TRIM( ), que remove todos os espaços finais de uma cadeia e com
a função ALLTRIM( ), que remove os espaços à esquerda e à direita.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 651 de 966


Comandos

Função MAP( )
Retorna uma valor lógico que indica se uma cadeia de caracteres corresponde a uma cadeia de for-
matação especificada que contém caracteres curinga, caracteres literais ou ambos.

Sintaxe
MAP(cadeia; formato)

Parâmetros
Nome Tipo Descrição

cadeia caractere O campo, expressão ou valor literal a ser testado por cor-
respondência.

formato caractere O padrão de dados, ou cadeia de caracteres, a ser comparado com a


cadeia.
formato pode conter caracteres curinga, caracteres literais ou uma
combinação de ambos:

"\9\9\9-999-9999"

Os seguintes caracteres curingas são compatíveis:


o "X" - corresponde a todos os caracteres alfabéticos (a a z, A a Z
ou caracteres europeus). Esse caractere curinga não diferencia
maiúsculas de minúsculas. Você pode usar "X" ou "x"
o "9" - corresponde a todos os números (de 0 a 9)
o "!" - corresponde a todos os caracteres que não sejam espaços
o "?" - corresponde a todos os caracteres, incluindo espaços
o "\" - caractere de escape que especifica que o caractere a seguir é
um literal. Utilize o caractere de escape para corresponder lite-
ralmente com todos os caracteres curinga (X, x, 9, ! e ?)
o "\\" – especifica uma barra invertida literal

Saída
Lógico. Retorna T (verdadeiro) caso uma correspondência seja encontrada ou F (falso) caso contrário.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 652 de 966


Comandos

Exemplos
Exemplos básicos
Parâmetros de pesquisa simples
Retorna T:

MAP("ABC Plumbing"; "xxx")

Retorna F (a cadeia contém só 3 números, mas são necessários 4):

MAP("045"; "9999")

Escape de curinga
Se o objetivo é retornar T somente para os valores que começam com o caractere de literal "X", seguido
por qualquer segunda letra, o parâmetro formato "\XX" assegura que o primeiro "X" do parâmetro seja inter-
pretado literalmente e não como curinga.
Retorna T:

MAP("XA-123"; "XX")

MAP("GC-123"; "XX")

MAP("XA-123"; "\XX")

Retorna F:

MAP("GC-123"; "\XX")

Campos e padrões
Retorna T para todos os registros com números de fatura que são iguais ou começam com duas letras
seguidas por cinco números. Caso contrário, retorna F:

MAP(Numero_Fatura; "XX99999")

Retorna T para todos os registros com números de fatura exatamente iguais a "AB12345" ou que come-
çam com "AB12345". Caso contrário, retorna F:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 653 de 966


Comandos

MAP(Numero_Fatura; "AB12345")

Retorna T para todos os registros com números de fatura que são iguais ou começam com "AB", seguido
por cinco números. Caso contrário, retorna F:

MAP(Numero_Fatura; "AB99999")

Retorna T para todos os registros que não correspondem ao formato padrão do número de previdência
social no campo SSN. Caso contrário, retorna F:

NOT MAP(SSN; "999-99-9999")

Exemplos avançados
Extraindo registros com códigos de produtos de 10 caracteres e com os
caracteres à esquerda "859-"
Use uma instrução IF e a função MAP( ) para extrair apenas os registros que têm códigos de produto com
no mínimo 10 caracteres e que têm os caracteres "859-" à esquerda:

EXTRACT RECORD IF MAP(Codigo_Produto; "85\9-999999") TO "Codigos_Longos_859"

Observações
Quando usar MAP( )
Use a função MAP( ) para pesquisar padrões ou formatos específicos nos dados alfanuméricos. Os
padrões ou formatos podem ser compostos por caracteres curingas, caracteres literais ou uma com-
binação de ambos.

Diferenciação de maiúsculas e minúsculas


A função MAP( ) diferencia maiúsculas de minúsculas quando compara dois caracteres de literal. Por
exemplo, "a" não equivale a "A".
Se a cadeia incluir dados de caracteres sem consistência entre maiúsculas e minúsculas, a função
UPPER( ) pode ser usada para converter os valores para maiúscula/minúscula antes de usar MAP( ).
Por exemplo:

MAP(UPPER(Numero_Fatura); "AB99999")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 654 de 966


Comandos

Correspondência parcial
MAP( ) é compatível com correspondência parcial em uma situação, mas não na outra.
Correspondência parcial no MAP( ) não é afetada pela opção Comparações exatas de caractere (SET
EXACT ON/OFF).

Correspondência parcial suportada


A correspondência parcial é compatível se o valor do formato for mais curto que o valor da cadeia.
Retorna T porque o formato é de 7 caracteres e a cadeia é de 9 caracteres:

MAP("AB1234567"; "AB99999")

Nota
Para retornar Verdadeiro, o valor do formato deve aparecer no início do valor da cadeia.

Correspondência parcial não compatível


A correspondência parcial não é compatível se o valor do formato for mais longo que o valor da cadeia.
Retorna F porque o formato é de 7 caracteres e a cadeia é de 6 caracteres:

MAP("AB1234"; "AB99999")

Se o formato for mais longo que a cadeia, o resultado sempre será Falso.

Contagem de espaços em branco


Os espaços em branco são tratados como caracteres e podem ser contabilizados de duas formas:
l faça a correspondência dos brancos literalmente incluindo brancos no valor do formato na posição
apropriada
l usar curinga "?" , que corresponde a todos os caracteres, incluindo brancos
Se preciso, as funções TRIM( ), LTRIM( ) ou ALLTRIM( ) podem ser usadas para remover espaços à
esquerda ou à direita da cadeia, garantindo que somente caracteres de texto e espaços internos sejam
comparados.

Concatenação de campos
É possível concatenar dois ou mais campos na cadeia se quiser pesquisar em mais de um campo de uma
tabela. Os campos concatenados são tratados como um único campo que inclui os brancos à esquerda e à
direita de cada campo, a menos que a função ALLTRIM( ) seja usada para removê-los.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 655 de 966


Comandos

Função MASK( )
Executa uma operação AND de bits nos primeiros bytes de duas cadeias de caracteres.

Sintaxe
MASK(valor_caractere; máscara_caractere)

Parâmetros
Nome Tipo Descrição

valor_caractere caractere A cadeia com o byte para testar.

máscara_caractere caractere A cadeia com o byte para testar contra (o valor da máscara).

Saída
Caractere. A saída é a representação de caractere do resultado binário da operação AND de bits.

Exemplos
Exemplos básicos
Retorna "2" (00110010), o resultado de uma operação AND de bits de 3 (00110011) e 6 (00110110):

MASK("3"; "6")

Observações
Quando usar MASK( )
Use MASK( ) para identificar padrões específicos de bits em um byte de dados, inclusive se um bit espe-
cífico é ou não configurado como 1.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 656 de 966


Comandos

Como funciona?
A função MASK( ) realiza uma operação AND de bits nas representações binárias dos primeiros caracteres
de valor_caractere e máscara_caractere. Os dois bytes de comparação são comparados um bit por vez,
resultando em um terceiro valor binário.
O resultado de cada comparação dos bits correspondentes é 1 ou 0:

bit valor_caractere bit máscara_caractere Resultado

0 0 0

0 1 0

1 0 0

1 1 1

Comparação de cadeias mais longas que um byte


Se uma das cadeias de comparação tiver mais que um byte, os caracteres subsequentes serão ignorados.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 657 de 966


Comandos

Função MATCH( )
Retorna um valor lógico indicando se o valor especificado corresponde a algum dos valores com os quais
está sendo comparado.

Sintaxe
MATCH(valor_de_comparação; teste <;...n>)

Parâmetros
Nome Tipo Descrição

valor_de_com- caractere O campo, expressão ou valor literal a ser testado por cor-
paração respondência.
numérico
datahora

teste <,...n> caractere O campo, expressão ou valor literal a ser comparado com o valor_
comparacao.
numérico
É possível especificar quantos valores de teste forem necessários,
datahora
mas todos os valores especificados devem ser do mesmo tipo de
dados:

MATCH(valor_de_comparação; `20140930`; `20141030`)

Nota
As entradas para a função MATCH( ) podem ser dados de caractere, numéricos ou data-
hora. Não é possível misturar tipos de dados. Todas as entradas devem pertencer à
mesma categoria de dados.

Saída
Lógico. Retorna V (verdadeiro), se for encontrada pelo menos uma correspondência e F (falso), caso con-
trário.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 658 de 966


Comandos

Exemplos
Exemplos básicos
Nota
Os valores de retorno das comparações de caracteres assumem que SET EXACT está
em OFF (a configuração padrão), exceto onde observado.

Teste de valores literais


Retorna T:

MATCH("ABC"; "BCD"; "CDE"; "AB")

Retorna F:

MATCH(98; 99; 100; 101)

Teste de um campo
Retorna T para todos os registros que contêm "Fortaleza", "Rio de Janeiro" ou "Belo Horizonte" no campo
Cidade_Fornecedor. Caso contrário, retorna F:

MATCH(Cidade_Fornecedor; "Rio de Janeiro"; "São Paulo"; "Belo Horizonte")

Retorna T para todos os registros que não contêm "Fortaleza", "Rio de Janeiro" ou "Belo Horizonte" no
campo Cidade_Fornecedor. Caso contrário, retorna F:

NOT MATCH(Cidade_Fornecedor; "Rio de Janeiro"; "São Paulo", "Belo Horizonte")

Retorna T para todos os registros que contêm "FORTALEZA", "RIO DE JANEIRO" ou "BELO
HORIZONTE" no campo Cidade_Fornecedor, independentemente de os caracteres do campo serem mai-
úsculas ou minúsculas. Caso contrário, retorna F:
Os valores no campo Cidade_Fornecedor serão convertidos em maiúsculas antes de serem comparados
com os nomes das cidades em maiúsculas.

MATCH(UPPER(Cidade_Fornecedor), "SÃO PAULO", "RIO DE JANEIRO", "BELO HORIZONTE")

Teste de vários campos


Retorna T para todos os registros que contêm "Fortaleza" nos campos Cidade_Fornecedor, Cidade ou
Cidade_2. Caso contrário, retorna F:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 659 de 966


Comandos

MATCH("Rio de Janeiro"; Cidade_Fornecedor; Cidade; Cidade_2)

Comportamento do SET EXACT


Retorna T para todos os registros com código de produto "A", "D" ou "F" ou códigos de produto come-
çando com "A", "D" ou "F" no campo Codigo_Produto. Caso contrário, retorna F:

MATCH(Codigo_Produto; "A"; "D"; "F")

Retorna T para todos os registros com código de produto de um caractere "A", "D" ou "F" no campo
Codigo_Produto. Retorna F em outros casos (SET EXACT deve estar em ON):

MATCH(Codigo_Produto; "A"; "D"; "F")

Comparação de dois campos


Retorna T para todos os registros que contêm endereços de fornecedor e de colaborador idênticos. Caso
contrário, retorna F:
Pode ser necessário usar outras funções para padronizar o formato dos endereços de fornecedores e de
colaboradores.

MATCH(Endereço_Fornecedor; Colaborador_Endereço)

Comparação de datas
Retorna T para todos os registros com data de fatura entre 30 de Set de 2014 e 30 de Out de 2014. Caso
contrário, retorna F:

MATCH(Data_Fatura; `20140930`; `20141030`)

Exemplos avançados
Extração de registros de inventário anômalos
Use a instrução IF e a função MATCH( ) para extrair registros que contêm diferentes valores no campo
Valor_pelo_Custo_Inventário e no campo calculado Custo_x_Quantidade:

EXTRACT RECORD IF NOT MATCH(Valor_pelo_Custo_Inventário; Custo_x_Quantidade) TO


"Valores_não_correspondentes"

Extração dos registros dos departamentos 101, 103 e 107

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 660 de 966


Comandos

Use uma instrução IF e a função MATCH( ) para extrair apenas os registros associados com os depar-
tamentos 101, 103 ou 107:

EXTRACT RECORD IF MATCH(Depto; "101"; "103"; "107") TO "Tres_Departamentos"

Observações
Use MATCH( ) em vez do operador OR
Você pode usar a função MATCH( ) em vez de expressões que utilizam o operador OR.
Por exemplo:

MATCH(Cidade; "Fortaleza"; "Rio de Janeiro"; "Belo Horizonte")

equivale a

Cidade="Fortaleza" OR Cidade="Rio de Janeiro" OR City="Belo Horizonte"

Precisão decimal de entradas numéricas


Quando as entradas numéricas em comparação têm diferentes precisões de decimais, a comparação usa
o nível mais alto de precisão.
Retorna T, pois 1,23 é igual a 1,23:

MATCH(1,23; 1,23; 1,25)

Retorna F, pois 1,23 é diferente de 1,234 quando a terceira casa decimal é considerada:

MATCH(1,23; 1,234; 1,25)

Parâmetros de caracteres
Diferenciação de maiúsculas e minúsculas
A função MATCH( ) diferencia maiúsculas de minúsculas quando utilizada com dados de caracteres. Na
comparação de caracteres, "a" não é equivalente a "A".
Retorna F:

MATCH("a";"A";"B";"C")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 661 de 966


Comandos

Se você estiver trabalhando com dados com inconsistência entre maiúsculas e minúsculas, poderá usar a
função UPPER( ) para converter os valores para que fiquem consistentes antes de usar MATCH( ).
Retorna T:

MATCH(UPPER("a"); UPPER("A"); UPPER("B"); UPPER("C"))

Correspondência parcial
A correspondência parcial é suportada para comparações de caracteres. Qualquer um dos valores sendo
comparado pode estar contido no outro valor e ser considerado uma correspondência.
Ambos os exemplos retornam T:

MATCH("AB"; "ABC")

MATCH("ABC"; "AB")

Nota
O valor mais curto deve aparecer no início do valor mais longo para constituir uma cor-
respondência.

Correspondência parcial e SET EXACT


A correspondência parcial é ativada quando SET EXACT = OFF, que é a configuração padrão do Analy-
tics. Se SET EXACT = ON, a correspondência parcial é desativada e os valores em comparação devem
corresponder exatamente para que a correspondência seja considerada.
Os dois exemplos acima resultam em Falso quando o SET EXACT está em ON.
Para obter mais informações sobre o SET EXACT (a opção Comparações exatas de caractere), con-
sulte "Comando SET" Na página 424.

Ativação ou desativação de SET EXACT


Para ter certeza de que a opção Comparações exatas de caractere não seja usada com a função
MATCH( ), verifique se a opção está desmarcada na guia Tabela na caixa de diálogo Opções (Fer-
ramentas > Opções ).
Caso um script esteja sendo utilizado, o comando SET EXACT OFF pode ser adicionado antes da função
MATCH( ). Se necessário, você pode restaurar o estado anterior com o comando SET EXACT ON.

Parâmetros de datahora
Um campo de data, datahora ou hora especificado como entrada de função pode usar qualquer formato
de data, datahora ou hora desde que a definição do campo defina corretamente o formato.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 662 de 966


Comandos

Combinação de entradas de dados, datahora e hora


É possível misturar valores de datas, datahora e horas nas entradas da função MATCH( ), mas a mistura
desses subtipos de Datahora pode proporcionar resultados sem significado.
O Analytics usa equivalentes a números seriais para processar cálculos de data hora. Mesmo que você
tenha interesse apenas na parte de data de um valor de datahora, a parte de hora continua a participar do
cálculo.
Considere os exemplos a seguir:
Retorna T, pois 31 de dezembro de 2014 corresponde ao segundo valor de teste:

MATCH(`20141231`;`20141229`;`20141231`)

Retorna F, mesmo se o valor_de_comparação e o segundo valor de teste tiverem uma data idêntica de 31
de dezembro de 2014:

MATCH(`20141231 120000`;`20141229`;`20141231`)

Se examinarmos o equivalente ao número serial dessas duas expressões, poderemos perceber por que a
segunda será avaliada como falso.
Retorna T, pois o número de série valor_de_comparação é igual ao segundo número de série teste:

MATCH(42003,000000; 42001,000000; 42003,000000)

Retorna F, pois o número de série valor_de_comparação não é igual a nenhum dos valores de teste:

MATCH(42003,500000; 42001,000000; 42003,000000)

A parte da data dos números de série 42003,500000 e 42003,000000 corresponde, mas as partes de hora
não. 0,500000 é o equivalente ao número serial 12:00 PM.

Harmonizar subtipos de datahora


Para evitar os problemas que podem ser causados pela mistura de subtipos de datahora, você pode usar
funções para harmonizá-los.
Por exemplo, essa expressão, que usa os mesmos valores iniciais do segundo exemplo acima, é avaliada
como T em vez de F:

MATCH(CTOD(DATE(`20141231 120000`;"YYYYMMDD");"YYYYMMDD");`20141229`;
`20141231`)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 663 de 966


Comandos

Especificação de um valor literal de data, datahora ou hora


Ao especificar um valor literal de data , datahora ou hora para qualquer uma das entradas de função,
você fica restrito aos formatos na tabela abaixo e o valor deve estar entre apóstrofos invertidos – por exem-
plo, `20141231`.
Não use separadores como barras (/) ou dois pontos (:) entre os componentes individuais de datas ou
horas.
l Valores de datahora – você pode usar qualquer combinação de formatos de data, separador e
hora listados na tabela abaixo. A data deve preceder a hora e um separador deve ser usado entre
os dois. Os separadores válidos são um único espaço em branco ou as letras 't' ou 'T'.
l Valores de tempo – as horas devem ser especificadas usando o relógio de 24 horas. Os ajustes do
Tempo Universal Coordenado (UTC) devem ser precedidos por um sinal de mais (+) ou de menos
(-).

Exemplos de formato Exemplos de valores literais

AAAAMMDD `20141231`

AAMMDD `141231`

AAAAMMDD hhmmss `20141231 235959`

AAMMDDthhmm `141231t2359`

AAAAMMDDThh `20141231T23`

AAAAMMDD hhmmss+/-hhmm `20141231 235959-0500`
(ajuste UTC)

AAMMDD hhmm+/-hh `141231 2359+01`
(ajuste UTC)

thhmmss `t235959`

Thhmm `T2359`

Nota
Não use somente hh no formato de hora
principal com dados que têm um ajuste
UTC. Por exemplo, evite: hh+hhmm. Os
resultados podem ser não confiáveis.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 664 de 966


Comandos

Função MAXIMUM( )
Retorna o valor máximo em um conjunto de valores numéricos ou o valor mais recente em um conjunto de
valores de datahora.

Sintaxe
MAXIMUM(valor_1; valor_2 <;...n>)

Parâmetros
Nome Tipo Descrição

valor_1, valor_2<, numérico Os valores a serem comparados, separados por pontos e vírgulas ou
...n> espaços.
datahora
Todos os valores devem ser do mesmo tipo de dados.
Além disso, os valores de datahora devem ser do mesmo subtipo.
Não é possível misturar valores de datas, datahoras ou horas em uma
única execução da função.

Saída
Numérico ou datahora.

Exemplos
Exemplos básicos
Entrada numérica literal
Retorna 7:

MAXIMUM(4; 7)

Retorna 8:

MAXIMUM(4; 7; 3; 8)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 665 de 966


Comandos

Retorna 8,00:

MAXIMUM(4; 7,25; 3; 8)

Entrada de datahora literal


Retorna `20161231`:

MAXIMUM(`20161231`; `20161229`; `20161230`)

Retorna `20161231 23:59:59`:

MAXIMUM(`20161231 235959`; `20161229 235959`)

Retorna `23:59:59`:

MAXIMUM(`.235957`; `.235959`; `.235958`)

Entrada de campo
Retorna a data mais recente entre os três campos para cada registro:

MAXIMUM(Data_Rec; Data_Fatura; Data_Pagamento)

Exemplos avançados
Criação de um campo calculado com um valor padrão mínimo
Se você tiver uma tabela de contas vencidas, crie um campo calculado Juros_a_pagar com um valor
mínimo padrão de US$ 1,00:

DEFINE FIELD Juros_a_pagar COMPUTED MAXIMUM(BALANCE * ANNUAL_RATE; 1)

Se o saldo multiplicado pela taxa de juros for menor que 1 dólar, MAXIMUM( ) retornará 1. Caso con-
trário, MAXIMUM( ) retornará o valor dos juros calculados.

Descobrindo datas além do final de um trimestre


Para descobrir se qualquer data em vários campos é posterior ao final de um trimestre, crie um campo cal-
culado com uma expressão como esta:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 666 de 966


Comandos

DEFINE FIELD Trim_Posterior COMPUTED MAXIMUM(Data_Pedido; Data_Fatura; Data_Paga-


mento; `20160331`)

l Registros com todas as datas iguais ou anteriores a 31 Mar 2016 retornam `20160331`.
l Registros com uma ou mais datas após 31 Mar 2016 retornam a data mais recente entre os três cam-
pos.

Observações
Como as casas decimais funcionam em conjuntos de valo-
res numéricos
Se os valores numéricos sendo comparados não tiverem o mesmo número de casas decimais, o resultado
será ajustado para o maior número de casas decimais.
Retorna 20,400:

MAXIMUM(3,682; 10,88; 20,4)

Você pode usar a função DECIMALS( ) para ajustar o número de casas decimais para parâmetros valor.
Retorna 20,40:

MAXIMUM(DECIMALS(3,682; 2); 10,88; 20,4)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 667 de 966


Comandos

Função MINIMUM( )
Retorna o valor mínimo em um conjunto de valores numéricos ou o valor mais antigo em um conjunto de
valores de datahora.

Sintaxe
MINIMUM(valor_1; valor_2 <;...n>)

Parâmetros
Nome Tipo Descrição

valor_1, valor_2<, numérico Os valores a serem comparados, separados por pontos e vírgulas ou
...n> espaços.
datahora
Todos os valores devem ser do mesmo tipo de dados.
Além disso, os valores de datahora devem ser do mesmo subtipo.
Não é possível misturar valores de datas, datahoras ou horas em
uma única execução da função.

Saída
Numérico ou datahora.

Exemplos
Exemplos básicos
Entrada numérica literal
Retorna 4:

MINIMUM(4; 7)

Retorna 3:

MINIMUM(4; 7; 3; 8)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 668 de 966


Comandos

Retorna 3,00:

MINIMUM(4; 7,25; 3; 8)

Entrada de datahora literal


Retorna `20161229`:

MINIMUM(`20161231`; `20161229`; `20161230`)

Retorna `20161229 23:59:59`:

MINIMUM(`20161231 235959`; `20161229 235959`)

Retorna `23:59:57`:

MINIMUM(`.235957`; `.235959`; `.235958`)

Entrada de campo
Retorna a data mais antiga entre os três campos para cada registro:

MINIMUM(Data_Rec; Data_Fatura; Data_Pagamento)

Exemplos avançados
Identificação do valor mais baixo entre vários campos
Crie um campo calculado para identificar o valor menor entre os campos Custo, Preço_de_venda e
Preço_com_desconto:

DEFINE FIELD Valor_Baixo COMPUTED MINIMUM(Custo; Preço_de_venda; Preço_com_des-


conto)

Descobrindo datas antes do início de um trimestre


Para descobrir se qualquer data em vários campos é anterior ao início de um trimestre, crie um campo cal-
culado com uma expressão como esta:

DEFINE FIELD Trim_Anterior COMPUTED MINIMUM(Data_Pedido; Data_Fatura; Data_Paga-


mento; `20160101`)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 669 de 966


Comandos

l Registros com todas as datas iguais ou posteriores a 1 Jan 2016 retornam `20160101`.
l Registros com uma ou mais datas anteriores a 01 Jan 2016 retornam a data mais antiga entre os
três campos.

Observações
Como as casas decimais funcionam em conjuntos de valo-
res numéricos
Se os valores numéricos sendo comparados não tiverem o mesmo número de casas decimais, o resul-
tado será ajustado para o maior número de casas decimais.
Retorna 3,600:

MINIMUM(3,6;10,88; 20,482)

Você pode usar a função DECIMALS( ) para ajustar o número de casas decimais para parâmetros valor.
Retorna 3,60:

MINIMUM(3,6;10,88; DECIMALS(20,482; 2))

A abreviação MIN( )
No ACLScript, é possível usar a abreviação MIN( ) para a função MINIMUM( ), mesmo que ela não iden-
tifique exclusivamente a função, que é o requisito normal para a abreviação de nomes de função.
MIN( ) também poderia ser uma abreviação para MINUTE( ). No entanto, o Analytics reserva a abre-
viação MIN( ) para a função MINIMUM( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 670 de 966


Comandos

Função MINUTE( )
Extrai os minutos de uma hora ou datahora específica e retorna como valor numérico.

Sintaxe
MINUTE(hora/datahora)

Parâmetros
Nome Tipo Descrição

hora/datahora datahora O campo, expressão ou valor literal do qual serão extraídos os minu-
tos.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 59:

MINUTE(`t235930`)

MINUTE(`20141231 235930`)

Retorna os minutos para cada valor no campo Hora_início_chamada:

MINUTE(Ligue_para_a_hora_de_início)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 671 de 966


Comandos

Observações
Abreviação de MINUTE( ) em scripts
No ACLScript, se a função MINUTE( ) for abreviada, você deverá usar pelo menos as primeiras quatro
letras (MINU). O Analytics reserva a abreviação MIN para a função MINIMUM( ).

Detalhes do parâmetro
Um campo especificado para hora/datahora pode usar qualquer formato de data ou datahora, desde que
a definição do campo defina corretamente o formato.
Especificação de uma hora literal ou de um valor datahora
Ao especificar um valor literal de hora ou datahora para hora/datahora, você fica restrito aos formatos na
tabela abaixo e o valor deve estar entre apóstrofos invertidos – por exemplo, `20141231 235959`.
Não use separadores como barras (/) ou dois pontos (:) entre os componentes individuais de datas ou
horas.
l Valores de hora – você pode usar qualquer dos formatos de hora listados na tabela abaixo. Você
deve usar um separador antes de um valor de hora independente para que a função funcione cor-
retamente. Os separadores válidos são as letras 't' ou 'T'. As horas devem ser especificadas
usando o relógio de 24 horas. Os ajustes do Tempo Universal Coordenado (UTC) devem ser pre-
cedidos por um sinal de mais (+) ou de menos (-).
l Valores de datahora – você pode usar qualquer combinação de formatos de data, separador e
hora listados na tabela abaixo. A data deve preceder a hora e um separador deve ser usado entre
os dois. Os separadores válidos são um único espaço em branco ou as letras 't' ou 'T'.

Exemplos de formato Exemplos de valores literais

thhmmss `t235959`

Thhmm `T2359`

AAAAMMDD hhmmss `20141231 235959`

AAMMDDthhmm `141231t2359`

AAAAMMDDThh `20141231T23`

AAAAMMDD hhmmss+/-hhmm `20141231 235959-0500`
(ajuste UTC)

AAMMDD hhmm+/-hh `141231 2359+01`
(ajuste UTC)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 672 de 966


Comandos

Exemplos de formato Exemplos de valores literais

Nota
Não use somente hh no formato de hora
principal com dados que têm um ajuste
UTC. Por exemplo, evite: hh+hhmm. Os
resultados podem ser não confiáveis.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 673 de 966


Comandos

Função MOD( )
Retorna o resto de divisão de dois números.

Sintaxe
MOD(número; número_divisor)

Parâmetros
Nome Tipo Descrição

número numérico O valor a ser dividido.

número_divisor numérico O número pelo qual o número deve ser dividido.


Se número ou número_divisor, ou ambos, incluírem decimais, o resul-
tado terá a mesma precisão decimal do valor de entrada, com o
maior número de casas decimais. Por exemplo, a saída para MOD
(45,35; 5,3) é "2,95".

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 3:

MOD(93; 10)

Retorna 2,0:

MOD(66; 16,00)

Retorna 3,45:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 674 de 966


Comandos

MOD(53,45; 10)

Exemplos avançados
Cálculo da data de aniversário
Define um campo que mostra o número de meses desde o último aniversário:

DEFINE FIELD Meses_desde_último_aniversário COMPUTED MOD(Meses_de_serviço; 12)

Observações
Quando usar MOD( )
Use a função MOD( ) para testar se é possível fazer a divisão exata entre dois números ou para isolar o
resto de um cálculo de divisão. Esta função divide um número por outro e retorna o resto.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 675 de 966


Comandos

Função MONTH( )
Extrai o mês de uma data ou datahora específica e retorna o mês como valor numérico (1 a 12).

Sintaxe
MONTH(data/datahora)

Parâmetros
Nome Tipo Descrição

data/datahora datahora O campo, expressão ou valor literal do qual será extraído o mês.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 12:

MONTH(`20141231`)

MONTH(`20141231 235959`)

Retorna o mês para cada valor no campo Data_fatura:

MONTH(Data_fatura)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 676 de 966


Comandos

Observações
Detalhes do parâmetro
Um campo especificado para data/datahora pode usar qualquer formato de data ou datahora, desde que a
definição do campo defina corretamente o formato.

Especificação de literal de data ou de um valor datahora


Ao especificar um valor literal de data ou datahora para data/datahora, você fica restrito aos formatos na
tabela abaixo e o valor deve estar entre apóstrofos invertidos – por exemplo, `20141231`.
Não use separadores como barras (/) ou dois pontos (:) entre os componentes individuais de datas ou
horas.
l Valores de datahora – você pode usar qualquer combinação de formatos de data, separador e hora
listados na tabela abaixo. A data deve preceder a hora e um separador deve ser usado entre os dois.
Os separadores válidos são um único espaço em branco ou as letras 't' ou 'T'.
l Valores de tempo – as horas devem ser especificadas usando o relógio de 24 horas. Os ajustes do
Tempo Universal Coordenado (UTC) devem ser precedidos por um sinal de mais (+) ou de menos
(-).

Exemplos de formato Exemplos de valores literais

AAAAMMDD `20141231`

AAMMDD `141231`

AAAAMMDD hhmmss `20141231 235959`

AAMMDDthhmm `141231t2359`

AAAAMMDDThh `20141231T23`

AAAAMMDD hhmmss+/-hhmm `20141231 235959-0500`
(ajuste UTC)

AAMMDD hhmm+/-hh `141231 2359+01`
(ajuste UTC)

Nota
Não use somente hh no formato de hora
principal com dados que têm um ajuste
UTC. Por exemplo, evite: hh+hhmm. Os
resultados podem ser não confiáveis.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 677 de 966


Comandos

Funções relacionadas
Se precisar retornar o nome do mês do ano, use CMOY( ) em vez de MONTH( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 678 de 966


Comandos

Função NOMINAL( )
Retorna a taxa de juros nominal anual de um empréstimo.

Sintaxe
NOMINAL(taxa_efetiva; períodos)

Parâmetros
Nome Tipo Descrição

taxa_efetiva numérico A taxa de juros anual efetiva.

períodos numérico O número de períodos compostos por ano.


Nota
Especifique um inteiro. Se você especificou uma parte
decimal, ela será truncada.

Saída
Numérico. A taxa é calculada com oito casas decimais.

Exemplos
Exemplos básicos
Retorna 0,17998457 (18%), a taxa de juros anual nominal sobre o saldo não pago de um cartão de crédito
que cobra uma taxa de juros anual efetiva de 19,56%:

NOMINAL(0,1956; 12)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 679 de 966


Comandos

Observações
O que é taxa de juros nominal?
A taxa de juros nominal anual de um empréstimo é a taxa de juros declarada ou postada, considerando os
juros sobre o saldo restante, compostos mensalmente ou diariamente.

Funções relacionadas
A função EFFECTIVE( ) é o inverso da função NOMINAL( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 680 de 966


Comandos

Função NORMDIST( )
Retorna a probabilidade de uma variável aleatória de um conjunto de dados distribuído normalmente ser
menor ou igual a um valor especificado, ou exatamente igual a um valor especificado.

Sintaxe
NORMDIST(x; média; desvio_padrão; cumulativo)

Parâmetros
Nome Tipo Descrição

x numérico O valor para o qual você deseja calcular a probabilidade.

média numérico O valor médio do conjunto de dados.

desvio_padrão numérico O desvio padrão do conjunto de dados. O valor desvio_padrão deve


ser maior que 0.

cumulativo lógico Especifique T para calcular a probabilidade de que uma variável ale-
atória seja menor ou igual a x (probabilidade cumulativa) ou F para
calcular a probabilidade de que uma variável aleatória seja exa-
tamente igual a x (probabilidade simples).

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 0,908788780274132:

NORMDIST(42; 40; 1,5; T)

Retorna 0,109340049783996:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 681 de 966


Comandos

NORMDIST(42; 40; 1,5; F)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 682 de 966


Comandos

Função NORMSINV( )
Retorna a pontuação z associada a uma probabilidade especificada em uma distribuição normal padrão. A
pontuação z é o número de desvios padrão que um valor está distante da média de uma distribuição normal
padrão.

Sintaxe
NORMSINV(probabilidade)

Parâmetros
Nome Tipo Descrição

probabilidade numérico A probabilidade para a qual você deseja calcular a pontuação z.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 1,333401745213610:

NORMSINV(0,9088)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 683 de 966


Comandos

Função NOW( )
Retorna a hora atual do sistema operacional como um tipo de dados Datahora.

Sintaxe
NOW()

Parâmetros
Essa função não possui nenhum parâmetro.

Saída
Datahora.

Exemplos
Exemplos básicos
Retorna a hora atual do sistema operacional como um valor datahora, por exemplo, `t235959`, usando o
formato atual de exibição de hora do Analytics:

NOW()

Observações
Funções relacionadas
Se precisar retornar a hora atual do sistema operacional como cadeia de caracteres, use TIME( ) em vez
de NOW( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 684 de 966


Comandos

Função NPER( )
Retorna o número dos períodos necessários para liquidar um empréstimo.

Sintaxe
NPER(taxa; pagamento; valor <;tipo>)

Parâmetros
Nome Tipo Descrição

taxa numérico A taxa de juros por período.

pagamento numérico O pagamento por período.

valor numérico O valor principal do empréstimo.

tipo numérico A programação dos pagamentos:


opcional o 0 – pagamento no final do período
o 1 – pagamento no início do período
Se omitido, o valor padrão 0 é usado.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 300,00, o número de meses necessários para liquidar um empréstimo de $ 275.000 a 6,5% ao
ano, com pagamentos de $ 1.856,82 ao final de cada mês:

NPER(0,065/12; 1856,82; 275000; 0)

Retorna 252,81, o número de meses necessários para liquidar o mesmo empréstimo, com pagamentos de
$ 2,000 ao final de cada mês:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 685 de 966


Comandos

NPER(0,065/12; 2000; 275000; 0)

Retorna 249,92, o número de meses necessários para liquidar o mesmo empréstimo, com pagamentos
de $ 2,000 no início de cada mês:

NPER(0,065/12; 2000; 275000; 1)

Exemplos avançados
Cálculos de anuidade
Os cálculos de anuidade envolvem quatro variáveis:
l valor presente ou valor futuro: US$ 21.243,39 e US$ 26.973,46 nos exemplos abaixo
l valor do pagamento por período: US$ 1.000,00 nos exemplos abaixo
l taxa de juros por período: 1% por mês nos exemplos abaixo
l número de períodos: 24 meses nos exemplos abaixo
Se você souber o valor de três das variáveis, poderá usar uma função do Analytics para calcular a quarta.

Eu quero descobrir: Função do Analytics a ser usada:

PVANNUITY( )
Retorna 21243,39:

PVANNUITY(0,01; 24; 1000)


Valor presente

FVANNUITY( )
Retorna 26973,46:

FVANNUITY(0,01; 24; 1000)


Valor futuro

PMT( )
Retorna 1000:

PMT(0,01; 24; 21243,39)


Valor do pagamento por período

RATE( )
Retorna 0,00999999 (1%):

RATE(24; 1000; 21243,39)


Taxa de juros por período

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 686 de 966


Comandos

Eu quero descobrir: Função do Analytics a ser usada:

NPER( )
Retorna 24,00:

NPER(0,01; 1000; 21243,39)


Número de períodos

Fórmulas de anuidade
A fórmula para calcular o valor presente de uma anuidade ordinária (pagamento no final de um período):

A fórmula para calcular o valor futuro de uma anuidade ordinária (pagamento no final de um período):

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 687 de 966


Comandos

Função OCCURS( )
Retorna a contagem de quantas vezes um trecho de cadeia ocorre em um valor de caracteres espe-
cificado.

Sintaxe
OCCURS(cadeia; pesquisar_por)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor que deve ser pesquisado.


É possível concatenar dois ou mais campos se quiser pesquisar em
mais de um campo de uma tabela:

OCCURS(Nome+Sobrenome;"John")

pesquisar_por caractere O valor pelo qual pesquisar. A pesquisa diferencia maiúsculas de


minúsculas.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 2:

OCCURS("abc/abc/a";"ab")

Retorna 3:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 688 de 966


Comandos

OCCURS("abc/abc/a";"a")

Retorna o número de ocorrências de um hífen em cada valor no campo Número_Fatura:

OCCURS(Numero_Fatura; "-")

Exemplos avançados
Como encontrar números de fatura com mais de um hífen
Se os números de fatura em uma tabela tiverem de ter apenas um hífen, use a função OCCURS( ) para
criar um filtro que separe números de fatura com dois ou mais hifens:

SET FILTER TO OCCURS(Número_Fatura; "-") > 1

Como encontrar ocorrências do valor de um campo em outro campo


Use OCCURS( ) para encontrar ocorrências do valor de um campo em outro campo. Por exemplo, poderia
ser criado um filtro que separa os registros nos quais os valores de Sobrenome ocorrem no campo Nome_
Completo:

SET FILTER TO OCCURS(Nome_Completo; ALLTRIM(Sobrenome)) = 1

A inclusão da função ALLTRIM( ) na expressão remove os espaços à esquerda ou à direita do campo


Sobrenome, garantindo que somente valores de texto sejam comparados.

Como pesquisar diferenciando maiúsculas de minúsculas


Ao contrário da função FIND( ), a função OCCURS( ) diferencia maiúsculas de minúsculas, o que permite
executar pesquisas que diferenciam maiúsculas de minúsculas.
A expressão a seguir separa todos os registros que contêm o nome "EQUIPAMENTOS UNITED", em mai-
úsculas, no campo Nome_Fornecedor e ignora as ocorrências de "Equipamentos United".

SET FILTER TO OCCURS(Nome_Fornecedor; "UNITED EQUIPMENT") > 0

Se quiser encontrar todas as ocorrências de "Equipamentos United", independentemente das mai-


úsculas/minúsculas, use a função UPPER( ) para converter os valores do campo de pesquisa em letras mai-
úsculas:

SET FILTER TO OCCURS(UPPER(Nome_Fornecedor); "UNITED EQUIPMENT") > 0

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 689 de 966


Comandos

Função OFFSET( )
Retorna o valor de um campo com a posição inicial deslocada por um número especificado de bytes.

Sintaxe
OFFSET(campo; número_de_bytes)

Parâmetros
Nome Tipo Descrição

campo caractere Um nome de campo.


numérico
datahora

número_de_bytes numérico Qualquer expressão numérica positiva.

Saída
O valor retornado é do mesmo tipo de dados do parâmetro de entrada campo.

Exemplos
Exemplos básicos
Se você tiver um campo chamado "Número" que contém o valor "1234567890" e você definir um campo
sobreposto chamado "Número_de_deslocamento", que tem uma posição inicial igual a 1, um com-
primento igual a 3 e sem casas decimais, você poderá usar a função OFFSET( ) para deslocar os núme-
ros no campo.
Retorna 123:

OFFSET(Numero_de_deslocamento;0)

Retorna 234:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 690 de 966


Comandos

OFFSET(Numero_de_deslocamento;1)

Retorna 789:

OFFSET(Numero_de_deslocamento;6)

Observações
Você pode usar esta função para deslocar temporariamente a posição inicial de um campo. Isto é útil
quando você está processando dados com a posição inicial do campo variável.
Se usar a função OFFSET( ) com campos calculados condicionais, todos os campos referenciados no
teste IF também serão deslocados.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 691 de 966


Comandos

Função OMIT( )
Retorna uma cadeia com um ou mais subcadeias especificadas removidas.

Sintaxe
OMIT(cadeia1; cadeia2 <;diferenciam_maiúsculas_de_minúsculas>)

Parâmetros
Nome Tipo Descrição

cadeia1 caractere A cadeia da qual remover uma ou mais subcadeias.

cadeia2 caractere Uma ou mais subcadeias para remover.


o Use ponto e vírgula para separar várias subcadeias.
o Use um espaço após a vírgula apenas se for parte da subcadeia
que deseja remover.
o Se o caractere de aspas ocorrer em qualquer uma das sub-
cadeias, coloque o parâmetro inteiro cadeia2 entre apóstrofos (' ')
em vez de aspas.
o Para omitir uma vírgula, coloque uma única vírgula por último na
lista de subcadeias, seguida imediatamente pelas aspas de fecha-
mento (veja o exemplo final abaixo).

diferenciam_mai- lógico Especifique T para que as subcadeias diferenciem entre maiúsculas


úsculas_de_min- e minúsculas ou F para ignorar essa diferenciação.
úsculas
Se diferencia_maiúsculas_de_minúsculas for omitido, o valor padrão
opcional T será usado.

Saída
Caractere.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 692 de 966


Comandos

Exemplos
Exemplos básicos
Entrada de caracteres literais
Retorna "Intercity Couriers":

OMIT("Intercity Couriers Corporation"; " Corporation, Corp.")

Retorna "Inter-city Couriers":

OMIT("Inter-city Couriers Corp."; " Corporation, Corp.")

Nota
A distância de Levenshtein entre os valores retornados nos primeiros dois exemplos é 1.
Se os elementos genéricos não forem removidos, a distância entre os dois exemplos será
8, o que pode permitir que os valores não sejam detectados como duplicidades parciais.

Entrada de campo
Retorna todos os valores no campo Nome_Fornecedor com elementos genéricos como "Companhia" e
"Inc." removido(a):

OMIT(Nome_Fornecedor;" Corporation, Corp., Corp, Inc., Inc, Ltd., Ltd")

Retorna todos os valores no campo Nome_Fornecedor com elementos genéricos como "Companhia" e
"Inc." removido(a):

OMIT(Nome_Fornecedor;" ,.,Corporation;Corp;Inc;Ltd")

Nota
Os dois exemplos anteriores retornam os mesmos resultados, mas a sintaxe para o
segundo exemplo é mais eficiente.
Retorna todos os valores no campo Nome_Fornecedor com "Companhia" e "Corp" removidos, além de
remover todas as vírgulas:

OMIT(Nome_Fornecedor;" Corporation; Corp;")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 693 de 966


Comandos

Observações
OMIT( ) pode remover subcadeias como unidades
A função OMIT( ) remove uma ou mais subcadeias de uma cadeia. Ela é diferente de funções como
CLEAN( ), EXCLUDE( ), INCLUDE( ) e REMOVE( ) porque encontra correspondências e remove carac-
teres com base em subcadeias e não caractere por caractere. A remoção de subcadeias permite remover
palavras específicas, abreviações, ou sequências repetidas de caracteres de uma cadeia sem afetar o res-
tante da cadeia.

Uma função auxiliar para comparações parciais


OMIT( ) pode melhorar a eficácia da função LEVDIST( ) ou ISFUZZYDUP( ), ou do comando FUZZYDUP
ou FUZZYJOIN, removendo elementos genéricos, como "Corporação" ou "Inc." de valores do campo. A
remoção de elementos genéricos focaliza a comparação de cadeias feitas por essas funções e comandos
apenas na parte das cadeias em que uma diferença significativa pode ocorrer.

Como a ordem das subcadeias afeta os resultados


Se você especificar várias subcadeias para remoção, a ordem em que elas são listadas em cadeia2
poderá afetar os resultados de saída.
Quando a função de OMIT( ) é processada, a primeira subcadeia é removida de todos os valores que a
contêm, a segunda subcadeia é então removida de todos os valores que a contêm e assim por diante. Se
uma subcadeia for parte de outra subcadeia - por exemplo, "Corp" e "Corporação" - remover a subcadeia
mais curta primeiro também alterará valores que contêm a subcadeia mais longa ("Corporação" torna-se
"oração") e impedirá que a subcadeia maior seja encontrada.
Para evitar essa situação, especifique subcadeias mais longas antes de qualquer subcadeia mais curta
que elas contenham. Por exemplo:

OMIT(Nome_Fornecedor;" Corporation; Corp.; Corp")

Experimente remover primeiro os caracteres especiais


É possível especificar subcadeias de um único caractere, tais como sinais de pontuação, caracteres espe-
ciais e um espaço em branco, o que reduz ainda mais o material genérico em cadeias. Pode ser mais efi-
ciente remover um único caractere primeiro, como um ponto ou espaço, o que reduz o número de
variações de subcadeia que precisam ser especificadas depois. Compare o terceiro e quarto exemplos
acima. Ambos retornam os mesmos resultados, mas o quarto exemplo é mais eficiente.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 694 de 966


Comandos

Como lidar com brancos ou espaços


Os brancos ou espaços das subcadeias são tratados como qualquer outro caractere. Você deve espe-
cificar explicitamente cada branco que deseja remover de uma subcadeia. Por exemplo, se você espe-
cificar um caractere E comercial sem nenhum branco ("&"), "Ricoh Sales & Service" mudará para "Ricoh
Sales Service". Se você incluir brancos (" & "), "Ricoh Sales & Service" mudará para "Ricoh SalesService".
Se você especificar um branco que não faz parte da subcadeia, ela não será encontrada. Por exemplo, se
você especificar um e comercial com brancos (" & "), "Ricoh Sales&Service" permanecerá inalterado.
Ao usar vírgulas para separar várias subcadeias, acrescente um espaço após a vírgula somente se cor-
responder à subcadeia real que deseja remover.
Uma abordagem para tratar brancos é remover antes todos os brancos de um campo especificando um
branco como uma subcadeia de um único caractere antes de especificar qualquer outra cadeia.

Revisão dos resultados do uso de OMIT( )


Depois de usar OMIT( ) para criar um campo calculado, revise o conteúdo do campo para confirmar que
não omitiu inadvertidamente porções significativas de cadeias. Por exemplo, omitir "Co" elimina uma abre-
viação comum para "Companhia", mas também remove as letras "Co" em dois lugares na palavra "Coca-
Cola".

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 695 de 966


Comandos

Função PACKED( )
Retorna os dados numéricos convertidos para tipo de dados Packed (Compactado).

Sintaxe
PACKED(número; comprimento_do_resultado)

Parâmetros
Nome Tipo Descrição

número numérico O valor numérico de campo a ser convertido.

comprimento_do_ numérico O número de bytes a ser usado na cadeia de saída.


resultado

Saída
Numérico.

Exemplos
Exemplos básicos
Inteiro e entrada decimal
Retorna 00075C:

PACKED(75; 3)

PACKED(7,5; 3)

Dígitos truncados na saída


Retorna 00000012456D:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 696 de 966


Comandos

PACKED(-12,456; 6)

Retorna 456D:

PACKED(-12,456; 2)

Exemplos avançados
Criação de um campo de 8 bytes para atualizar um mainframe
É necessário criar um campo de 8 bytes que contenha o salário de cada funcionário como um número
PACKED para carregá-lo em um mainframe:

EXTRACT PACKED(SALARY; 8) AS "Exportar_Salário" TO "exportar"

Observações
O que são dados compactados?
O tipo de dados Packed é usado pelos sistemas operacionais de mainframe para armazenar valores numé-
ricos em um formato que usa espaço de armazenamento mínimo. O tipo de dados Packed armazena dois
dígitos em cada byte e o último byte indica se o valor é positivo ou negativo.

Quando usar PACKED( )


Utilize a função PACKED( ) para converter dados numéricos para o formato Packed para exportação para
os sistemas mainframe.

Valores de retorno truncados


Se o valor do comprimento_de_resultado for mais curto que o comprimento do valor número os dígitos adi-
cionais serão truncados.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 697 de 966


Comandos

Função PI( )
Retorna o valor de pi com 15 casas decimais.

Sintaxe
PI( )

Parâmetros
Essa função não possui nenhum parâmetro.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 3,141592653589793 (o valor de pi com 15 casas decimais):

PI( )

Retorna 1,047197551196598 (o equivalente em radianos de 60 graus):

60 * PI( )/180

Exemplos avançados
Uso de graus como entrada
Retorna 0,866025403784439 (o seno de 60 graus):

SIN(60 * PI( )/180)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 698 de 966


Comandos

Observações
Quando usar PI( )
Use PI( ) para converter graus em radianos: (graus * PI( )/180) = radianos. É obrigatório o uso de radianos
nas entradas de três das funções matemáticas do Analytics: SIN( ), COS( ) e TAN( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 699 de 966


Comandos

Função PMT( )
Retorna o tamanho dos pagamentos periódicos (principal + juros) necessários para liquidar um emprés-
timo.

Sintaxe
PMT(taxa; períodos; valor <;tipo>)

Parâmetros
Nome Tipo Descrição

taxa numérico A taxa de juros por período.

períodos numérico O número total de períodos de pagamento.

valor numérico O valor principal do empréstimo.

tipo numérico A programação dos pagamentos:


opcional o 0 – pagamento no final do período
o 1 – pagamento no início do período
Se omitido, o valor padrão 0 é usado.

Nota
Você deve usar períodos consistentes para especificar taxa e períodos para garantir que
está especificando a taxa de juros por período.
Por exemplo:
l para pagamentos mensais de um empréstimo ou investimento de dois anos com
juros de 5% ao ano, especifique 0,05/12 como taxa e 2 * 12 como períodos
l para pagamentos anuais do mesmo empréstimo ou investimento, especifique 0,05
como taxa e 2 como períodos

Saída
Numérico.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 700 de 966


Comandos

Exemplos
Exemplos básicos
Retorna 1856,82, o pagamento mensal (principal + juros) necessário para liquidar um empréstimo de vinte
e cinco anos, empréstimo de $ 275.000 a 6,5% ao ano, com pagamentos ao final de cada mês:

PMT(0,065/12; 12*25; 275000; 0)

Retorna 1846,82, o pagamento mensal (principal + juros) necessário para liquidar o mesmo empréstimo,
com pagamentos no início de cada mês:

PMT(0,065/12; 12*25; 275000; 1)

Exemplos avançados
Cálculos de anuidade
Os cálculos de anuidade envolvem quatro variáveis:
l valor presente ou valor futuro: US$ 21.243,39 e US$ 26.973,46 nos exemplos abaixo
l valor do pagamento por período: US$ 1.000,00 nos exemplos abaixo
l taxa de juros por período: 1% por mês nos exemplos abaixo
l número de períodos: 24 meses nos exemplos abaixo
Se você souber o valor de três das variáveis, poderá usar uma função do Analytics para calcular a quarta.

Eu quero descobrir: Função do Analytics a ser usada:

PVANNUITY( )
Retorna 21243,39:

PVANNUITY(0,01; 24; 1000)


Valor presente

FVANNUITY( )
Retorna 26973,46:

FVANNUITY(0,01; 24; 1000)


Valor futuro

PMT( )
Valor do pagamento por período Retorna 1000:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 701 de 966


Comandos

Eu quero descobrir: Função do Analytics a ser usada:

PMT(0,01; 24; 21243,39)

RATE( )
Retorna 0,00999999 (1%):

RATE(24; 1000; 21243,39)


Taxa de juros por período

NPER( )
Retorna 24,00:

NPER(0,01; 1000; 21243,39)


Número de períodos

Fórmulas de anuidade
A fórmula para calcular o valor presente de uma anuidade ordinária (pagamento no final de um período):

A fórmula para calcular o valor futuro de uma anuidade ordinária (pagamento no final de um período):

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 702 de 966


Comandos

Função PPMT( )
Retorna o principal pago em um empréstimo para um único período.

Sintaxe
PPMT(taxa; período_especificado; períodos; valor <;tipo>)

Parâmetros
Nome Tipo Descrição

taxa numérico A taxa de juros por período.

período_espe- numérico O período para o qual você deseja calcular o pagamento do principal.
cificado

períodos numérico O número total de períodos de pagamento.

valor numérico O valor principal do empréstimo.

tipo numérico A programação dos pagamentos:


opcional o 0 – pagamento no final do período
o 1 – pagamento no início do período
Se omitido, o valor padrão 0 é usado.

Nota
Você deve usar períodos consistentes para especificar taxa e períodos para garantir que
está especificando a taxa de juros por período.
Por exemplo:
l para pagamentos mensais de um empréstimo ou investimento de dois anos com
juros de 5% ao ano, especifique 0,05/12 como taxa e 2 * 12 como períodos
l para pagamentos anuais do mesmo empréstimo ou investimento, especifique 0,05
como taxa e 2 como períodos

Saída
Numérico.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 703 de 966


Comandos

Exemplos
Exemplos básicos
Retorna 367,24, o valor total do principal pago no primeiro mês de um empréstimo de vinte e cinco anos, $ 
275.000 a 6,5% ao ano, com pagamentos ao final de cada mês:

PPMT(0,065/12; 1; 12*25; 275000; 0)

Retorna 1846,82, o principal pago no mesmo empréstimo no último mês do empréstimo:

PPMT(0,065/12; 300; 12*25; 275000; 0)

Observações
Funções relacionadas
A função IPMT( ) é o complemento da função PPMT( ).
A função CUMPRINC( ) calcula o principal pago durante um intervalo de períodos.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 704 de 966


Comandos

Função PROPER( )
Retorna uma cadeia com o primeiro caractere de cada palavra em letra maiúscula e os caracteres res-
tantes em minúsculas.

Sintaxe
PROPER(cadeia)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor a ser convertido para a caixa de nomes próprios.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "José Silva":

PROPER("JOHN DOE")

Retorna "José Silva":

PROPER("john doe")

Retorna "1550 Alberni St.":

PROPER("r. ALBERNI 123")

Retorna "Bill O'Hara":

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 705 de 966


Comandos

PROPER("BILL O'HARA")

Retorna todos os valores no campo Nome_empresa convertidos em maiúscula/minúscula conforme apro-


priado:

PROPER(Nome_Empresa)

Observações
Como funciona?
A função PROPER( ) converte em maiúscula o primeiro caractere na cadeia e todos os caracteres sub-
sequentes precedidos por um espaço em branco.
Os caracteres subsequentes precedidos por hífen, apóstrofo, caractere de união (&) e vários outros carac-
teres de pontuação e especiais também são convertidos em letras maiúsculas. Todos os outros carac-
teres alfabéticos são convertidos para minúsculas.

Quando usar PROPER( )


O uso mais comum de PROPER( ) é converter nomes armazenados com todas as letras maiúsculas ou
minúsculas em dados de origem para o formato de caixa de nomes próprios, para que o nome seja exi-
bido corretamente em uma carta ou relatório.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 706 de 966


Comandos

Função PROPERTIES( )
Retorna informações sobre as propriedades do item do projeto do Analytics especificado.

Sintaxe
PROPERTIES(nome; tipo_obj; tipo_info)

Parâmetros
Nome Tipo Descrição

nome caractere O nome do item do projeto do Analytics do qual se quer obter infor-
mações. nome não diferencia minúsculas e maiúsculas.
Caso o item de projeto seja uma tabela do Analytics, especifique o
nome do layout da tabela, não o nome do arquivo de dados. Por exem-
plo: "Faturas", não "faturas_janeiro.fil"
Se você usar a função PROPERTIES( ) para retornar o nome da
tabela ativa, especifique o nome "activetable"

tipo_obj caractere O tipo de item do projeto do Analytics referenciado em nome.


Nota
"Table" é o único tipo de item de projeto aceito atu-
almente.

tipo_info caractere O tipo de informação desejada sobre o item do projeto do Analytics.


Para obter mais informações, consulte "Tipos de informações de pro-
priedades" Na página 709.

Saída
Caractere. O comprimento máximo da cadeia de caracteres de saída é de 260 caracteres. Caso nenhuma
informação possa ser encontrada sobre as propriedades, uma cadeia vazia é retornada.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 707 de 966


Comandos

Exemplos
Exemplos básicos
Informações sobre o arquivo de dados do Analytics (.fil)
Retorna "Trans_Cp.fil":

PROPERTIES("Trans_CP"; "table"; "filename")

Retorna "C:\ACL DATA\Arquivos de dados da amostra":

PROPERTIES("Trans_CP"; "table"; "filepath")

Informações sobre a tabela do Analytics aberta


Retorna "Trans_Cp":

PROPERTIES("activetable"; "table"; "open")

Informações sobre uma origem de dados externa


Retorna "Trans_Maio.xls":

PROPERTIES("Trans_Maio"; "table"; "sourcename")

Retorna "C:\Project Data\Faturas Mensais_Excel":

PROPERTIES("Trans_Maio"; "table"; "sourcepath")

Retorna "EXCEL":

PROPERTIES("Trans_Maio"; "table"; "sourcetype")

Observações
Informações do arquivo
Os tipos de informações que começam com "file" fornecem informações sobre o arquivo de dados da
tabela do Analytics (.fil) associado a uma tabela do Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 708 de 966


Comandos

Informações da origem
Os tipos de informações que começam com "source" fornecem informações sobre origens externas de
dados possivelmente associadas a uma tabela do Analytics. Apenas as seguintes origens externas de
dados, compatíveis com a atualização de tabelas do Analytics, podem ser reportadas com a função
PROPERTIES( ):
l Microsoft Excel
l Microsoft Access
l Texto delimitado
l Adobe Acrobat (PDF)
l Imagem de impressão (relatório)
l Formato de arquivo privado SAP/DART
l XML
l XBRL
l Origens de dados ODBC

Tipos de informações de propriedades


A tabela abaixo lista os tipos de informações de propriedades que podem ser retornados pela função
PROPERTIES( ). No momento, as tabelas do Analytics são o único tipo de item de projeto do Analytics que
pode ser usado na função PROPERTIES( ):

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 709 de 966


Comandos

tipo_
obj tipo_info Retorna:

"table" "filename" O nome do arquivo de dados associado à tabela do Analytics.

"filepath" O caminho do arquivo de dados associado à tabela do Analytics.

"filesize" O tamanho, em KB, do arquivo de dados associado à tabela do Analytics.

"filemodifiedat" A data e hora da última modificação do arquivo de dados associado à tabela do


Analytics.

"sourcename" O nome da origem de dados associada à tabela do Analytics.


As origens de dados podem ser arquivos externos em Excel, Access, PDF, XML ou
arquivos de texto delimitados, ou origens de dados ODBC.

"sourcepath" O caminho da origem de dados associada à tabela do Analytics.


Não é compatível com origens de dados ODBC.

"sourcetype" O tipo da origem de dados associada à tabela do Analytics.

"sourcesize" O tamanho, em KB, da origem de dados associada à tabela do Analytics.


Não é compatível com origens de dados ODBC.

"sourcemodifiedat" A data e hora da última modificação da origem de dados associada à tabela do Analy-
tics.
Não é compatível com origens de dados ODBC.

"open" O nome da tabela do Analytics atualmente ativa.


Nota
Várias tabelas do Analytics podem estar abertas ao mesmo tempo,
mas na interface do usuário apenas uma tabela pode estar ativa por
vez.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 710 de 966


Comandos

Função PVANNUITY( )
Retorna o valor presente de uma série de pagamentos futuros, calculado usando uma taxa de juros cons-
tante. O valor presente é o valor atual para um único pagamento.

Sintaxe
PVANNUITY(taxa; períodos; pagamento <;tipo>)

Parâmetros
Nome Tipo Descrição

taxa numérico A taxa de juros por período.

períodos numérico O número total de períodos de pagamento.

pagamento numérico O pagamento por período.


O valor do pagamento deve ser constante ao longo da anuidade.

tipo numérico A programação dos pagamentos:


opcional o 0 – pagamento no final do período
o 1 – pagamento no início do período
Se omitido, o valor padrão 0 é usado.

Nota
Você deve usar períodos consistentes para especificar taxa, períodos e pagamento para
garantir que está especificando a taxa de juros por período.
Por exemplo:
l para um pagamento mensal de um empréstimo ou investimento de dois anos com
juros de 5% ao ano, especifique 0,05/12 como taxa e 2 * 12 como períodos
l para um pagamento anual do mesmo empréstimo ou investimento, especifique 0,05
como taxa e 2 como períodos

Saída
Numérico. O resultado é calculado para duas casas decimais.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 711 de 966


Comandos

Exemplos
Exemplos básicos
Pagamentos mensais
Retorna 21455,82, o valor presente de $ 1.000 pagos no início de cada mês por 2 anos a 1% ao mês, com-
postos mensalmente:

PVANNUITY(0,01; 2*12; 1000; 1)

Pagamentos anuais
Retorna 20280,61, o valor presente de $ 12.000 pagos ao final de cada ano por 2 anos a 12% ao ano,
compostos anualmente:

PVANNUITY(0,12; 2; 12000, 0)

Exemplos avançados
Cálculos de anuidade
Os cálculos de anuidade envolvem quatro variáveis:
l valor presente ou valor futuro: US$ 21.243,39 e US$ 26.973,46 nos exemplos abaixo
l valor do pagamento por período: US$ 1.000,00 nos exemplos abaixo
l taxa de juros por período: 1% por mês nos exemplos abaixo
l número de períodos: 24 meses nos exemplos abaixo
Se você souber o valor de três das variáveis, poderá usar uma função do Analytics para calcular a quarta.

Eu quero descobrir: Função do Analytics a ser usada:

PVANNUITY( )
Retorna 21243,39:

PVANNUITY(0,01; 24; 1000)


Valor presente

FVANNUITY( )
Retorna 26973,46:

FVANNUITY(0,01; 24; 1000)


Valor futuro

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 712 de 966


Comandos

Eu quero descobrir: Função do Analytics a ser usada:

PMT( )
Retorna 1000:

PMT(0,01; 24; 21243,39)


Valor do pagamento por período

RATE( )
Retorna 0,00999999 (1%):

RATE(24; 1000; 21243,39)


Taxa de juros por período

NPER( )
Retorna 24,00:

NPER(0,01; 1000; 21243,39)


Número de períodos

Fórmulas de anuidade
A fórmula para calcular o valor presente de uma anuidade ordinária (pagamento no final de um período):

A fórmula para calcular o valor futuro de uma anuidade ordinária (pagamento no final de um período):

Observações
Funções relacionadas
A função FVANNUITY( ) é o inverso da função PVANNUITY( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 713 de 966


Comandos

Função PVLUMPSUM( )
Retorna o valor presente necessário para gerar o valor de um único pagamento futuro calculado usando
uma taxa de juros contínua. O valor presente é o valor atual para um único pagamento.

Sintaxe
PVLUMPSUM(taxa; períodos; valor)

Parâmetros
Nome Tipo Descrição

taxa numérico A taxa de juros por período.

períodos numérico O número total de períodos.

valor numérico O valor do único pagamento futuro no final do último período.

Nota
Você deve usar períodos consistentes para especificar taxa e períodos para garantir que
está especificando a taxa de juros por período.
Por exemplo:
l para pagamentos mensais de um empréstimo ou investimento de dois anos com
juros de 5% ao ano, especifique 0,05/12 como taxa e 2 * 12 como períodos
l para pagamentos anuais do mesmo empréstimo ou investimento, especifique 0,05
como taxa e 2 como períodos

Saída
Numérico. O resultado é calculado para duas casas decimais.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 714 de 966


Comandos

Exemplos
Exemplos básicos
Juros compostos mensalmente
Retorna 1000,00, o principal do investimento inicial necessário para gerar um valor de um único pagamento
futuro de US$ 1.269,73, quando investido por 2 anos a 1% por mês, composto mensalmente:

PVLUMPSUM(0,01; 2*12; 1269,73)

Retorna 787,57, o principal do investimento inicial necessário para gerar um valor de um único pagamento
futuro de US$ 1.000, quando investido por 2 anos a 1% por mês, composto mensalmente:

PVLUMPSUM(0,01; 2*12; 1000)

Retorna 21.455,82, o principal do investimento inicial necessário para gerar um valor de um único paga-
mento futuro de US$ 27.243,20, quando investido por 2 anos a 1% por mês, composto mensalmente:

PVLUMPSUM(0,01; 2*12; 27243,20)

Juros compostos semestralmente


Retorna 792,09, o principal do investimento inicial necessário para gerar um valor de um único pagamento
futuro de US$ 1.000, quando investido por 2 anos a 12% por ano, composto semestralmente:

PVLUMPSUM(0,12/2; 2*2; 1000)

Juros compostos anualmente


Retorna 797,19, o principal do investimento inicial necessário para gerar um valor de um único pagamento
futuro de US$ 1.000, quando investido por 2 anos a 12% por ano, composto anualmente:

PVLUMPSUM(0,12; 2; 1000)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 715 de 966


Comandos

Observações
O que é valor presente?
O valor presente de um valor de um único pagamento investido é o principal inicial necessário para gerar
um valor de um único pagamento futuro específico dentro de um determinado período. O valor futuro é o
principal mais os juros compostos acumulados.

Funções relacionadas
A função FVLUMPSUM( ) é o inverso da função PVLUMPSUM( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 716 de 966


Comandos

Função PYDATE( )
Retorna um valor de data calculado por uma função em um script do Python externo. O processamento de
dados no Python é externo ao Analytics.

Sintaxe
PYDATE("ArquivoPy; FunçãoPy" <; campo|valor <;...n>>)

Parâmetros
Nome Tipo Descrição

ArquivoPy; Fun- caractere O nome do script do Python a ser executado, seguido por uma vírgula
çãoPy e o nome da função que retorna o valor:

"meuScript;minhaFunção"

Ao especificar o script do Python, omita a extensão do arquivo. A fun-


ção chamada pode conter outras funções dentro do script ou de
outros scripts. No entanto, todos os scripts executados devem ser colo-
cados em uma pasta na variável de ambiente do sistema
PYTHONPATH antes da execução.
Para obter mais informações, consulte "Configuração do Python para
uso com o Analytics" Na página 933.
Nota
Sua PyFunção deve retornar um objeto datahora.date do
Python.

campo|valor <;...n> caractere Essa é uma lista de campos, expressões ou valores literais para usar
como argumentos para a função do Python. Os valores são passados
opcional numérico
para a função chamada na ordem em que são especificados.
datahora
Você pode incluir o número de argumentos necessário para atender à
lógico definição da função no script do Python.
Nota
Use a função ALLTRIM( ) para remover todos os espa-
ços à esquerda ou à direita de entradas de caracteres:
ALLTRIM(cadeia). Para obter mais informações, con-
sulte "Função ALLTRIM( )" Na página 479.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 717 de 966


Comandos

Saída
Datahora.

Exemplos
Exemplos básicos
Retorna `20160630`:

PYDATE('hello,due_date'; `20160531`; 30)

Script do Python externo que aceita uma data e um período de carência como um número de dias e cal-
cula a data de vencimento da fatura. Para uma data de fatura de 2016-05-31 e um período de 30
dias: "2016-06-30":

#! python
from datetime import timedelta

def data_vencimento(data_fatura; período):


return(data_fatura + timedelta(período))

Exemplos avançados
Definição de um campo calculado
Define um campo calculado na tabela Trans_Cp usando o script do Python que calcula a data de ven-
cimento:

OPEN Trans_Cp
DEFINE FIELD data_vencimento COMPUTED
WIDTH 27
PYDATE("hello;due_date"; Data_Fatura; Período_pagamento)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 718 de 966


Comandos

Função PYDATETIME( )
Retorna um valor de datahora calculado por uma função em um script do Python externo. O pro-
cessamento de dados no Python é externo ao Analytics.

Sintaxe
PYDATETIME("ArquivoPy; FunçãoPy" <; campo|valor <;...n>>)

Parâmetros
Nome Tipo Descrição

ArquivoPy; Fun- caractere O nome do script do Python a ser executado, seguido por uma vírgula
çãoPy e o nome da função que retorna o valor:

"meuScript;minhaFunção"

Ao especificar o script do Python, omita a extensão do arquivo. A fun-


ção chamada pode conter outras funções dentro do script ou de
outros scripts. No entanto, todos os scripts executados devem ser colo-
cados em uma pasta na variável de ambiente do sistema
PYTHONPATH antes da execução.
Para obter mais informações, consulte "Configuração do Python para
uso com o Analytics" Na página 933.
Nota
Sua PyFunção deve retornar um objeto datahora do
Python.

campo|valor <;...n> caractere Essa é uma lista de campos, expressões ou valores literais para usar
como argumentos para a função do Python. Os valores são passados
opcional numérico
para a função chamada na ordem em que são especificados.
datahora
Você pode incluir o número de argumentos necessário para atender à
lógico definição da função no script do Python.
Nota
Use a função ALLTRIM( ) para remover todos os espa-
ços à esquerda ou à direita de entradas de caracteres:
ALLTRIM(cadeia). Para obter mais informações, con-
sulte "Função ALLTRIM( )" Na página 479.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 719 de 966


Comandos

Saída
Datahora.

Exemplos
Exemplos básicos
Retorna `20170101t0500`:

PYDATETIME("hello, combine_date_time"; `20170101`; `t0500`)

Script do Python externo que aceita um argumento de data e um argumento de hora e retorna um objeto
Datahora combinado:

# conteúdo de hello.py
from datetime import datetime

def combine_date_time(d,t):
return datetime.combine(d,t)

Exemplos avançados
Adição de tempo a uma datahora
Retorna `20160101t2230`:

PYDATETIME("hello,adicionar_tempo"; `20160101 150000`; `t073000`)

Script do Python externo que aceita uma datahora e uma hora e adiciona a hora à datahora: 2016-01-01
15:00:00 + 7 horas, 30 minutos, 00 segundos = 2016-01-01 22:30:00.

# conteúdo de hello.py
from datetime import timedelta
from datetime import datetime
from datetime import time
def add_time(start, time_to_add):
return start + timedelta(hours=time_to_add.hour, minutes=time_to_add.minute, seconds=time_to_
add.second)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 720 de 966


Comandos

Função PYLOGICAL( )
Retorna um valor lógico calculado por uma função em um script do Python externo. O processamento de
dados no Python é externo ao Analytics.

Sintaxe
PYLOGICAL("ArquivoPy; FunçãoPy" <; campo|valor <;...n>>)

Parâmetros
Nome Tipo Descrição

ArquivoPy; Fun- caractere O nome do script do Python a ser executado, seguido por uma vírgula
çãoPy e o nome da função que retorna o valor:

"meuScript;minhaFunção"

Ao especificar o script do Python, omita a extensão do arquivo. A fun-


ção chamada pode conter outras funções dentro do script ou de
outros scripts. No entanto, todos os scripts executados devem ser colo-
cados em uma pasta na variável de ambiente do sistema
PYTHONPATH antes da execução.
Para obter mais informações, consulte "Configuração do Python para
uso com o Analytics" Na página 933.
Nota
Sua PyFunção deve retornar um valor de verdade do
Python.

campo|valor <;...n> caractere Essa é uma lista de campos, expressões ou valores literais para usar
como argumentos para a função do Python. Os valores são passados
opcional numérico
para a função chamada na ordem em que são especificados.
datahora
Você pode incluir o número de argumentos necessário para atender à
lógico definição da função no script do Python.
Nota
Use a função ALLTRIM( ) para remover todos os espa-
ços à esquerda ou à direita de entradas de caracteres:
ALLTRIM(cadeia). Para obter mais informações, con-
sulte "Função ALLTRIM( )" Na página 479.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 721 de 966


Comandos

Saída
Lógico.

Exemplos
Exemplos básicos
Retorna F:

PYLOGICAL( "hello,str_compare"; "basquete"; "beisebol"; "b" )

Script do Python externo que compara str1 e str2 usando a contagem de caracteres passada como char:

# conteúdo de hello.py
def str_compare(str1, str2, char):
return str1.count(char) > str2.count(char)

Exemplos avançados
Uso de campos
Retorna um valor de verdade ao comparar Nome_Fornecedor e Cidade_Fornecedor:

PYLOGICAL( "hello;str_compare"; Nome_Fornecedor; Cidade_Fornecedor; "b" )

Script do Python externo que compara str1 e str2 usando a contagem de caracteres passada como char:

# conteúdo de hello.py
def str_compare(str1, str2, char):
return str1.count(char) > str2.count(char)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 722 de 966


Comandos

Função PYNUMERIC( )
Retorna um valor numérico calculado por uma função em um script do Python externo. O processamento
de dados no Python é externo ao Analytics.

Sintaxe
PYNUMERIC(ArquivoPy; FunçãoPy; decimal <; campo|valor <;...n>>)

Parâmetros
Nome Tipo Descrição

ArquivoPy; Fun- caractere O nome do script do Python a ser executado, seguido por uma vírgula
çãoPy e o nome da função que retorna o valor:

"meuScript;minhaFunção"

Ao especificar o script do Python, omita a extensão do arquivo. A fun-


ção chamada pode conter outras funções dentro do script ou de
outros scripts. No entanto, todos os scripts executados devem ser colo-
cados em uma pasta na variável de ambiente do sistema
PYTHONPATH antes da execução.
Para obter mais informações, consulte "Configuração do Python para
uso com o Analytics" Na página 933.
Nota
Sua PyFunção deve retornar um tipo numérico do
Python.

decimal numérico O número de casas decimais a incluir no valor retornado. Deve ser um
inteiro positivo.

campo|valor <;...n> caractere Essa é uma lista de campos, expressões ou valores literais para usar
como argumentos para a função do Python. Os valores são passados
opcional numérico
para a função chamada na ordem em que são especificados.
datahora
Você pode incluir o número de argumentos necessário para atender à
lógico definição da função no script do Python.
Nota
Use a função ALLTRIM( ) para remover todos os espa-
ços à esquerda ou à direita de entradas de caracteres:
ALLTRIM(cadeia). Para obter mais informações, con-
sulte "Função ALLTRIM( )" Na página 479.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 723 de 966


Comandos

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 35,00:

PYNUMERIC("hello,get_nth_percent"; 2; 80; 120; 30; 45; 30; 100; 35; 45)

Script externo do Python que retorna o valor no percentil solicitado de uma lista de valores dimensionada
dinamicamente:

# conteúdo de hello.py
from math import ceil
def get_nth_percent(percentage, *values):
input_length = len(values)
position = ceil((percentage/100.00) * input_length)
return values[position-1]

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 724 de 966


Comandos

Função PYSTRING( )
Retorna um valor de caracteres calculado por uma função em um script do Python externo. O pro-
cessamento de dados no Python é externo ao Analytics.

Sintaxe
PYSTRING("ArquivoPy; FunçãoPy"; comprimento <;campo|valor <;...n>>)

Nome Tipo Descrição

ArquivoPy; Fun- caractere O nome do script do Python a ser executado, seguido por uma vírgula
çãoPy e o nome da função que retorna o valor:

"meuScript;minhaFunção"

Ao especificar o script do Python, omita a extensão do arquivo. A fun-


ção chamada pode conter outras funções dentro do script ou de
outros scripts. No entanto, todos os scripts executados devem ser colo-
cados em uma pasta na variável de ambiente do sistema
PYTHONPATH antes da execução.
Para obter mais informações, consulte "Configuração do Python para
uso com o Analytics" Na página 933.
Nota
Sua PyFunção deve retornar uma cadeia do Python.

comprimento numérico O comprimento a ser alocado para a cadeia de retorno.

campo|valor <;...n> caractere Essa é uma lista de campos, expressões ou valores literais para usar
como argumentos para a função do Python. Os valores são passados
opcional numérico
para a função chamada na ordem em que são especificados.
datahora
Você pode incluir o número de argumentos necessário para atender à
lógico definição da função no script do Python.
Nota
Use a função ALLTRIM( ) para remover todos os espa-
ços à esquerda ou à direita de entradas de caracteres:
ALLTRIM(cadeia). Para obter mais informações, con-
sulte "Função ALLTRIM( )" Na página 479.

Saída
Caractere.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 725 de 966


Comandos

Exemplos
Exemplos básicos
Retorna "meu teste":

PYSTRING('olá,principal'; 20; "meu")

Script do Python externo que aceita uma cadeia e a concatena com " teste":

#! python
# conteúdo de hello.py
def main(str):
str2 = str + ' test'
return(str2)

Exemplos avançados
Retorno de uma subcadeia
Esse exemplo remove os dois últimos caracteres do campo Nome do fornecedor e retorna a subcadeia:

PYSTRING( "hello;sub_set"; LENGTH(Nome_Fornecedor); ALLTRIM(Nome_Fornecedor);


LENGTH(ALLTRIM(Nome_Fornecedor)); 0; LENGTH(ALLTRIM(Nome_Fornecedor)) - 2)

Script do Python externo que aceita uma cadeia, um comprimento de cadeia e duas posições de carac-
teres. A função retorna uma subcadeia entre a posição um e a posição dois:

# conteúdo de hello.py
def sub_set(str, length, p1, p2):
if p1 >= 0 and p2 < length and p1 < p2:
str2 = str[p1:p2]
else:
str2 = str
return str2

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 726 de 966


Comandos

Função PYTIME( )
Retorna um valor de hora calculado por uma função em um script do Python externo. O processamento de
dados no Python é externo ao Analytics.

Sintaxe
PYTIME("ArquivoPy; FunçãoPy" <; campo|valor <;...n>>)

Parâmetros
Nome Tipo Descrição

ArquivoPy; Fun- caractere O nome do script do Python a ser executado, seguido por uma vírgula
çãoPy e o nome da função que retorna o valor:

"meuScript;minhaFunção"

Ao especificar o script do Python, omita a extensão do arquivo. A fun-


ção chamada pode conter outras funções dentro do script ou de
outros scripts. No entanto, todos os scripts executados devem ser colo-
cados em uma pasta na variável de ambiente do sistema
PYTHONPATH antes da execução.
Para obter mais informações, consulte "Configuração do Python para
uso com o Analytics" Na página 933.
Nota
A PyFunction deve retornar um objeto datetime.time do
Python.

campo|valor <;...n> caractere Essa é uma lista de campos, expressões ou valores literais para usar
como argumentos para a função do Python. Os valores são passados
opcional numérico
para a função chamada na ordem em que são especificados.
datahora
Você pode incluir o número de argumentos necessário para atender à
lógico definição da função no script do Python.
Nota
Use a função ALLTRIM( ) para remover todos os espa-
ços à esquerda ou à direita de entradas de caracteres:
ALLTRIM(cadeia). Para obter mais informações, con-
sulte "Função ALLTRIM( )" Na página 479.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 727 de 966


Comandos

Saída
Datahora.

Exemplos
Exemplos básicos
Retorna `t2122`:

ASSIGN v_parte_hora = PYTIME("hello,get_time"; `20160101 212223`)

Script do Python externo:

# conteúdo de hello.py
from datetime import time
from datetime import date

def get_time(timestamp):
return timestamp.time();

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 728 de 966


Comandos

Função RAND( )
Retorna um número aleatório dentro de um intervalo especificado.

Sintaxe
RAND(número)

Parâmetros
Nome Tipo Descrição

número numérico O limite numérico do número aleatório.


Se você especificar um número com casas decimais, o número ale-
atório gerado terá o mesmo número de casas decimais.
o Se você inserir um número positivo:, o número aleatório retornado
será maior ou igual a zero e menor que o valor especificado.
Retorna um número de 0 a 99:

RAND(100)

o Se você inserir um número negativo:, o número aleatório retornado


será menor que zero e maior ou igual ao valor especificado.
Retorna um número de -1 a -100:

RAND(-100)

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 278,61:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 729 de 966


Comandos

RAND(1000,00)

Retorna 3781:

RAND(10000)

Nota
O valor de retorno será diferente a cada execução da função.

Observações
RAND( ) não consegue replicar resultados
Se você usar a função RAND( ) consecutivamente com o mesmo valor de número, serão produzidos resul-
tados diferentes. Ao contrário do comando RANDOM, a função RAND( ) não tem um valor de origem.

Possibilidade de duplicidade de números aleatórios


Se você usar RAND( ) para criar um campo calculado que atribui um número aleatório a cada registro de
uma tabela, poderá ocorrer a geração de números aleatórios duplicados. Não há garantia de que os
números aleatórios serão únicos.
Quanto maior o valor número em relação ao número de registros na tabela, maior a probabilidade de que
os números gerados sejam únicos.

Atualização dinâmica de números aleatórios


Um campo calculado com a função RAND( ) gerará um novo conjunto de números aleatórios toda vez que
você executar ações como classificação rápida, aplicar um filtro, rearranjar as colunas ou rolar a exibição.
Se você quer fixar um conjunto de números aleatórios, extraia os dados para uma nova tabela utilizando a
opção Exibir ou Campos na caixa de diálogo Extrair.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 730 de 966


Comandos

Função RATE( )
Retorna a taxa de juros por período.

Sintaxe
RATE(períodos; pagamento; valor)

Parâmetros
Nome Tipo Descrição

períodos numérico O número total de períodos de pagamento.

pagamento numérico O pagamento por período.

valor numérico O valor principal do empréstimo.

Nota
A função RATE( ) pressupõe que os pagamentos sejam efetuados no final de cada perí-
odo.

Saída
Numérico. A taxa é calculada com oito casas decimais.

Exemplos
Exemplos básicos
Retorna 0,00541667 (0,54%), os juros mensais resultantes de um empréstimo de US$ 275.000 por 25
anos com pagamentos mensais de US$ 1.856,82:

RATE(12*25; 1856,82; 275000)

Retorna 0,06500004 (6,5%), a taxa de juros anual decorrente do mesmo empréstimo:

RATE(12*25; 1856,82; 275000)*12

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 731 de 966


Comandos

Exemplos avançados
Conversão da taxa nominal na taxa efetiva
A função RATE( ) calcula a taxa de juros nominal. Você pode usar a função EFFECTIVE( ) para con-
verter o resultado de RATE( ) na taxa de juros efetiva.
Retorna 0,06715155 (6,7%), a taxa de juros anual efetiva decorrente do empréstimo nos exemplos
acima:

EFFECTIVE((RATE(12*25; 1856,82; 275000)*12); 12*25)

Cálculos de anuidade
Os cálculos de anuidade envolvem quatro variáveis:
l valor presente ou valor futuro: US$ 21.243,39 e US$ 26.973,46 nos exemplos abaixo
l valor do pagamento por período: US$ 1.000,00 nos exemplos abaixo
l taxa de juros por período: 1% por mês nos exemplos abaixo
l número de períodos: 24 meses nos exemplos abaixo
Se você souber o valor de três das variáveis, poderá usar uma função do Analytics para calcular a quarta.

Eu quero descobrir: Função do Analytics a ser usada:

PVANNUITY( )
Retorna 21243,39:

PVANNUITY(0,01; 24; 1000)


Valor presente

FVANNUITY( )
Retorna 26973,46:

FVANNUITY(0,01; 24; 1000)


Valor futuro

PMT( )
Retorna 1000:

PMT(0,01; 24; 21243,39)


Valor do pagamento por período

RATE( )
Retorna 0,00999999 (1%):

RATE(24; 1000; 21243,39)


Taxa de juros por período

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 732 de 966


Comandos

Eu quero descobrir: Função do Analytics a ser usada:

NPER( )
Retorna 24,00:

NPER(0,01; 1000; 21243,39)


Número de períodos

Fórmulas de anuidade
A fórmula para calcular o valor presente de uma anuidade ordinária (pagamento no final de um período):

A fórmula para calcular o valor futuro de uma anuidade ordinária (pagamento no final de um período):

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 733 de 966


Comandos

Função RDATE( )
Retorna um valor de data calculado por uma função ou script do R. O processamento de dados no R é
externo ao Analytics.

Sintaxe
RDATE(scriptR|códigoR <;campo|valor <;...n>>)

Parâmetros
Nome Tipo Descrição

rScript | rCode caractere O caminho completo ou relativo para o script do R ou um snippet de


código R a ser executado.
Se você inserir o código R diretamente em vez de usar um arquivo
externo, não será possível usar texto entre aspas no código, mesmo
que você use o caractere de escape para as aspas:
o válido: 'var <- "\"teste\"" '
o inválido: 'var <- "\'teste\'" '

campo | valor <,...n> caractere A lista de campos, expressões ou valores literais para usar como
argumentos para o script ou snippet de código do R.
opcional numérico
Os valores são passados para a função chamada na ordem em que
datahora
são especificados e são referenciados usando valor1, valor2 ...
lógico valorN no código do R.
Você pode incluir o número de argumentos necessário para atender
à definição da função no script do R.
Nota
Use a função ALLTRIM( ) para remover todos os espa-
ços à esquerda ou à direita de entradas de caracteres:
ALLTRIM(cadeia). Para obter mais informações, con-
sulte "Função ALLTRIM( )" Na página 479.

Saída
Datahora.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 734 de 966


Comandos

Exemplos
Exemplos básicos
Retorna `20160530`:

RDATE("as.Date(value1,'%m-%d-%Y')"; "05-30-16")

Exemplos avançados
Uso de um script do R externo
Converte uma cadeia em uma data e retorna:

RDATE("a<-source('c:\\scripts\\r_scripts\\sample.r');a[[1]]"; dateText)

Script do R externo (amostra.r):

dateForm <- function(dateText) {


return(as.Date(dateText,format='%y%m%d'))
}
dateForm(value1)

Observações
Retorno de uma data do R
Ao chamar scripts do R, use a função origem e atribua o objeto retornado a uma variável. Desse modo,
você pode acessar o valor retornado da função do R no objeto retornado:

# 'a' contém o objeto da resposta e a[[1]] acessa o valor dos dados


"a<-source('c:\\scripts\\r_scripts\\sample.r');a[[1]]"

Arquivo de log R
O Analytics registra em log as mensagens da linguagem R no arquivo aclrlan.log na pasta do projeto.
Use esse arquivo de log para depurar erros do R.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 735 de 966


Comandos

Dica
O arquivo de log está disponível na pasta Resultados das tarefas de análise do Analytics
Exchange.

Execução de scripts do R externos no Servidor AX


Se você estiver criando um aplicativo de análise para executar no Servidor AX e quiser trabalhar com
scripts do R externos:
1. Carregue o arquivo como arquivo relacionado ao aplicativo de análise.
2. Use a tag de análise FILE para identificar o(s) arquivo(s).
3. Faça referência aos arquivos usando o caminho relativo ./nomedoarquivo.r.
Nota
Usar um arquivo relacionado garante que a conta do servidor do aplicativo TomEE tenha
permissões suficientes para acessar o arquivo ao executar o R com o Analytics
Exchange.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 736 de 966


Comandos

Função RDATETIME( )
Retorna um valor de datahora calculado por uma função ou script do R. O processamento de dados no R é
externo ao Analytics.

Sintaxe
RDATETIME(scriptR|códigoR <;campo|valor <;...n>>)

Parâmetros
Nome Tipo Descrição

rScript | rCode caractere O caminho completo ou relativo para o script do R ou um snippet de


código R a ser executado.
Se você inserir o código R diretamente em vez de usar um arquivo
externo, não será possível usar texto entre aspas no código, mesmo
que você use o caractere de escape para as aspas:
o válido: 'var <- "\"teste\"" '
o inválido: 'var <- "\'teste\'" '

campo | valor <,...n> caractere A lista de campos, expressões ou valores literais para usar como argu-
mentos para o script ou snippet de código do R.
opcional numérico
Os valores são passados para a função chamada na ordem em que
datahora
são especificados e são referenciados usando valor1, valor2 ... valorN
lógico no código do R.
Você pode incluir o número de argumentos necessário para atender à
definição da função no script do R.
Nota
Use a função ALLTRIM( ) para remover todos os espa-
ços à esquerda ou à direita de entradas de caracteres:
ALLTRIM(cadeia). Para obter mais informações, con-
sulte "Função ALLTRIM( )" Na página 479.

Saída
Datahora.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 737 de 966


Comandos

Exemplos
Exemplos básicos
Adiciona 45 minutos à data e hora atuais:

RDATETIME("Sys.time() + value1";2700)

Exemplos avançados
Uso de um script do R externo
Adiciona 45 minutos a um campo datahora, passando um campo e um valor literal a uma função do R
externa:

RDATETIME("a<-'c:\\scripts\\sample.r');a[[1]]"; data_inicial; 2700)

Script do R externo (amostra.r):

adicionar_tempo <- function(início; seg) {


return(início + seg)
}
adicionar_tempo(valor1; valor2)

Observações
Retorno de uma data do R
Ao chamar scripts do R, use a função origem e atribua o objeto retornado a uma variável. Desse modo,
você pode acessar o valor retornado da função do R no objeto retornado:

# 'a' contém o objeto da resposta e a[[1]] acessa o valor dos dados


"a<-source('c:\\scripts\\r_scripts\\sample.r');a[[1]]"

Arquivo de log R
O Analytics registra em log as mensagens da linguagem R no arquivo aclrlan.log na pasta do pro-
jeto. Use esse arquivo de log para depurar erros do R.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 738 de 966


Comandos

Dica
O arquivo de log está disponível na pasta Resultados das tarefas de análise do Analytics
Exchange.

Execução de scripts do R externos no Servidor AX


Se você estiver criando um aplicativo de análise para executar no Servidor AX e quiser trabalhar com
scripts do R externos:
1. Carregue o arquivo como arquivo relacionado ao aplicativo de análise.
2. Use a tag de análise FILE para identificar o(s) arquivo(s).
3. Faça referência aos arquivos usando o caminho relativo ./nomedoarquivo.r.
Nota
Usar um arquivo relacionado garante que a conta do servidor do aplicativo TomEE tenha
permissões suficientes para acessar o arquivo ao executar o R com o Analytics Exchange.

Fuso horário do sistema


O horário de Greenwich (GMT) é o fuso horário atual padrão no ambiente do R usado pelo Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 739 de 966


Comandos

Função RECLEN( )
Retorna o comprimento do registro atual.

Sintaxe
RECLEN( )

Parâmetros
Essa função não possui nenhum parâmetro.

Saída
Numérico.

Exemplos
Exemplos básicos
O exemplo a seguir extrai todos os registros em que o comprimento é exatamente 110:

EXTRACT RECORD IF RECLEN( ) = 110 TO "Extrair.fil"

Observações
Você pode a função RECLEN( ) para identificar os registros de um comprimento específico ou para testar
se há registros mais curtos do que esperado. Essa função é útil se você estiver trabalhando com arquivos
de imagem de impressão (Relatório), porque fornece uma maneira fácil de analisar os comprimentos de
relatórios:
l Para registros de comprimento fixo, o valor retornado será um valor constante (o comprimento do
registro).
l Para registros de comprimento variável, o valor retornado é alterado para cada registro.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 740 de 966


Comandos

Função RECNO( )
Retorna o número do registro atual.

Sintaxe
RECNO( )

Parâmetros
Essa função não possui nenhum parâmetro.

Saída
Numérico.

Exemplos
Exemplos básicos
O exemplo a seguir extrai registros numerados de 10 a 20 para uma nova tabela do Analytics:

EXTRACT RECORD IF BETWEEN(RECNO( );10;20) TO "Subconjunto.fil"

Observações
Você pode usar a função RECNO( ) para gerar os números de registros em uma tabela ou para determinar
a localização relativa de um determinado registro em uma tabela.

Tabelas indexadas vs. tabelas não indexadas


Essa função retorna o número do registro lógico atual:
l Se a tabela não estiver indexada, RECNO( ) começará pelo valor 1, aumentando uma unidade para
cada registro da tabela. Os números de registro lógicos e físicos são idênticos.
l Se a tabela estiver indexada, RECNO( ) funcionará da mesma forma, porém contará os registros
usando a ordem lógica e não física.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 741 de 966


Comandos

Uso do comando SEEK ou FIND


Se os comandos SEEK ou FIND forem usados, o número do registro será redefinido como 1, após a exe-
cução desses comandos.

Reordenação de registros
Ao reordenar os registros em uma tabela, os números de registro gerados por RECNO( ) não são reor-
denados. Para manter os números de registro com os registros com que eles estavam originalmente asso-
ciados, extraia os dados para uma nova tabela usando a opção Campos antes de reordenar os registros.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 742 de 966


Comandos

Função RECOFFSET( )
Retorna o valor de um campo de um registro que está a um número especificado de registros a partir do
registro atual.

Sintaxe
RECOFFSET(campo; número_de_registros)

Parâmetros
Nome Tipo Descrição

campo caractere O nome do campo cujo valor deve ser recuperado.


numérico
datahora

número_de_regis- numérico O número de registros a partir do registro atual. Um número positivo


tros especifica um registro depois do registro atual e um número negativo
especifica um registro antes do registro atual.

Saída
Caracteres, Numéricos ou de Datahora. O valor retornado pertence a mesma categoria de dados do parâ-
metro de entrada campo.

Exemplos
Exemplos básicos
Retorna um valor Quantidade do próximo registro:

RECOFFSET(Quantidade;1)

Retorna um valor Quantidade do registro anterior:

RECOFFSET(Quantidade; -1)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 743 de 966


Comandos

Exemplos avançados
Uso de RECOFFSET em um campo calculado
O campo calculado Próxima_quantidade mostra o valor do campo Quantidade do próximo registro ape-
nas se este tiver o mesmo número de cliente.
Para definir esse campo calculado em um script, use a seguinte sintaxe:

DEFINIR CAMPO Próxima_quantidade COMPUTED


RECOFFSET(Quantidade;1) IF RECOFFSET(Cliente;1) = Cliente
0

Próxima_quantidade será o valor do campo Quantidade do próximo registro apenas se o número de cli-
ente do próximo registro for igual ao número de cliente do registro atual. Caso contrário, Próxima_quan-
tidade será zero.

Observações
A função RECOFFSET( ) retorna um valor de campo de um registro que está um número especificado de
registros acima ou abaixo do registro atual.

Quando usar RECOFFSET( )


Essa função é normalmente usada para testes de comparação avançados.
Você pode usar essa função para comparar um campo do registro atual com um campo de outro registro.
Por exemplo, você pode adicionar um campo calculado que determina a diferença entre uma quantidade
no registro atual e uma quantidade no registro anterior.

O início ou o final de uma tabela


Se for encontrado o final ou o início da tabela, a função retornará zero para os campos numéricos, uma
cadeia em branco para os campos de caracteres, ou 1900/01/01 para os campos de data. A função
retorna um resultado em branco nestes casos, porque não há registro adicional com o qual o atual regis-
tro pode ser comparado.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 744 de 966


Comandos

Função REGEXFIND( )
Retorna um valor lógico que indica se o padrão especificado por uma expressão regular ocorre em uma
cadeia.

Sintaxe
REGEXFIND(cadeia; padrão)

Parâmetros
Nome Tipo Descrição

cadeia caractere O campo, expressão ou valor literal a ser testado por correspondência
a um padrão.

padrão caractere A cadeia padrão (expressão regular) a ser pesquisada.


padrão pode conter caracteres literais, metacaracteres ou uma com-
binação dos dois. Os caracteres literais incluem todos os caracteres
alfanuméricos, alguns caracteres de pontuação, e brancos.
A pesquisa diferencia maiúsculas de minúsculas, o que significa que
caracteres alfabéticos maiúsculos e minúsculos devem ser espe-
cificados explicitamente.

Saída
Lógico. Retorna T (verdadeiro) se o padrão especificado for encontrado, caso contrário, retorna F (falso).

Exemplos
Exemplos básicos
Padrões de caracteres alfabéticos
Retorna T para todos os registros que contêm "Fortaleza", "Rio de Janeiro" ou "Belo Horizonte" no campo
Cidade_Fornecedor. Caso contrário, retorna F:

REGEXFIND(Cidade_Fornecedor; “Rio de Janeiro|São Paulo|Belo Horizonte")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 745 de 966


Comandos

Retorna T para todos os sobrenomes que começam com "John" ou "Jon". Por exemplo: John, Jon, John-
son, Johnston, Jonson, Jonston, Jones e assim por diante. Caso contrário, retorna F:

REGEXFIND(Sobrenome;"^Joh?n")

Retorna T apenas para os sobrenomes que são "John" ou "Jon". Caso contrário, retorna F:

REGEXFIND(Sobrenome;"^Joh?n\b")

Padrões de caracteres numéricos


Retorna T para todos os registros com números de fatura que contêm "98". Caso contrário, retorna F:

REGEXFIND(Numero_Fatura; "98")

Retorna T para todos os registros com números de fatura que começam com "98". Caso contrário,
retorna F:

REGEXFIND(Numero_Fatura; "\b98")

Retorna T para todos os registros com números de fatura que terminam com "98". Caso contrário, retorna
F:

REGEXFIND(Numero_Fatura; "98\b")

Retorna T para todos os registros com números de fatura que contêm "98" na 5ª e na 6ª posições. Caso
contrário, retorna F:

REGEXFIND(Numero_Fatura; "\b\d\d\d\d98")

REGEXFIND(Numero_Fatura; "\b\d{4}98")

Padrões de caracteres misturados


Retorna T para todos os registros com códigos de produto que iniciam com 3 números, seguidos por um
hífen e 6 letras. Caso contrário, retorna F:

REGEXFIND(Codigo_Produto; "\b\d{3}-[a-zA-Z]{6}\b")

Retorna T para todos os registros com códigos de produto que iniciam com 3 ou mais números, seguidos
por um hífen e 6 ou mais letras. Caso contrário, retorna F:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 746 de 966


Comandos

REGEXFIND(Codigo_Produto; "\b\d{3,}-[a-zA-Z]{6}")

Retorna T para todos os registros com identificadores de fatura alfanuméricos que contêm "98" na 5ª e na
6ª posições. Caso contrário, retorna F:

REGEXFIND(Numero_Fatura; "\b\w{4}98")

Retorna T para todos os registros com identificadores de fatura que contêm os seguintes, caso contrário,
retorna F:
l qualquer caractere nas quatro primeiras posições
l "98" na 5ª e na 6ª posições

REGEXFIND(Numero_Fatura; "\b.{4}98")

Retorna T para todos os registros com identificadores de fatura que contêm "98", precedido de 1 a 4 carac-
teres iniciais. Caso contrário, retorna F:

REGEXFIND(Numero_Fatura; "\b.{1,4}98")

Retorna 'T' para todos os registros com identificadores de fatura que contêm todos os seguintes, caso con-
trário, retorna F:
l qualquer caractere nas três primeiras posições
l "5" ou "6" na 4ª posição
l "98" na 5ª e na 6ª posições

REGEXFIND(Numero_Fatura; "\b.{3}[56]98")

Retorna T para todos os registros com identificadores de fatura que contêm todos os seguintes, caso con-
trário, retorna F:
l qualquer caractere nas duas primeiras posições
l "55" ou "56" na 3ª e na 4ª posições
l "98" na 5ª e na 6ª posições

REGEXFIND(Numero_Fatura; "\b.{2}(55|56)98")

Observações
Como funciona?
A função REGEXFIND( ) usa uma expressão regular para pesquisar dados no Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 747 de 966


Comandos

As expressões regulares são cadeias de pesquisa poderosas e flexíveis que combinam caracteres literais
e metacaracteres, que são caracteres especiais que executam uma grande variedade de operações de
pesquisa.
Por exemplo:

REGEXFIND(Sobrenome;"Sm(i|y)the{0,1}")

usa os metacaracteres de grupo ( ), alternância | e quantificação { } para criar uma expressão regular que
encontre "Smith", "Smyth", "Smithe" ou "Smythe" no campo Sobrenome.

Correspondência sequencial
A correspondência entre os valores cadeia e padrão é executada sequencialmente. No exemplo acima:
l "S" corresponde à primeira posição do campo Sobrenome
l "m" corresponde à segunda posição
l "i" e "y" correspondem à terceira posição
l "t" corresponde à quarta posição
l "h" corresponde à quinta posição
l "e" corresponde à sexta posição, se existente no valor de origem

Quando usar REGEXFIND( )


Use REGEXFIND( ) para pesquisar dados usando correspondência de padrões simples ou complexos.
A concatenação de expressões regulares pode ser capciosa, particularmente quando você está apren-
dendo a sintaxe. Você poderá resolver suas necessidades de pesquisa usando as funções de pesquisa
mais simples do Analytics, como FIND( ), MATCH( ) ou MAP( ).
Se os seus requisitos de pesquisa excederem os recursos dessas funções mais simples, as expressões
regulares oferecem flexibilidade quase ilimitada na construção das cadeias de pesquisa.

Como a REGEXFIND( ) processa espaços


Espaços (brancos) são tratados como caracteres em cadeia e em padrão, portanto, tome cuidado ao lidar
com espaços.
Em padrão, é possível indicar um espaço literalmente, digitando um espaço ou usando o metacaractere
\s. O uso do metacaractere facilita a leitura dos espaços no padrão e reduz a possibilidade de o espaço
passar desapercebido, particularmente em padrões mais complexos.

Concatenação de campos
É possível concatenar dois ou mais campos em cadeia para pesquisar em vários campos ao mesmo
tempo.
Por exemplo:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 748 de 966


Comandos

REGEXFIND(Nome_Fornecedor+Rua_Fornecedor;”Hardware.*Central")

pesquisa os campos Nome_Fornecedor e Rua_Fornecedor para encontrar palavras "Hardware" e "Cen-


tral", separadas por zero ou mais caracteres.
Uma empresa que contenha a palavra "Hardware" em seu nome, localizada em uma rua denominada "Cen-
tral", corresponde à expressão regular. Uma empresa denominada "Hardware na Central" também.
Os campos concatenados são tratados como um único campo que inclui os espaços à esquerda e à direita
de cada campo, a menos que a função ALLTRIM( ) seja usada para remover espaços.

A ordem dos campos concatenados importa


Como REGEXFIND( ) pesquisa pelos caracteres em padrão na ordem em que são especificados, a ordem
de concatenação dos campos influencia o resultado. Se você inverter Nome_Fornecedor e Rua_For-
necedor na expressão acima, seria mais difícil obter qualquer resultado.

Metacaracteres de expressões regulares


A tabela abaixo relaciona os metacaracteres que podem ser usados com REGEXFIND( ) e
REGEXREPLACE( ) e descreve a operação executada por cada um deles.
As expressões regulares oferecem sintaxe adicional que conta com o suporte do Analytics, mas que é mais
complexa. Uma explicação da sintaxe adicional completa está além do escopo deste guia. Há vários recur-
sos disponíveis na Internet que explicam as expressões regulares.
O Analytics usa a implementação ECMAScript das expressões regulares. A maioria das implementações
das expressões regulares usa uma sintaxe central comum.
Nota
A implementação atual das expressões regulares no Analytics não oferece suporte com-
pleto a pesquisas em idiomas diferentes do inglês.

Metacaractere Descrição

. Corresponde a qualquer caractere (exceto o caractere de quebra de linha)

? Corresponde a 0 ou 1 ocorrência do literal, metacaractere ou elemento imediatamente anterior

* Corresponde a 0 ou mais ocorrências do literal, metacaractere ou elemento imediatamente anterior

+ Corresponde a 1 ou mais ocorrências do literal, metacaractere ou elemento imediatamente anterior

{} Corresponde ao número especificado de ocorrências do literal, metacaractere ou elemento ime-


diatamente anterior. Você pode especificar um número exato, um intervalo ou um intervalo aberto.
Por exemplo:
o a{3} corresponde a "aaa"
o X{0,2}L corresponde a "L", "XL" e "XXL"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 749 de 966


Comandos

Metacaractere Descrição

o AB-\d{2,}-YZ corresponde a qualquer identificador alfanumérico com o prefixo "AB-", o sufixo "-YZ"
e dois ou mais números no corpo do identificador

[] Corresponde a qualquer caractere simples dentro dos colchetes


Por exemplo:
o [aeiou] corresponde a a, ou e, ou i, ou o ou u
o [^aeiou] corresponde a qualquer caractere que não seja a, ou e, ou i, ou o ou u
o [A-G] corresponde a qualquer letra maiúscula de A a G
o [A-Ga-g] corresponde a qualquer letra maiúscula de A a G, ou a qualquer letra minúscula de a a g
o [5-9] corresponde a qualquer número de 5 a 9

() Cria um grupo que define uma sequência ou bloco de caracteres, que pode ser tratada como uma
única unidade.
Por exemplo:
o S(ch)?mid?th? corresponde a "Smith" ou "Schmidt"
o (56A.*){2} corresponde a qualquer identificador alfanumérico em que a sequência "56A" ocorre
pelo menos duas vezes
o (56A).*-.*\1 corresponde a qualquer identificador alfanumérico em que a sequência "56A" ocorre
pelo menos duas vezes, com um hífen localizado entre duas das ocorrências

\ Caractere de escape que especifica que o caractere a seguir é um literal. Utilize o caractere de
escape para corresponder metacaracteres literalmente. Por exemplo, \( encontra um parêntesis
esquerdo, e \\ encontra uma barra invertida.
Utilize o caractere de escape se quiser corresponder literalmente qualquer um dos caracteres a
seguir:
^ $ . * + ? = ! : | \ ( ) [ ] { }
Outros caracteres de pontuação, como o e comercial (&) ou arroba (@), não exigem o caractere de
escape.

\ int Especifica que um grupo, definido previamente com parênteses ( ), é repetido. int é um inteiro que
identifica a posição sequencial do grupo previamente definido em relação a todos os outros grupos.
Esse metacaractere pode ser usado no parâmetro padrão em REGEXFIND( ) e REGEXREPLACE( ).
Por exemplo:
o (123).*\1 corresponde a qualquer identificador em que o grupo de dígitos "123" ocorre pelo
menos duas vezes
o ^(\d{3}).*\1 corresponde a qualquer identificador em que os primeiros três dígitos são repetidos
o ^(\d{3}).*\1.*\1 corresponde a qualquer identificador em que os primeiros três dígitos são repe-
tidos pelo menos duas vezes
o ^(\D)(\d)-.*\2\1 corresponde a qualquer identificador em que o prefixo alfanumérico é repetido
com os caracteres alfabéticos e numéricos invertidos

$int Especifica que um grupo encontrado em uma cadeia de destino é usado em uma cadeia de subs-
tituição. int é um inteiro que identifica a posição sequencial do grupo na cadeia de destino em rela-

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 750 de 966


Comandos

Metacaractere Descrição

ção a todos os outros grupos. Esse metacaractere pode ser usado apenas no parâmetro nova_
cadeia em REGEXREPLACE( ).
Por exemplo:
o Se o padrão (\d{3})[ -]?(\d{3})[ -]?(\d{4}) for usado para corresponder diversos formatos de
número de telefone diferentes, o parâmetro nova_cadeia($1)-$2-$3 poderá ser usado para subs-
tituir os números por si mesmos e padronizar a formatação. 999 123-4567 e 9991234567 mudam
para (999)-123-4567.

| Corresponde o caractere, o bloco de caracteres ou a expressão antes ou depois da barra vertical (|)
Por exemplo:
o a|b corresponde a a ou b
o abc|def corresponde a "abc" ou "def"
o Sm(i|y)th corresponde a Smith ou Smyth
o [a-c]|[Q-S]|[x-z] corresponde a qualquer uma das letras: a, b, c, Q, R, S, x, y e z
o \s|- corresponde a um espaço ou um hífen

\w Corresponde a qualquer caractere da palavra (a a z, A a Z, 0 a 9 e o caractere sublinhado _ )

\W Corresponde a qualquer caractere que não é da palavra (diferente de a a z, A a Z, 0 a 9 e do carac-


tere sublinhado _ )

\d Corresponde a todos os números (qualquer dígito decimal)

\D Corresponde a qualquer caractere que não seja um número (qualquer caractere que não seja um
dígito decimal)

\s Corresponde a um espaço (branco)

\S Corresponde a qualquer caractere que não seja um espaço (um caractere não branco)

\b Corresponde a um limite de palavra (entre os caracteres \w e \W)


Os limites de palavra não consomem nenhum espaço. Por exemplo:
o "United Equipment" contém 4 limites de palavra: um em cada lado do espaço, e um no início e no
fim da cadeia. "United Equipment" corresponde à expressão regular \b\w*\b\W\b\w*\b
Dica
Além de espaços, os limites de palavra podem resultar de vírgulas, pontos finais e
outros caracteres que não são palavras.
Por exemplo, a expressão a seguir é avaliada como True:

REGEXFIND("jsmith@example.net"; "\bexample\b")

^ Corresponde ao início de uma cadeia


Dentro de colchetes, [ ], ^ nega o conteúdo

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 751 de 966


Comandos

Metacaractere Descrição

$ Corresponde ao fim de uma cadeia

Funções relacionadas
Se você deseja encontrar e substituir padrões correspondentes, use "Função REGEXREPLACE( )" Na
página oposta.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 752 de 966


Comandos

Função REGEXREPLACE( )
Substitui todas as ocorrências de cadeias que correspondem a uma expressão regular com uma nova
cadeia.

Sintaxe
REGEXREPLACE(cadeia; padrão; nova_cadeia)

Parâmetros
Nome Tipo Descrição

cadeia caractere O campo, expressão ou valor literal a ser testado por correspondência
a um padrão.

padrão caractere A cadeia padrão (expressão regular) a ser pesquisada.


padrão pode conter caracteres literais, metacaracteres ou uma com-
binação dos dois. Os caracteres literais incluem todos os caracteres
alfanuméricos, alguns caracteres de pontuação, e brancos.
A pesquisa diferencia maiúsculas de minúsculas, o que significa que
caracteres alfabéticos maiúsculos e minúsculos devem ser espe-
cificados explicitamente.

nova_cadeia caractere A cadeia usada para substituir todos os valores que correspondem ao
padrão.
A cadeia de substituição pode conter caracteres literais, grupos de
caracteres da cadeia original (usando o elemento $int) ou uma com-
binação dos dois.

Saída
Caractere.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 753 de 966


Comandos

Exemplos
Exemplos básicos
Trabalho com espaços
Retorna "AB CD EF", substituindo um ou mais espaços entre caracteres de texto por um único espaço:

REGEXREPLACE("AB CD   EF"; "\s+"; " ")

Retorna os dados do campo de caracteres com o espaçamento entre as palavras padronizado em um


único espaço:

REGEXREPLACE(campo_de_caractere; "\s+"; " ")

Retorna os dados do campo de caractere com o espaçamento entre as palavras padronizado em um


único espaço. O uso da função BLANKS( ) em nova_cadeia em vez de um espaço literal, facilita a leitura
dos espaços e reduz a possibilidade do espaço passar despercebido:

REGEXREPLACE(campo_de_caractere; "\s+"; BLANKS(1))

Padronização de números de telefone


Retorna "(123) 456-7890". A formatação do número de telefone '1234567890' é padronizada:

REGEXREPLACE(SUBSTR("1234567890";1;14); "(\d{3})[\s-]*(\d{3})[\s-]*(\d{4})";"($1) $2-$3")

Retorna os números no campo Número_Telefone e padroniza a formatação:

REGEXREPLACE(Numero_Telefone; ".*(\d{3})[\s-\.\)]*(\d{3})[\s-\.]*(\d{4})"; "($1) $2-$3")

Extrai "123-456-7890" do texto adjacente:

REGEXREPLACE("Num. tel.: 123-456-7890 (escritório)"; "(.*)(\d{3}[\s-\)\.]*\d{3}[\s-\.]*\d{4})(.*)";


"$2")

Extrai números de telefone do texto adjacente no campo Comentário e padroniza sua formatação:

REGEXREPLACE(Comentário; "(.*)(\d{3})[\s-\)\.]*(\d{3})[\s-\.]*(\d{4})(.*)";"($2) $3-$4")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 754 de 966


Comandos

Identificação de formatos genéricos


Retorna "9XXX-999xx", que representa o formato genérico do valor especificado pela cadeia ("1ABC-
123aa"):

REGEXREPLACE(REGEXREPLACE(REGEXREPLACE("1ABC-123aa";"\d";"9");"[a-z]";"x");"[A-Z]";
"X")

Retorna o formato genérico de todos os identificadores do campo Número_Fatura:

REGEXREPLACE(REGEXREPLACE(REGEXREPLACE(NumeroFatura;"\d";"9");"[a-z]";"x");"[A-Z]";
"X")

Padronização do formato de nomes


Retorna "John David Smith":

REGEXREPLACE("Smith, John David"; "^(\w+),(\s\w+)(\s\w+)?(\s\w+)?";"$2$3$4 $1")

Retorna os nomes no campo Nome_Completo na ordem normal: Nome (Meio) (Meio) Sobrenome:

REGEXREPLACE(Nome_Completo; "^(\w+);(\s\w+)(\s\w+)?(\s\w+)?";"$2$3$4 $1")

Nota
Dados de nome podem apresentar várias complicações, como apóstrofos nos nomes.
Para considerar todas as variações em dados de nomes, normalmente são necessárias
expressões regulares mais complexas que as mostradas no exemplo acima.

Observações
Como funciona?
A função REGEXREPLACE( ) usa uma expressão regular para encontrar padrões correspondentes nos
dados e substitui os valores correspondentes por uma nova cadeia.
Por exemplo:

REGEXREPLACE(campo_de_caractere; "\s+"; " ")

padroniza o espaçamento nos dados de caracteres substituindo um ou mais espaços entre caracteres de
texto por um único espaço.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 755 de 966


Comandos

A parte de pesquisa de REGEXREPLACE( ) é idêntica à da função REGEXFIND( ). Para obter infor-


mações detalhadas sobre os recursos de pesquisa comuns às duas funções, consulte "Função
REGEXFIND( )" Na página 745.

Quando usar REGEXREPLACE( )


Use REGEXREPLACE( ) sempre que quiser encontrar e substituir dados no Analytics usando cor-
respondência de padrões simples ou complexos.

Substituição de caracteres por eles mesmos


Você pode usar o elemento $int para substituir caracteres por eles mesmos, o que permite preservar as
partes significativas dos dados e, ao mesmo tempo, padronizar ou omitir dados adjacentes ou mis-
turados.
Vários exemplos usando números de telefone e nomes estão acima.
Para usar o elemento $int, você deve antes criar grupos usando parênteses ( ) no valor padrão. Para
obter mais informações, consulte "Função REGEXFIND( )" Na página 745.

Como evitar a correspondência de caracteres sequencial


É possível evitar a correspondência de caracteres sequencial, e substituir subcadeias inde-
pendentemente da sua posição entre si, aninhando funções REGEXREPLACE( ).
O problema dos dois exemplos abaixo é derivar um formato genérico de dados de origem alfanuméricos
em que números e letras podem aparecer em qualquer ordem. Sem saber a ordem dos números e letras,
como construir a cadeia padrão?
A solução é encontrar e substituir primeiro os números usando a função REGEXREPLACE( ) interna e
depois encontrar e substituir as letras usando a função REGEXREPLACE( ) externa.
Retorna "999XXX":

REGEXREPLACE(REGEXREPLACE("123ABC","\d","9"),"[A-Z]","X")

Retorna "9X9X9X":

REGEXREPLACE(REGEXREPLACE("1A2B3C","\d","9"),"[A-Z]","X")

Comprimento e truncamento da cadeia de substituição


Quando você usa REGEXREPLACE( ) para criar um campo calculado, o comprimento do campo cal-
culado é idêntico ao comprimento do campo original.
Se a cadeia de substituição exceder o comprimento da cadeia de destino, o tamanho total da cadeia
aumentará, causando truncamento se o comprimento do campo calculado não puder acomodar o maior
tamanho da cadeia.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 756 de 966


Comandos

Os caracteres no final da cadeia de destino são truncados primeiro, seguidos pelos caracteres no final da
cadeia de substituição. Os exemplos a seguir demonstram o truncamento:

cadeia padrão nova_cadeia Comprimento do campo Resultado Caracteres truncados

x123x 123 A 5 "xAx" nenhum

x123x 123 ABC 5 "xABCx" nenhum

x123x 123 ABCD 5 "xABCD" "x"

x123x 123 ABCDE 5 "xABCD" "x", "E"

x123x 123 ABCDE 6 "xABCDE" "x"

x123x 123 ABCDE 7 "xABCDEx" nenhum

Como evitar o truncamento


Para evitar o truncamento, use a função SUBSTR( ) para aumentar o comprimento do campo, como
demonstrado no segundo exemplo abaixo.
Retorna "xABCD", que trunca o caractere de substituição "E" e o caractere atual "x":

REGEXREPLACE("x123x";"123";"ABCDE")

Retorna "xABCDEx", que inclui todos os caracteres de substituição e os caracteres atuais não substituídos:

REGEXREPLACE(SUBSTR("x123x";1;10);"123";"ABCDE")

Metacaracteres de expressões regulares


A tabela abaixo relaciona os metacaracteres que podem ser usados com REGEXFIND( ) e
REGEXREPLACE( ) e descreve a operação executada por cada um deles.
As expressões regulares oferecem sintaxe adicional que conta com o suporte do Analytics, mas que é mais
complexa. Uma explicação da sintaxe adicional completa está além do escopo deste guia. Há vários recur-
sos disponíveis na Internet que explicam as expressões regulares.
O Analytics usa a implementação ECMAScript das expressões regulares. A maioria das implementações
das expressões regulares usa uma sintaxe central comum.
Nota
A implementação atual das expressões regulares no Analytics não oferece suporte com-
pleto a pesquisas em idiomas diferentes do inglês.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 757 de 966


Comandos

Metacaractere Descrição

. Corresponde a qualquer caractere (exceto o caractere de quebra de linha)

? Corresponde a 0 ou 1 ocorrência do literal, metacaractere ou elemento imediatamente anterior

* Corresponde a 0 ou mais ocorrências do literal, metacaractere ou elemento imediatamente anterior

+ Corresponde a 1 ou mais ocorrências do literal, metacaractere ou elemento imediatamente anterior

{} Corresponde ao número especificado de ocorrências do literal, metacaractere ou elemento ime-


diatamente anterior. Você pode especificar um número exato, um intervalo ou um intervalo aberto.
Por exemplo:
o a{3} corresponde a "aaa"
o X{0,2}L corresponde a "L", "XL" e "XXL"
o AB-\d{2,}-YZ corresponde a qualquer identificador alfanumérico com o prefixo "AB-", o sufixo "-
YZ" e dois ou mais números no corpo do identificador

[] Corresponde a qualquer caractere simples dentro dos colchetes


Por exemplo:
o [aeiou] corresponde a a, ou e, ou i, ou o ou u
o [^aeiou] corresponde a qualquer caractere que não seja a, ou e, ou i, ou o ou u
o [A-G] corresponde a qualquer letra maiúscula de A a G
o [A-Ga-g] corresponde a qualquer letra maiúscula de A a G, ou a qualquer letra minúscula de a a
g
o [5-9] corresponde a qualquer número de 5 a 9

() Cria um grupo que define uma sequência ou bloco de caracteres, que pode ser tratada como uma
única unidade.
Por exemplo:
o S(ch)?mid?th? corresponde a "Smith" ou "Schmidt"
o (56A.*){2} corresponde a qualquer identificador alfanumérico em que a sequência "56A" ocorre
pelo menos duas vezes
o (56A).*-.*\1 corresponde a qualquer identificador alfanumérico em que a sequência "56A"
ocorre pelo menos duas vezes, com um hífen localizado entre duas das ocorrências

\ Caractere de escape que especifica que o caractere a seguir é um literal. Utilize o caractere de
escape para corresponder metacaracteres literalmente. Por exemplo, \( encontra um parêntesis
esquerdo, e \\ encontra uma barra invertida.
Utilize o caractere de escape se quiser corresponder literalmente qualquer um dos caracteres a
seguir:
^ $ . * + ? = ! : | \ ( ) [ ] { }
Outros caracteres de pontuação, como o e comercial (&) ou arroba (@), não exigem o caractere de
escape.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 758 de 966


Comandos

Metacaractere Descrição

\ int Especifica que um grupo, definido previamente com parênteses ( ), é repetido. int é um inteiro que
identifica a posição sequencial do grupo previamente definido em relação a todos os outros gru-
pos. Esse metacaractere pode ser usado no parâmetro padrão em REGEXFIND( ) e
REGEXREPLACE( ).
Por exemplo:
o (123).*\1 corresponde a qualquer identificador em que o grupo de dígitos "123" ocorre pelo
menos duas vezes
o ^(\d{3}).*\1 corresponde a qualquer identificador em que os primeiros três dígitos são repetidos
o ^(\d{3}).*\1.*\1 corresponde a qualquer identificador em que os primeiros três dígitos são repe-
tidos pelo menos duas vezes
o ^(\D)(\d)-.*\2\1 corresponde a qualquer identificador em que o prefixo alfanumérico é repetido
com os caracteres alfabéticos e numéricos invertidos

$int Especifica que um grupo encontrado em uma cadeia de destino é usado em uma cadeia de subs-
tituição. int é um inteiro que identifica a posição sequencial do grupo na cadeia de destino em rela-
ção a todos os outros grupos. Esse metacaractere pode ser usado apenas no parâmetro nova_
cadeia em REGEXREPLACE( ).
Por exemplo:
o Se o padrão (\d{3})[ -]?(\d{3})[ -]?(\d{4}) for usado para corresponder diversos formatos de
número de telefone diferentes, o parâmetro nova_cadeia($1)-$2-$3 poderá ser usado para subs-
tituir os números por si mesmos e padronizar a formatação. 999 123-4567 e 9991234567
mudam para (999)-123-4567.

| Corresponde o caractere, o bloco de caracteres ou a expressão antes ou depois da barra vertical


(|)
Por exemplo:
o a|b corresponde a a ou b
o abc|def corresponde a "abc" ou "def"
o Sm(i|y)th corresponde a Smith ou Smyth
o [a-c]|[Q-S]|[x-z] corresponde a qualquer uma das letras: a, b, c, Q, R, S, x, y e z
o \s|- corresponde a um espaço ou um hífen

\w Corresponde a qualquer caractere da palavra (a a z, A a Z, 0 a 9 e o caractere sublinhado _ )

\W Corresponde a qualquer caractere que não é da palavra (diferente de a a z, A a Z, 0 a 9 e do carac-


tere sublinhado _ )

\d Corresponde a todos os números (qualquer dígito decimal)

\D Corresponde a qualquer caractere que não seja um número (qualquer caractere que não seja um
dígito decimal)

\s Corresponde a um espaço (branco)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 759 de 966


Comandos

Metacaractere Descrição

\S Corresponde a qualquer caractere que não seja um espaço (um caractere não branco)

\b Corresponde a um limite de palavra (entre os caracteres \w e \W)


Os limites de palavra não consomem nenhum espaço. Por exemplo:
o "United Equipment" contém 4 limites de palavra: um em cada lado do espaço, e um no início e
no fim da cadeia. "United Equipment" corresponde à expressão regular \b\w*\b\W\b\w*\b
Dica
Além de espaços, os limites de palavra podem resultar de vírgulas, pontos finais e
outros caracteres que não são palavras.
Por exemplo, a expressão a seguir é avaliada como True:

REGEXFIND("jsmith@example.net"; "\bexample\b")

^ Corresponde ao início de uma cadeia


Dentro de colchetes, [ ], ^ nega o conteúdo

$ Corresponde ao fim de uma cadeia

Funções relacionadas
Se você quiser encontrar padrões correspondentes sem substituí-los, use "Função REGEXFIND( )" Na
página 745.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 760 de 966


Comandos

Função REMOVE( )
Retorna uma cadeia que inclui apenas os caracteres especificados.

Sintaxe
REMOVE(cadeia; caracteres_válidos)

Parâmetros
Nome Tipo Descrição

cadeia caractere A cadeia da qual os caracteres devem ser removidos.

caracteres_válidos caractere Os caracteres a serem retidos em cadeia.


Se você especificar aspas em caracteres_válidos, deverá colocar a
lista de caracteres entre apóstrofos.
Por exemplo: '"-/'
Nota
Se o caractere especificado não aparece na cadeia, não
será incluído no valor de retorno.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "ABC123     ":

REMOVE("ABC 123 XX4";"ABC123")

Retorna "ABC123XX    ":

REMOVE("zABC 123 XX4";"ABCX123")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 761 de 966


Comandos

Retorna "1234       ":

REMOVE("ABC 123 XX4"; "1234567890")

Retorna todos os valores do campo Número_Produto, com todos os caracteres não numéricos excluídos:

REMOVE(Número_produto;"0123456789")

Observações
Nota
A função REMOVE( ) foi substituída pelas funções INCLUDE( ) e EXCLUDE( ).
REMOVE( ) ainda está disponível na versão atual do Analytics para compatibilidade com
versões anteriores.

Como funciona?
A função REMOVE( ) elimina os caracteres indesejados de dados da cadeia e retorna uma cadeia de
comprimento fixo.

Quando usar REMOVE( )


Use REMOVE( ) para normalizar campos de dados que não têm um formato consistente, como campos
de endereço. REMOVE( ) também pode ser usada para remover a pontuação ou outras informações invá-
lidas de campos que contenham erros de edição.
Use também a função para limpar dados em campos antes de usar os comandos SORT ou JOIN, para
correspondência de duplicidades ou para saída do relatório.

Diferenciação de maiúsculas e minúsculas


A função REMOVE( ) diferencia entre maiúsculas e minúsculas. Se você especificar "ID" em caracteres_
válidos, esses caracteres não são incluídos em "id#94022". Se houver a possibilidade de combinação de
minúsculas e maiúsculas, use a função UPPER( ) para converter a cadeia em letras maiúsculas.
Por exemplo:

REMOVE(UPPER("id#94022"); "ID0123456789")

Funções relacionadas
A função REMOVE( ) é similar à função INCLUDE( ), com a seguinte diferença:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 762 de 966


Comandos

l REMOVE( ) adiciona espaços em branco no fim do resultado para substituir os caracteres que foram
removidos. O comprimento da cadeia original é mantido.
l INCLUDE( ) não adiciona espaços em branco.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 763 de 966


Comandos

Função REPEAT( )
Retorna uma cadeia que repete uma subcadeia por um número especificado de vezes.

Sintaxe
REPEAT(cadeia; quantidade)

Parâmetros
Nome Tipo Descrição

cadeia caractere A cadeia a ser repetida.

quantidade numérico O número de vezes que o valor da cadeia deve ser repetido.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "ABCABCABC":

REPEAT("ABC";3)

Retorna "000000000":

REPEAT("0";9)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 764 de 966


Comandos

Observações
Quando usar REPEAT( )
Use REPEAT( ) para inicializar uma variável com valores constantes ou brancos ou para configurar um
valor padrão para um campo calculado.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 765 de 966


Comandos

Função REPLACE( )
Substitui todas as instâncias de uma cadeia de caracteres especificada por uma nova cadeia de carac-
teres.

Sintaxe
REPLACE(cadeia; texto_anterior; texto_novo)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor cujos caracteres devem ser substituídos.

texto_anterior caractere A cadeia de caracteres a ser substituída. A pesquisa diferencia mai-


úsculas de minúsculas.

texto_novo caractere O texto com que o valor no texto_anterior deve ser substituído.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "a12345efg":

REPLACE("abcdefg";"bcd";"12345")

Retorna "Rd.":

REPLACE("Road";"Road";"Rd.")

Retorna "ac":

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 766 de 966


Comandos

REPLACE("abc";"b";"")

Exemplos avançados
Remoção de caracteres específicos
Use REPLACE( ) para remover uma cadeia de caracteres especificada de uma cadeia de origem, subs-
tituindo-a por uma cadeia de caracteres vazia ("").
Retorna "1234 Scott":

REPLACE("1234 Scott rd."; "rd."; "")

Ajuste de comprimento do campo


Se novo_texto ("ABC") for maior que texto_anterior ("X"), o comprimento do campo da cadeia resultante
será aumentado automaticamente para acomodar a primeira substituição:
Retorna "9ABC9", com um comprimento do campo aumentado para 5 de 3 caracteres:

REPLACE("9X9"; "X"; "ABC")

O comprimento do campo não é aumentado automaticamente nas substituições subsequentes, o que pos-
sibilita truncamento se o campo não é grande o suficiente para acomodar todos os novos caracteres.
Retorna "9ABC9A":

REPLACE("9X9X"; "X"; "ABC")

Para evitar truncamento, você pode aumentar o comprimento de cadeia usando a função BLANKS( ) ou
espaços em branco literais.
Retorna "9ABC9ABC":

REPLACE("9X9X" + BLANKS(2); "X"; "ABC")

REPLACE("9X9X" + "  "; "X"; "ABC")

Se a cadeia resultante for menor que cadeia, a cadeia resultante será preenchida com espaços em branco
para manter o mesmo comprimento do campo.
Retorna "9X9 ":

REPLACE("9ABC9"; "ABC"; "X")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 767 de 966


Comandos

Observações
Como funciona?
A função REPLACE( ) substitui cada instância de uma cadeia existente por uma nova cadeia.
Retorna "1234 Scott Road":

REPLACE("1234 Scott rd."; "rd."; "Road")

Quando usar REPLACE( )


Use REPLACE( ) para normalizar campos de dados com formatos inconsistentes, como campos de ende-
reço ou para substituir informações inválidas em campos com erros de edição. Para ser realizado de
forma precisa, as operações, tais como testes de duplicidades, junção ou tabelas relacionadas, exigem
que os dados sejam normalizados ou padronizados em termos de formato.

Diferenciação de maiúsculas e minúsculas


A função REPLACE( ) diferencia entre maiúsculas e minúsculas. Se você especificar "RD." em texto_
anterior e os valores na cadeia estiverem em minúsculas, o valor de texto_novo não será substituído por-
que nenhuma correspondência será encontrada.
Se houver a possibilidade de combinação de minúsculas e maiúsculas na cadeia, utilize primeiramente a
função UPPER( ) para converter todos os caracteres em letras maiúsculas.
Retorna "1234 SCOTT ROAD":

REPLACE(UPPER("1234 Scott rd."); "RD."; "ROAD")

Proteção contra substituições acidentais


Ao criar uma expressão REPLACE( ), é preciso levar em conta cada instância possível do texto_anterior
na cadeia para que não ocorram substituições indesejadas.
Retorna "645 RichaRoad Road" porque as duas últimas letras de "Richard" são "rd":

REPLACE("645 Richard rd  "; "rd"; "Road")

A adição de um espaço à esquerda e à direita do valor do texto_anterior (" rd ") evita que a função subs-
titua instâncias em que "rd" ocorre em um nome, porque nesses casos não há espaços à esquerda.
Retorna "645 Richard Road":

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 768 de 966


Comandos

REPLACE("645 Richard rd  "; " rd "; " Road")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 769 de 966


Comandos

Função REVERSE( )
Retorna uma cadeia com os caracteres na ordem invertida.

Sintaxe
REVERSE(cadeia)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor para inverter a ordem de.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "E DCBA":

REVERSE("ABCD E")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 770 de 966


Comandos

Função RJUSTIFY( )
Retorna uma cadeia alinhada à direita com o mesmo comprimento que a cadeia especificada, com todos os
espaços finais movidos para a esquerda da cadeia.

Sintaxe
RJUSTIFY(cadeia)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor para alinhar à direita.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "   ABC":

RJUSTIFY("ABC   ")

Observações
Quando usar RJUSTIFY( )
Use a função RJUSTIFY( ) para alinhar um campo de caracteres à direita.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 771 de 966


Comandos

Função RLOGICAL( )
Retorna um valor lógico calculado por uma função ou script do R. O processamento de dados no R é
externo ao Analytics.

Sintaxe
RLOGICAL(scriptR|códigoR <;campo|valor <;...n>>)

Parâmetros
Nome Tipo Descrição

rScript | rCode caractere O caminho completo ou relativo para o script do R ou um snippet de


código R a ser executado.
Se você inserir o código R diretamente em vez de usar um arquivo
externo, não será possível usar texto entre aspas no código, mesmo
que você use o caractere de escape para as aspas:
o válido: 'var <- "\"teste\"" '
o inválido: 'var <- "\'teste\'" '

campo | valor <,...n> caractere A lista de campos, expressões ou valores literais para usar como
argumentos para o script ou snippet de código do R.
opcional numérico
Os valores são passados para a função chamada na ordem em que
datahora
são especificados e são referenciados usando valor1, valor2 ...
lógico valorN no código do R.
Você pode incluir o número de argumentos necessário para atender
à definição da função no script do R.
Nota
Use a função ALLTRIM( ) para remover todos os espa-
ços à esquerda ou à direita de entradas de caracteres:
ALLTRIM(cadeia). Para obter mais informações, con-
sulte "Função ALLTRIM( )" Na página 479.

Saída
Lógico.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 772 de 966


Comandos

Exemplos
Exemplos básicos
Retorna T:

RLOGICAL("(value1>0.6) & (value2>0.7) & (value3>0.5)"; 0,8; 0,9; 0,55)

Exemplos avançados
Uso de um script do R externo
Aceita um valor, um limite superior e um limite inferior. A função retorna um valor de verdade com base em
uma série de comparações lógicas:

RLOGICAL("a<-'c:\\scripts\\sample.r');a[[1]]"; valor_despesa; limite_inferior; limite_superior)

Script do R externo (amostra.r):

test_truth <- function(amt, low, hi) {


return(((amt > low) & (amt < hi)) | ((amt==low) | (amt==hi)))
}
test_truth(value1, value2, value3)

Uso do código do R armazenado em uma variável


Executa um teste lógico de três campos usando lógica AND:

v_códigor = "(valor1>0.6) & (valor2>0.7) & (valor3>0.5)"


RLOGICAL(v_códigor; PACKED; MICRO_LONG; ACCPAC)

Observações
Retorno de uma data do R
Ao chamar scripts do R, use a função origem e atribua o objeto retornado a uma variável. Desse modo,
você pode acessar o valor retornado da função do R no objeto retornado:

# 'a' contém o objeto da resposta e a[[1]] acessa o valor dos dados


"a<-source('c:\\scripts\\r_scripts\\sample.r');a[[1]]"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 773 de 966


Comandos

Arquivo de log R
O Analytics registra em log as mensagens da linguagem R no arquivo aclrlan.log na pasta do pro-
jeto. Use esse arquivo de log para depurar erros do R.
Dica
O arquivo de log está disponível na pasta Resultados das tarefas de análise do Analytics
Exchange.

Execução de scripts do R externos no Servidor AX


Se você estiver criando um aplicativo de análise para executar no Servidor AX e quiser trabalhar com
scripts do R externos:
1. Carregue o arquivo como arquivo relacionado ao aplicativo de análise.
2. Use a tag de análise FILE para identificar o(s) arquivo(s).
3. Faça referência aos arquivos usando o caminho relativo ./nomedoarquivo.r.
Nota
Usar um arquivo relacionado garante que a conta do servidor do aplicativo TomEE tenha
permissões suficientes para acessar o arquivo ao executar o R com o Analytics
Exchange.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 774 de 966


Comandos

Função RNUMERIC( )
Retorna um valor numérico calculado por uma função ou script do R. O processamento de dados no R é
externo ao Analytics.

Sintaxe
RNUMERIC(scriptR|códigoR; decimais <;campo|valor <;...n>>)

Parâmetros
Nome Tipo Descrição

rScript | rCode caractere O caminho completo ou relativo para o script do R ou um snippet de


código R a ser executado.
Se você inserir o código R diretamente em vez de usar um arquivo
externo, não será possível usar texto entre aspas no código, mesmo
que você use o caractere de escape para as aspas:
o válido: 'var <- "\"teste\"" '
o inválido: 'var <- "\'teste\'" '

decimais numérico O número de casas decimais a incluir no valor retornado. Deve ser um
inteiro positivo.

campo | valor <,...n> caractere A lista de campos, expressões ou valores literais para usar como argu-
mentos para o script ou snippet de código do R.
opcional numérico
Os valores são passados para a função chamada na ordem em que
datahora
são especificados e são referenciados usando valor1, valor2 ... valorN
lógico no código do R.
Você pode incluir o número de argumentos necessário para atender à
definição da função no script do R.
Nota
Use a função ALLTRIM( ) para remover todos os espa-
ços à esquerda ou à direita de entradas de caracteres:
ALLTRIM(cadeia). Para obter mais informações, con-
sulte "Função ALLTRIM( )" Na página 479.

Saída
Numérico.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 775 de 966


Comandos

Exemplos
Exemplos básicos
Retorna 100 com 10 decimais (100,0000000000):

RNUMERIC("print(value1)"; 10; 100)

Exemplos avançados
Armazenamento de código do R como variável
Retorna 100 com 10 decimais (100,0000000000):

ASSIGN v_códigor = "print(valor1)"


RNUMERIC(v_códigor; 10; 100)

Gravação em um arquivo externo


Executa uma adição simples e grava o comentário anexado à função em um arquivo usando a função
sink no R:

RNUMERIC("foo<-function(x,y){x+y};attr(foo, 'comment') <- 'foo performs simple addition';sink('c:/-


temp/result.txt');attributes(foo);sink(NULL);foo(value1,value2)"; 0; amt; bruto)

Observações
Retorno de uma data do R
Ao chamar scripts do R, use a função origem e atribua o objeto retornado a uma variável. Desse modo,
você pode acessar o valor retornado da função do R no objeto retornado:

# 'a' contém o objeto da resposta e a[[1]] acessa o valor dos dados


"a<-source('c:\\scripts\\r_scripts\\sample.r');a[[1]]"

Arquivo de log R
O Analytics registra em log as mensagens da linguagem R no arquivo aclrlan.log na pasta do pro-
jeto. Use esse arquivo de log para depurar erros do R.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 776 de 966


Comandos

Dica
O arquivo de log está disponível na pasta Resultados das tarefas de análise do Analytics
Exchange.

Execução de scripts do R externos no Servidor AX


Se você estiver criando um aplicativo de análise para executar no Servidor AX e quiser trabalhar com
scripts do R externos:
1. Carregue o arquivo como arquivo relacionado ao aplicativo de análise.
2. Use a tag de análise FILE para identificar o(s) arquivo(s).
3. Faça referência aos arquivos usando o caminho relativo ./nomedoarquivo.r.
Nota
Usar um arquivo relacionado garante que a conta do servidor do aplicativo TomEE tenha
permissões suficientes para acessar o arquivo ao executar o R com o Analytics Exchange.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 777 de 966


Comandos

Função ROOT( )
Retorna a raiz quadrada de uma expressão numérica.

Sintaxe
ROOT(número; decimais)

Parâmetros
Nome Tipo Descrição

número numérico A expressão numérica da qual será encontrada a raiz quadrada.


Essa função retorna zero se o número for um número negativo.

decimais numérico O número de casas decimais a ser usado no resultado.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 10,00:

ROOT(100; 2)

Retorna 31,6228:

ROOT(1000; 4)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 778 de 966


Comandos

Observações
Como funciona?
A função ROOT( ) retorna a raiz quadrada da expressão numérica ou valor de campo com o número espe-
cificado de casas decimais. O resultado é devidamente arredondado.

Quando usar ROOT( )


Use LOG( ) para executar outras funções de raiz, tais como raiz cúbica.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 779 de 966


Comandos

Função ROUND( )
Retorna um número inteiro arredondado para um valor numérico.

Sintaxe
ROUND(número)

Parâmetros
Nome Tipo Descrição

número numérico O valor a ser arredondado para o inteiro mais próximo.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 7:

ROUND(7,2)

Retorna 8:

ROUND(7,5)

Retorna -8:

ROUND(-7.5)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 780 de 966


Comandos

Exemplos avançados
Arredondamento de valores monetários
Cria um campo que represente o saldo arredondado para o valor de dólar mais próximo:

DEFINE FIELD Valor_mais_próximo COMPUTED ROUND(Saldo)

Observações
Como funciona?
ROUND( ) retorna um número igual ao valor de número arredondado para o inteiro mais próximo:

Valores positivos Valores negativos

Arredonda para o próximo número inteiro >= 0,5 < 0,5

Arredonda para o número inteiro anterior < 0,5 >= 0,5

Arredondamento para um determinado número de casas


decimais
Se você quiser arredondar um número para um determinado número de casas decimais, utilize a "Função
DEC( )" Na página 550. A função ROUND( ) é igual à função DEC( ) com zero casas decimais espe-
cificadas.

ROUND(número)

equivale a:

DEC(número, 0)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 781 de 966


Comandos

Função RSTRING( )
Retorna um valor de cadeia calculado por uma função ou script do R. O processamento de dados no R é
externo ao Analytics.

Sintaxe
RSTRING(scriptR|códigoR; comprimento <;campo|valor <;...n>>)

Parâmetros
Nome Tipo Descrição

rScript | rCode caractere O caminho completo ou relativo para o script do R ou um snippet de


código R a ser executado.
Se você inserir o código R diretamente em vez de usar um arquivo
externo, não será possível usar texto entre aspas no código, mesmo
que você use o caractere de escape para as aspas:
o válido: 'var <- "\"teste\"" '
o inválido: 'var <- "\'teste\'" '

comprimento numérico O comprimento a ser alocado para a cadeia de retorno.

campo | valor <,...n> caractere A lista de campos, expressões ou valores literais para usar como
argumentos para o script ou snippet de código do R.
opcional numérico
Os valores são passados para a função chamada na ordem em que
datahora
são especificados e são referenciados usando valor1, valor2 ...
lógico valorN no código do R.
Você pode incluir o número de argumentos necessário para atender
à definição da função no script do R.
Nota
Use a função ALLTRIM( ) para remover todos os espa-
ços à esquerda ou à direita de entradas de caracteres:
ALLTRIM(cadeia). Para obter mais informações, con-
sulte "Função ALLTRIM( )" Na página 479.

Saída
Caractere.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 782 de 966


Comandos

Exemplos
Exemplos básicos
Retorna "abc123":

RSTRING("print(paste(value1,value2,sep=""))",6,"abc","123")

Exemplos avançados
Uso de um script do R externo
Concatena x e y em uma única cadeia delimitada por um caractere espaço:

RSTRING(“a<-source(‘./amostra.r');a[[1]]",50, Nome, Sobrenome)

Script do R externo (amostra.r):

conc <- function(x, y) {


paste(x, y, sep=" ")
}
print(conc(valor1, valor2))

Uso do código do R armazenado em uma variável


Concatena x e y em uma única cadeia delimitada por um caractere espaço:

ASSIGN v_script = "conc <- function(x, y){paste(x, y, sep=' ')};conc(valor1, valor2)"


RSTRING(v_script; 50; Nome, Sobrenome)

Uso do R para gerar um UUID para uma tabela


Você está preparando uma tabela de exceções para carregar no Resultados e precisa de um identificador
comprovadamente único para cada registro. Para gerar esse campo, use o pacote uuid no R para criar um
valor de chave primária único para cada registro:

EXTRACT RSTRING("uuid::UUIDgenerate()"; 36) AS "id", nome, sobrenome, data_nascimento TO


tabela_exportação

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 783 de 966


Comandos

Dica
Para instalar o pacote uuid, abra o R.exe e execute o seguinte comando:

install.packages("uuid")

Observações
Retorno de uma data do R
Ao chamar scripts do R, use a função origem e atribua o objeto retornado a uma variável. Desse modo,
você pode acessar o valor retornado da função do R no objeto retornado:

# 'a' contém o objeto da resposta e a[[1]] acessa o valor dos dados


"a<-source('c:\\scripts\\r_scripts\\sample.r');a[[1]]"

Arquivo de log R
O Analytics registra em log as mensagens da linguagem R no arquivo aclrlan.log na pasta do pro-
jeto. Use esse arquivo de log para depurar erros do R.
Dica
O arquivo de log está disponível na pasta Resultados das tarefas de análise do Analytics
Exchange.

Execução de scripts do R externos no Servidor AX


Se você estiver criando um aplicativo de análise para executar no Servidor AX e quiser trabalhar com
scripts do R externos:
1. Carregue o arquivo como arquivo relacionado ao aplicativo de análise.
2. Use a tag de análise FILE para identificar o(s) arquivo(s).
3. Faça referência aos arquivos usando o caminho relativo ./nomedoarquivo.r.
Nota
Usar um arquivo relacionado garante que a conta do servidor do aplicativo TomEE tenha
permissões suficientes para acessar o arquivo ao executar o R com o Analytics
Exchange.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 784 de 966


Comandos

Função RTIME( )
Retorna um valor de hora calculado por uma função ou script do R. O processamento de dados no R é
externo ao Analytics.

Sintaxe
RTIME(scriptR|códigoR <;campo|valor <;...n>>)

Parâmetros
Nome Tipo Descrição

rScript | rCode caractere O caminho completo ou relativo para o script do R ou um snippet de


código R a ser executado.
Se você inserir o código R diretamente em vez de usar um arquivo
externo, não será possível usar texto entre aspas no código, mesmo
que você use o caractere de escape para as aspas:
o válido: 'var <- "\"teste\"" '
o inválido: 'var <- "\'teste\'" '

campo | valor <,...n> caractere A lista de campos, expressões ou valores literais para usar como argu-
mentos para o script ou snippet de código do R.
opcional numérico
Os valores são passados para a função chamada na ordem em que
datahora
são especificados e são referenciados usando valor1, valor2 ... valorN
lógico no código do R.
Você pode incluir o número de argumentos necessário para atender à
definição da função no script do R.
Nota
Use a função ALLTRIM( ) para remover todos os espa-
ços à esquerda ou à direita de entradas de caracteres:
ALLTRIM(cadeia). Para obter mais informações, con-
sulte "Função ALLTRIM( )" Na página 479.

Saída
Datahora.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 785 de 966


Comandos

Exemplos
Exemplos básicos
Retorna `t0545`:

RTIME("value1+2700",`t0500`)

Exemplos avançados
Uso de um script do R externo
Adiciona 45 minutos a um campo de hora, passando um campo e um valor literal a uma função do R
externa:

RTIME(“a<-source(‘c:\\scripts\\amostra.r');a[[1]]", hora_final, 2700)

Script do R externo (amostra.r):

adicionar_tempo <- function(início; seg) {


return(início + seg)
}
adicionar_tempo(valor1; valor2)

Observações
Retorno de uma data do R
Ao chamar scripts do R, use a função origem e atribua o objeto retornado a uma variável. Desse modo,
você pode acessar o valor retornado da função do R no objeto retornado:

# 'a' contém o objeto da resposta e a[[1]] acessa o valor dos dados


"a<-source('c:\\scripts\\r_scripts\\sample.r');a[[1]]"

Arquivo de log R
O Analytics registra em log as mensagens da linguagem R no arquivo aclrlan.log na pasta do pro-
jeto. Use esse arquivo de log para depurar erros do R.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 786 de 966


Comandos

Dica
O arquivo de log está disponível na pasta Resultados das tarefas de análise do Analytics
Exchange.

Execução de scripts do R externos no Servidor AX


Se você estiver criando um aplicativo de análise para executar no Servidor AX e quiser trabalhar com
scripts do R externos:
1. Carregue o arquivo como arquivo relacionado ao aplicativo de análise.
2. Use a tag de análise FILE para identificar o(s) arquivo(s).
3. Faça referência aos arquivos usando o caminho relativo ./nomedoarquivo.r.
Nota
Usar um arquivo relacionado garante que a conta do servidor do aplicativo TomEE tenha
permissões suficientes para acessar o arquivo ao executar o R com o Analytics Exchange.

Fuso horário do sistema


O horário de Greenwich (GMT) é o fuso horário atual padrão no ambiente do R usado pelo Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 787 de 966


Comandos

Função SECOND( )
Extrai os segundos de uma hora ou datahora específica e retorna como valor numérico.

Sintaxe
SECOND(hora/datahora)

Parâmetros
Nome Tipo Descrição

hora/datahora datahora O campo, expressão ou valor literal do qual serão extraídos os segun-
dos.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 30:

SECOND(`t235930`)

SECOND(`20141231 235930`)

Retorna os segundos para cada valor do campo Hora_início_chamada:

SECOND(Ligue_para_a_hora_de_início)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 788 de 966


Comandos

Observações
Detalhes do parâmetro
Um campo especificado para hora/datahora pode usar qualquer formato de data ou datahora, desde que a
definição do campo defina corretamente o formato.
Especificação de uma hora literal ou de um valor datahora
Ao especificar um valor literal de hora ou datahora para hora/datahora, você fica restrito aos formatos na
tabela abaixo e o valor deve estar entre apóstrofos invertidos – por exemplo, `20141231 235959`.
Não use separadores como barras (/) ou dois pontos (:) entre os componentes individuais de datas ou
horas.
l Valores de hora – você pode usar qualquer dos formatos de hora listados na tabela abaixo. Você
deve usar um separador antes de um valor de hora independente para que a função funcione cor-
retamente. Os separadores válidos são as letras 't' ou 'T'. As horas devem ser especificadas usando
o relógio de 24 horas. Os ajustes do Tempo Universal Coordenado (UTC) devem ser precedidos por
um sinal de mais (+) ou de menos (-).
l Valores de datahora – você pode usar qualquer combinação de formatos de data, separador e hora
listados na tabela abaixo. A data deve preceder a hora e um separador deve ser usado entre os dois.
Os separadores válidos são um único espaço em branco ou as letras 't' ou 'T'.

Exemplos de formato Exemplos de valores literais

thhmmss `t235959`

Thhmm `T2359`

AAAAMMDD hhmmss `20141231 235959`

AAMMDDthhmm `141231t2359`

AAAAMMDDThh `20141231T23`

AAAAMMDD hhmmss+/-hhmm `20141231 235959-0500`
(ajuste UTC)

AAMMDD hhmm+/-hh `141231 2359+01`
(ajuste UTC)

Nota
Não use somente hh no formato de hora
principal com dados que têm um ajuste
UTC. Por exemplo, evite: hh+hhmm. Os
resultados podem ser não confiáveis.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 789 de 966


Comandos

Função SHIFT( )
Retorna uma cadeia de caracteres única, com os bits do primeiro caractere do valor de entrada des-
locados para a esquerda ou direita.

Sintaxe
SHIFT(caractere; número_de_bits_à_esquerda)

Parâmetros
Nome Tipo Descrição

caractere caractere O valor para qual os bits devem ser deslocados.

número_de_bits_à_ numérico Especifica por qual número de bits o valor de caractere deve ser des-
esquerda locado.
o Se o valor for positivo:, caractere será deslocado para a esquerda
o Se o valor for negativo:, caractere será deslocado para a direita
Se o valor especificado for maior do que 15 ou menor que -15, o
resultado será zero binário, CHR(0).

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna a letra "X" ou CHR(88) (00010110 torna-se 01011000):

SHIFT(CHR(22); 2)

Retorna o caractere backspace ou CHR(8) (00010000 torna-se 00001000):

SHIFT(CHR(16); -1)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 790 de 966


Comandos

Retorna o caractere de acento grave, ou CHR(96) (10011011 torna-se 01100000):

SHIFT(CHR(155); 5)

Observações
Quando usar SHIFT( )
Use SHIFT( ) juntamente com as funções BYTE( ), CHR( ) e MASK( ) para isolar e deslocar bits individuais
de um registro.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 791 de 966


Comandos

Função SIN( )
Retorna o seno de um ângulo expresso em radianos, com uma precisão de 15 casas decimais.

Sintaxe
SIN(radianos)

Parâmetros
Nome Tipo Descrição

radianos numérico A medição do ângulo em radianos.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 0,500000000000000 (o seno do número específico de radianos, equivalente a 30 graus):

SIN(0,523598775598299)

Retorna 0,500000000000000 (o valor do seno de 30 graus):

SIN(30 * PI( )/180)

Exemplos avançados
Uso de graus como entrada
Retorna 0,500 (o seno de 30 graus, arredondado para 3 casas decimais):

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 792 de 966


Comandos

DEC(SIN(30 * PI( )/180);3)

Observações
Realizando o Teste de Arco de Mantissa
As três funções trigonométricas no Analytics – SIN( ), COS( ) e TAN( ) – são compatíveis com a realização
do Teste de Arco de Mantissa associado à Lei de Benford.

Convertendo graus em radianos


Se a entrada é em graus, você pode usar a função PI( ) para converter a entrada em radianos: (graus * PI
( )/180) = radianos. Se necessário, você pode arredondar ou truncar o valor de retorno usando a função
DEC( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 793 de 966


Comandos

Função SOUNDEX( )
Retorna o código soundex para a cadeia especificada, que pode ser usado para comparações fonéticas
com outras cadeias.

Sintaxe
SOUNDEX(nome)

Parâmetros
Nome Tipo Descrição

nome caractere A expressão de caracteres a ser avaliada.

Saída
Caractere. Retorna um código soundex de quatro caracteres.

Exemplos
Exemplos básicos
Palavras com a mesma pronúncia, mas grafadas de forma diferente
Os dois exemplos abaixo retornam o mesmo código soundex porque têm som igual, embora a grafia seja
diferente.
Retorna F634:

SOUNDEX("Fairdale")

Retorna F634:

SOUNDEX("Faredale")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 794 de 966


Comandos

Palavras com som similar


Os dois exemplos abaixo retornam códigos soundex diferentes, mas próximos, porque as duas palavras
têm som similar.
Retorna J525:

SOUNDEX("Jonson")

Retorna J523:

SOUNDEX("Jonston")

Palavras com som diferente


Os dois exemplos abaixo retornam códigos soundex bem diferentes porque as duas palavras têm som total-
mente diferente.
Retorna S530:

SOUNDEX("Smith")

Retorna M235:

SOUNDEX("MacDonald")

Entrada de campo
Retorna o código soundex para cada valor no campo Sobrenome:

SOUNDEX(Sobrenome)

Exemplos avançados
Identificação de códigos soundex correspondentes
Crie o campo calculado Código_Soundex para exibir o código soundex para cada valor do campo Sobre-
nome:

DEFINE FIELD Código_Soundex COMPUTED SOUNDEX(Sobrenome)

Adicione o campo calculado Código_Soundex à exibição e execute um teste de duplicidades no campo cal-
culado para identificar os códigos soundex correspondentes:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 795 de 966


Comandos

DUPLICATES ON Código_Soundex OTHER Sobrenome PRESORT OPEN TO "Possíveis_Dupli-


cidades.fil"

Códigos soundex correspondentes indicam que os valores de caracteres associados no campo Sobre-
nome são possíveis duplicidades.

Observações
Quando usar SOUNDEX( )
Use a função SOUNDEX( ) para encontrar valores com som similar. Semelhança fonética é um modo de
localizar os possíveis valores duplicados, ou ortografia inconsistente em dados inseridos manualmente.

Como funciona?
SOUNDEX( ) retorna o código de Soundex americano para a cadeia avaliada. Todos os códigos são de
uma letra seguida de três números. Por exemplo: "F634".

Como o código soundex é calculado


l O primeiro caractere do código representa a primeira letra da cadeia avaliada.
l Cada número no código representa um dos seis grupos de Soundex americano. Os grupos são
compostos de consoantes foneticamente similares.
Com base nesses grupos, o processo de soundex codifica as primeiras três consoantes na cadeia
avaliada após a primeira letra.

O que o processo de soundex ignora


O processo de soundex ignora:
l maiúsculas e minúsculas
l vogais
l as consoantes "H", "W" e "Y"
l todas as consoantes que aparecem após as três consoantes codificadas
Um ou mais zeros (0) finais no código retornado indicam uma cadeia avaliada com menos de três con-
soantes após a primeira letra.

Limitações do processo de soundex


As funções SOUNDEX( ) e SOUNDSLIKE( ) têm algumas limitações:
l O algoritmo soundex destina-se a funcionar com palavras pronunciadas em inglês e tem graus vari-
ados de eficácia quando usado com outros idiomas.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 796 de 966


Comandos

l Apesar do processo soundex desempenhar uma correspondência fonética, esta correspondência de


palavras deve começar sempre com a mesma letra, o que significa que algumas palavras de sons
semelhantes não encontram correspondência.
Por exemplo, uma palavra que começa com "F" e uma palavra que começa com "Ph" poderiam ter
semelhança sonora, mas nunca serão correspondidas.

Funções relacionadas
l SOUNDSLIKE( ): um método alternativo para comparação fonética de cadeias.
l ISFUZZYDUP( ) e LEVDIST( ): comparam cadeias com base em uma comparação ortográfica
(ortografia), em vez de uma comparação fonética (som).
l DICECOEFFICIENT( ): não prioriza ou ignora completamente a posição relativa de caracteres ou
blocos de caracteres durante a comparação de cadeias.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 797 de 966


Comandos

Função SOUNDSLIKE( )
Retorna um valor lógico que indica se uma cadeia corresponde foneticamente à cadeia de comparação.

Sintaxe
SOUNDSLIKE(nome; soa_como_nome)

Parâmetros
Nome Tipo Descrição

nome caractere A primeira cadeia na comparação.

soa_como_nome caractere A segunda cadeia na comparação.

Saída
Lógico. Retorna T (verdadeiro), se os valores comparado corresponderem foneticamente e F, caso con-
trário.

Exemplos
Exemplos básicos
Retorna T porque tanto "Fairdale" quanto "Faredale" têm um código soundex F634:

SOUNDSLIKE("Fairdale";"Faredale")

Retorna F porque "Jonson" tem um código soundex J525 e "Jonston" tem um código soundex J523:

SOUNDSLIKE("Jonson";"Jonston")

Retorna um valor lógico (T ou F), indicando se o código soundex para cada valor no campo Sobrenome
corresponde ao código soundex da cadeia "Smith":

SOUNDSLIKE(Sobrenome;"Smith")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 798 de 966


Comandos

Exemplos avançados
Isolamento de valores que soma como "Smith"
Crie um filtro que isole todos os valores no campo Sobrenome que soem como "Smith":

SET FILTER TO SOUNDSLIKE(Sobrenome;"Smith")

Observações
Quando usar SOUNDSLIKE( )
Use a função SOUNDLIKE( ) para encontrar valores com som similar. Semelhança fonética é um modo de
localizar os possíveis valores duplicados, ou ortografia inconsistente em dados inseridos manualmente.

Como funciona?
SOUNDSLIKE( ) converte as cadeias de comparação em códigos Soundex americanos de quatro carac-
teres, que se baseiam na primeira letra e nas primeiras três consoantes após a primeira letra, em cada
cadeia.
A função então compara o código de cada cadeia e retorna um valor lógico indicando se eles são cor-
respondentes.
Para obter mais informações sobre códigos soundex, consulte "Função SOUNDEX( )" Na página 794.

Diferenciação de maiúsculas e minúsculas


A função não diferencia maiúsculas de minúsculas, portanto "SMITH" é equivalente a "smith."

Limitações do processo de soundex


Ambas as funções SOUNDSLIKE( ) e SOUNDEX( ) têm algumas limitações:
l O algoritmo soundex destina-se a funcionar com palavras pronunciadas em inglês e tem graus vari-
ados de eficácia quando usado com outros idiomas.
l Apesar do processo soundex desempenhar uma correspondência fonética, esta correspondência de
palavras deve começar sempre com a mesma letra, o que significa que algumas palavras de sons
semelhantes não encontram correspondência.
Por exemplo, uma palavra que começa com "F" e uma palavra que começa com "Ph" poderiam ter
semelhança sonora, mas nunca serão correspondidas.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 799 de 966


Comandos

Funções relacionadas
l SOUNDEX( ): um método alternativo para comparação fonética de cadeias.
l ISFUZZYDUP( ) e LEVDIST( ): comparam cadeias com base em uma comparação ortográfica
(ortografia), em vez de uma comparação fonética (som).
l DICECOEFFICIENT( ): não prioriza ou ignora completamente a posição relativa de caracteres ou
blocos de caracteres durante a comparação de cadeias.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 800 de 966


Comandos

Função SPLIT( )
Retorna um segmento especificado de uma cadeia.

Sintaxe
SPLIT(cadeia; separador; segmento <;qualificador_de_texto>)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor de onde o segmento será extraído.

separador caractere Um ou mais caracteres que delimitam segmentos.


Para obter mais informações, consulte "Como o caractere separador
funciona" Na página 803.

segmento numérico O segmento a extrair.


Use um número para especificar o segmento a extrair. Por exemplo,
para extrair o terceiro segmento, especifique 3.

qualificador_de_ caractere Um ou mais caracteres que indicam o início e o fim de segmentos de


texto texto.
opcional Se o caractere separador ocorres dentro de um conjunto empa-
relhado de qualificadores de texto, será lido como texto e não como
separador.
O qualificador de texto deve ser entre aspas. Um qualificador de texto
apóstrofo deve estar entre aspas e o qualificador de texto aspas deve
estar entre apóstrofos.
Dica
Esse parâmetro opcional pode ser útil ao trabalhar com
dados de origem importados que retêm separadores e
qualificadores de texto.

Saída
Caractere.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 801 de 966


Comandos

Exemplos
Exemplos básicos
Segmentos delimitados por vírgula
Retorna "seg1":

SPLIT("seg1,seg2,seg3"; ","; 1)

Retorna "seg3":

SPLIT("seg1,seg2,seg3"; ","; 3)

Retorna "" (o terceiro segmento está vazio):

SPLIT("seg1,seg2,,seg4"; ","; 3)

Delimitadores de vários caracteres e espaço


Retorna "seg3":

SPLIT("seg1/*seg2/*seg3"; "/*"; 3)

Retorna "Doe":

SPLIT("Jane Doe"; " "; 2)

Escape de delimitadores com um qualificador de texto


Retorna "Doe, Jane", que inclui uma vírgula, lida como texto em vez de separador:

SPLIT('"Doe, Jane";"Smith, John"', ";", 1, '"')

Exemplos avançados
Extrair dígitos de um número de cartão de crédito
Use o comando SPLIT( ) para remover hifens de um número de cartão de crédito.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 802 de 966


Comandos

Variáveis são utilizadas para capturar cada segmento do número de cartão de crédito e os segmentos são
concatenados em uma variável adicional.

ASSIGN seg1 = SPLIT("4150-2222-3333-4444"; "-"; 1)


ASSIGN seg2 = SPLIT("4150-2222-3333-4444"; "-"; 2)
ASSIGN seg3 = SPLIT("4150-2222-3333-4444"; "-"; 3)
ASSIGN seg4 = SPLIT("4150-2222-3333-4444"; "-"; 4)
ASSIGN Numcc = seg1 + seg2 + seg3 + seg4

O valor de Numcc é "4150222233334444".


O exemplo citado é uma ilustração da função SPLIT( ) mas os traços podem ser removidos mais efi-
cientemente usando a função EXCLUDE( ).

Observações
Como funciona?
A função SPLIT ( ) quebra os dados de caractere em segmentos baseados em separadores, como espa-
ços e vírgulas, e retorna um segmento especificado.

Quando usar SPLIT( )


Use a função SPLIT( ) para extrair um determinado segmento de dados de um registro ou campo. O seg-
mento deve aparecer na mesma posição em cada registro ou campo.

Como o caractere separador funciona


O caractere separador delimita ou indica os segmentos de dados em uma cadeia de origem.
Em uma cadeia com vários segmentos, a maioria deles aparece entre dois separadores. No entanto, o pri-
meiro segmento pode não ser precedido por um caractere separador e o último segmento pode não ser
seguido por um caractere separador.
Por exemplo:

SPLIT("seg1,seg2,seg3"; ","; 1)

Se a cadeia de origem começar com um separador, o segmento a seguir será tratado como o segmento 2.
Retorna "seg1":

SPLIT(",seg1,seg2,seg3"; ";", 2)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 803 de 966


Comandos

Diferenciação de maiúsculas e minúsculas


Se separador ou qualificador_de_texto especificar caracteres que têm versões maiúscula e minúscula, a
caixa usada deve corresponder à caixa do separador ou qualificador de texto nos dados.

Funções relacionadas
SPLIT( ) e SUBSTR( ) retornam um segmento de dados de uma cadeia de origem maior.
l SPLIT( ) identifica o segmento de acordo com um caractere separador.
l SPLIT( ) identifica o segmento de acordo com uma posição de caractere numérica.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 804 de 966


Comandos

Função STOD( )
Converte uma data serial, ou seja, uma data expressa como um inteiro, em um valor de data. É abreviação
de "Serial to Date".

Sintaxe
STOD(data_serial <;data_inicial>)

Parâmetros
Nome Tipo Descrição

data_serial numérico O campo, expressão ou valor literal a ser convertido.


data_serial pode ser uma data serial ou uma datahora serial. Apenas
a parte de data das datahoras seriais é considerada. A parte referente
à hora é ignorada.

data_inicial datahora A data inicial usada para cálculo de datas seriais. Se for omitido, a
data inicial padrão de 1º de janeiro de 1900 é aplicada.
opcional

Saída
Datahora. O valor de data resultante usa o formato de exibição de data atual do Analytics.

Exemplos
Exemplos básicos
Retorna `20141231` exibido como 31 Dez 2014 presumindo um formato de exibição atual de data do Analy-
tics de DD MMM AAAA:

STOD(42003)

Retorna `20181231` exibido como 31 Dez 2018 presumindo um formato de exibição atual de data do Analy-
tics de DD MMM AAAA:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 805 de 966


Comandos

STOD(42003; `19040101`)

Retorna a data equivalente para cada data serial no campo Data_Fatura:

STOD(Data_fatura)

Exemplos avançados
Ajuste para data inicial anterior a 1900-01-01
Use aritmética de datas para ajustar a data inicial para um valor anterior à data mínima do Analytics, 1 de
janeiro de 1900:
1. Converta a data serial usando a data de início padrão.
2. Subtraia o número de dias antes de 1900-01-01 referentes a data de início real.
Para usar 1899-01-01 como a data inicial (avaliada como `20131231`):

STOD(42003) - 365

Observações
Como funciona?
A função STOD( ) permite converter datas seriais em datas normais. As datas seriais do Analytics repre-
sentam o número de dias decorridos desde 1º de janeiro de 1900.

Data serial Equivalente em data normal

1 2 de janeiro de 1900

365 31 de dezembro de 1900

42003 31 de dezembro de 2014

0 inválido

Para obter mais informações sobre datas seriais, consulte Datahoras seriais.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 806 de 966


Comandos

Datas seriais do Analytics comparadas com datas seriais


do Excel
As datas seriais do Analytics são semelhantes às datas seriais do Microsoft Excel. Você deve estar ciente
de um ponto importante de semelhança e outro ponto importante de diferença. Os dois pontos não são rela-
cionados.

Ponto de similaridade
Tanto o Analytics quanto o Excel tratam o ano 1900 como um ano bissexto, com 366 dias. Embora 1900
não tenha sido realmente um ano bissexto, o Excel considera o ano bissexto para manter a compatibilidade
com o Lotus 1-2-3.

Ponto de diferença
As datas seriais do Analytics são deslocadas em um dia em relação às datas seriais do Excel. No Excel, 1º
de janeiro de 1900 corresponde à data serial '1'. No Analytics, 1º de janeiro de 1900 não é contado e 2 de
janeiro de 1900 corresponde à data serial '1'.

A data_inicial
Alguns arquivos de dados de origem podem usar uma data inicial diferente de 1º de janeiro de 1900. A
data_inicial permite corresponder a data de início em um arquivo de dados de origem. A data de início é a
data a partir da qual as datas seriais são calculadas.

Data de início
em um
arquivo de
dados de ori-
gem Especifique: Detalhes

1º de janeiro STOD(campo_de_data) Não é necessário especificar uma data_de_início, pois a data


de 1900 de início padrão é 1º de janeiro de 1900.

1º de janeiro STOD(campo_de_data; Você especifica uma data_de_início de `19010101` para cor-


de 1901 `19010101`) responder a data de início de 1º de janeiro de 1901 usada no
arquivo de dados de origem.

1º de janeiro STOD(campo_de_data) - 365 Não é possível especificar uma data_inicial anterior a 1º de


de 1899 janeiro de 1900. Se um arquivo de dados de origem usar uma
data de início anterior a 1º de janeiro de 1900, você poderá criar
uma expressão de datahora que subtrai o número apropriado
de dias dos resultados da saída da função STOD( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 807 de 966


Comandos

Outras funções de conversão datahora


Conversão de serial para datahora
Função Descrição

STODT( ) Converte uma datahora serial, ou seja, uma datahora expressa como um inteiro e uma fração
de 24 horas, em um valor de datahora. É abreviação de "Serial to Datetime".

STOT( ) Converte uma hora em série, ou seja, uma hora expressa como uma fração de 24 horas,
sendo 24 horas representando 1, para um valor de hora. Abreviação de "Série para hora".

Conversão de caractere ou numérico para datahora


Função Descrição

CTOD( ) Converte um valor em caractere ou numérico de data em uma data. Também é possível
extrair a data de um valor de datahora em formato de caracteres ou numérico e retorná-lo
como uma data. Abreviação de "Caractere para Data".

CTODT( ) Converte um valor em caractere ou numérico de datahora em uma datahora. Abreviação de


"Caractere para Datahora".

CTOT( ) Converte um valor em caractere ou numérico de hora em uma hora. Também é possível
extrair a hora de um valor de datahora em formato de caracteres ou numérico e retorná-lo
como uma hora. Abreviação de "Caractere para Hora".

Conversão de datahora para caractere


Função Descrição

DATE( ) Extrai a data a partir de uma data ou datahora específica e retorna como sequência de carac-
teres. Também pode retornar a data atual do sistema operacional.

DATETIME( ) Converte uma datahora em uma sequência de caracteres. Também pode retornar a datahora
atual do sistema operacional.

TIME( ) Extrai a hora a partir de uma hora ou datahora específica e retorna como sequência de carac-
teres. Também pode retornar a hora atual do sistema operacional.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 808 de 966


Comandos

Função STODT( )
Converte uma datahora serial, ou seja, uma datahora expressa como um inteiro e uma fração de 24 horas,
em um valor de datahora. É abreviação de "Serial to Datetime".

Sintaxe
STODT(datahora_serial <;data_inicial>)

Parâmetros
Nome Tipo Descrição

datahora_serial numérico O campo, expressão ou valor literal a ser convertido.


São necessários valores de datahora seriais com as partes de data e
hora separadas por ponto decimal. Por exemplo: 42003,75000

data_inicial datahora A data inicial usada para cálculo de datas seriais. Se for omitido, a
data inicial padrão de 1º de janeiro de 1900 é aplicada.
opcional

Saída
Datahora. O valor de datahora nos resultados é mostrado usando os formatos atuais de exibição de data e
hora do Analytics.

Exemplos
Exemplos básicos
Datas iniciais não ajustadas
Retorna `20141231t060000` exibido como 31 Dez 2014 06:00:00 AM presumindo formatos de exibição atu-
ais de data e hora do Analytics de DD MMM AAAA e hh:mm:ss PM:

STODT(42003,25000)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 809 de 966


Comandos

Retorna `20141231t191530` exibido como 31 Dez 2014 07:15:30 PM presumindo formatos de exibição
atuais de data e hora do Analytics de DD MMM AAAA e hh:mm:ss PM:

STODT(42003,802431)

Datas iniciais ajustadas


Retorna `20181231t120000` exibido como 31 Dez 2018 12:00:00 PM presumindo formatos de exibição
atuais de data e hora do Analytics de DD MMM AAAA e hh:mm:ss PM:

STODT(42003,50000; `19040101`)

Campos como entrada


Retorna a datahora equivalente para cada datahora serial no campo Data_e_hora_do_recebimento:

STODT(Data_e_hora_do_recebimento)

Exemplos avançados
Ajuste para data inicial anterior a 1900-01-01
Use aritmética de datas para ajustar a data inicial para um valor anterior à data mínima do Analytics, 1 de
janeiro de 1900:
1. Converta a datahora serial usando a data de início padrão.
2. Subtraia o número de dias antes de 1900-01-01 referentes a data de início real.
Para usar 1899-01-01 como a data inicial (avaliada como `20131231t180000`):

STODT(42003,75000) - 365

Observações
Como funciona?
A função STODT( ) permite converter datahoras seriais em datahoras normais. As datahoras seriais do
Analytics representam o número de dias decorridos desde 1º de janeiro de 1900 e, após o ponto decimal,
representam uma fração de 24 horas, com 24 horas equivalendo a 1.

Datahora serial Equivalente em datahora normal

1,25 02 Janeiro 1900 06:00:00 AM

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 810 de 966


Comandos

Datahora serial Equivalente em datahora normal

365,75000 31 de dezembro de 1900 06:00:00 PM

42003,79167 31 de dezembro de 2014 07:00:00 PM

42003,802431 31 de dezembro de 2014 07:15:30 PM

42003,00000 31 de dezembro de 2014 12:00:00 AM

42003,50000 31 de dezembro de 2014 12:00:00 PM

0,0 inválido

Para obter mais informações sobre datahoras seriais, consulte Datahoras seriais.

Datas seriais do Analytics comparadas com datas seriais


do Excel
As datas seriais do Analytics são semelhantes às datas seriais do Microsoft Excel. Você deve estar ciente
de um ponto importante de semelhança e outro ponto importante de diferença. Os dois pontos não são rela-
cionados.

Ponto de similaridade
Tanto o Analytics quanto o Excel tratam o ano 1900 como um ano bissexto, com 366 dias. Embora 1900
não tenha sido realmente um ano bissexto, o Excel considera o ano bissexto para manter a compatibilidade
com o Lotus 1-2-3.

Ponto de diferença
As datas seriais do Analytics são deslocadas em um dia em relação às datas seriais do Excel. No Excel, 1º
de janeiro de 1900 corresponde à data serial '1'. No Analytics, 1º de janeiro de 1900 não é contado e 2 de
janeiro de 1900 corresponde à data serial '1'.

A data_inicial
Alguns arquivos de dados de origem podem usar uma data inicial diferente de 1º de janeiro de 1900. A
data_inicial permite corresponder a data de início em um arquivo de dados de origem. A data de início é a
data a partir da qual as datahoras seriais são calculadas.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 811 de 966


Comandos

Data de início
em um
arquivo de
dados de ori-
gem Especifique: Detalhes

1º de janeiro STODT(campo_de_datahora) Não é necessário especificar uma data_de_início, pois a data


de 1900 de início padrão é 1º de janeiro de 1900.

1º de janeiro STODT(campo_de_datahora; Você especifica uma data_de_início de `19010101` para cor-


de 1901 `19010101`) responder a data de início de 1º de janeiro de 1901 usada no
arquivo de dados de origem.

1º de janeiro STODT(campo_de_datahora) - Não é possível especificar uma data_inicial anterior a 1º de


de 1899 365 janeiro de 1900. Se um arquivo de dados de origem usar uma
data de início anterior a 1º de janeiro de 1900, você poderá
criar uma expressão de datahora que subtrai o número apro-
priado de dias dos resultados da saída da função STODT( ).

Outras funções de conversão datahora


Conversão de serial para datahora
Função Descrição

STOD( ) Converte uma data serial, ou seja, uma data expressa como um inteiro, em um valor de data.
É abreviação de "Serial to Date".

STOT( ) Converte uma hora em série, ou seja, uma hora expressa como uma fração de 24 horas,
sendo 24 horas representando 1, para um valor de hora. Abreviação de "Série para hora".

Conversão de caractere ou numérico para datahora


Função Descrição

CTOD( ) Converte um valor em caractere ou numérico de data em uma data. Também é possível
extrair a data de um valor de datahora em formato de caracteres ou numérico e retorná-lo
como uma data. Abreviação de "Caractere para Data".

CTODT( ) Converte um valor em caractere ou numérico de datahora em uma datahora. Abreviação de


"Caractere para Datahora".

CTOT( ) Converte um valor em caractere ou numérico de hora em uma hora. Também é possível
extrair a hora de um valor de datahora em formato de caracteres ou numérico e retorná-lo
como uma hora. Abreviação de "Caractere para Hora".

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 812 de 966


Comandos

Conversão de datahora para caractere


Função Descrição

DATE( ) Extrai a data a partir de uma data ou datahora específica e retorna como sequência de carac-
teres. Também pode retornar a data atual do sistema operacional.

DATETIME( ) Converte uma datahora em uma sequência de caracteres. Também pode retornar a datahora
atual do sistema operacional.

TIME( ) Extrai a hora a partir de uma hora ou datahora específica e retorna como sequência de carac-
teres. Também pode retornar a hora atual do sistema operacional.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 813 de 966


Comandos

Função STOT( )
Converte uma hora em série, ou seja, uma hora expressa como uma fração de 24 horas, sendo 24 horas
representando 1, para um valor de hora. Abreviação de "Série para hora".

Sintaxe
STOT(hora_em_série)

Parâmetros
Nome Tipo Descrição

hora_em_série numérico O campo, expressão ou valor literal a ser convertido.


hora_serial pode ser uma hora serial ou uma datahora serial.
Somente a parte da hora de uma datahora em série é considerada. A
parte referente à data é ignorada.

Saída
Datahora. O valor de hora nos resultados é mostrado usando o formato de exibição de hora atual do
Analytics.

Exemplos
Exemplos básicos
Retorna `t060000` exibido como 06:00:00 AM presumindo um formato de exibição atual da hora do Analy-
tics de hh:mm:ss PM:

STOT(0,25000)

Retorna `t191530` exibido como 07:15:30 PM presumindo um formato de exibição atual da hora do Analy-
tics de hh:mm:ss PM:

STOT(0,802431)

Retorna a hora normal equivalente para cada valor de hora serial no campo Hora_login:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 814 de 966


Comandos

STOT(Hora_login)

Observações
Quando usar STOT( )
Use a função STOT( ) para converter horas seriais em horas regulares.

O que são horas seriais?


As horas seriais do Analytics representam uma fração de 24 horas, sendo 24 horas igual a 1.
Por exemplo:
l a hora serial equivalente a uma hora é 1/24, ou 0,04167
l a hora serial equivalente a um minuto é 1/1440, ou 0,0006945
As horas seriais podem ser precedidas de '0' (zero) e uma vírgula decimal ou somente uma vírgula decimal.

1,000000 não é uma hora serial válida


Apesar das 24 horas serem iguais a 1 para fins de cálculo de horas em série, 1,000000 não é uma hora em
série válida. Horas seriais válidas são todas as frações decimais menores que 1. Por exemplo: 0,75000
(06:00:00 PM).
O Analytics trata o número em série 1,000000 como uma datahora serial equivalente a 02 Jan 1900
12:00:00 AM. Pelo fato de STOT( ) ignorar a parte da data de uma datahora, STOT(1,000000) é equi-
valente a STOT(0,000000) e ambos são equivalentes a hora normal 12:00:00 AM.

Equivalências entre horas seriais e horas normais


Hora em série Equivalente em hora normal

0,00 12:00:00 AM

0,0006945 12:01:00 AM

0,04167 01:00:00 AM

0,0423645 01:01:00 AM

0,042998 01:01:55 AM

0,25 06:00:00 AM

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 815 de 966


Comandos

Hora em série Equivalente em hora normal

0,50 12:00:00 PM

0,75 06:00:00 PM

0,79167 07:00:00 PM

0,802431 07:15:30 PM

1,00 12:00:00 AM

Outras funções de conversão datahora


Conversão de serial para datahora
Função Descrição

STOD( ) Converte uma data serial, ou seja, uma data expressa como um inteiro, em um valor de data.
É abreviação de "Serial to Date".

STODT( ) Converte uma datahora serial, ou seja, uma datahora expressa como um inteiro e uma fração
de 24 horas, em um valor de datahora. É abreviação de "Serial to Datetime".

Conversão de caractere ou numérico para datahora


Função Descrição

CTOD( ) Converte um valor em caractere ou numérico de data em uma data. Também é possível
extrair a data de um valor de datahora em formato de caracteres ou numérico e retorná-lo
como uma data. Abreviação de "Caractere para Data".

CTODT( ) Converte um valor em caractere ou numérico de datahora em uma datahora. Abreviação de


"Caractere para Datahora".

CTOT( ) Converte um valor em caractere ou numérico de hora em uma hora. Também é possível
extrair a hora de um valor de datahora em formato de caracteres ou numérico e retorná-lo
como uma hora. Abreviação de "Caractere para Hora".

Conversão de datahora para caractere


Função Descrição

DATE( ) Extrai a data a partir de uma data ou datahora específica e retorna como sequência de carac-

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 816 de 966


Comandos

Função Descrição

teres. Também pode retornar a data atual do sistema operacional.

DATETIME( ) Converte uma datahora em uma sequência de caracteres. Também pode retornar a datahora
atual do sistema operacional.

TIME( ) Extrai a hora a partir de uma hora ou datahora específica e retorna como sequência de carac-
teres. Também pode retornar a hora atual do sistema operacional.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 817 de 966


Comandos

Função STRING( )
Converte um valor numérico em uma sequência de caracteres.

Sintaxe
STRING(número; comprimento <;formato>)

Parâmetros
Nome Tipo Descrição

número numérico O valor numérico a ser convertido em uma cadeia.

comprimento numérico O número de caracteres na cadeia de saída.

formato caractere A formatação a ser aplicada à cadeia de saída. Por exemplo, "
(9.999,99)"
opcional

Saída
Caractere.

Exemplos
Exemplos básicos
Cadeias não formatadas
Retorna " 125,2":

STRING(125,2; 6)

Retorna "25,2" (-1 é truncado, porque o comprimento é menor do que o número de dígitos e caracteres de
formatação em número):

STRING(-125,2; 4)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 818 de 966


Comandos

Retorna " -125,2":

STRING(-125,2; 7)

Cadeias formatadas
Retorna " (125,20)":

STRING(-125,2; 10; "(9.999,99)")

Retorna "25,20" (1 é truncado, porque o comprimento é menor do que o número de dígitos e caracteres de
formatação em número):

STRING(125,2; 6; "(9.999,99)")

Entrada de campo
Retorna valores numéricos do campo Número_Funcionário como cadeias de caracteres com um com-
primento de 10 caracteres. Se necessário, o valor de retorno é completado ou truncado:

STRING(Número_Funcionário, 10)

Observações
Valores de retorno preenchidos e truncados
STRING( ) converte o número em uma cadeia de caracteres de comprimento especificada em com-
primento:
l Se o número for mais curto que comprimento, espaços à esquerda serão adicionados ao valor retor-
nado
l Se o número for mais longo do que o comprimento, o valor retornado será truncado do lado
esquerdo

Formatação do valor de retorno


O parâmetro opcional formato adiciona formatação ao valor retornado, como símbolos de dólar, símbolos
de porcentagem, decimais, vírgulas, indicadores negativos ou parênteses. O formato deve estar entre
aspas.
O dígito 9 atua como um espaço reservado para dígitos a serem formatados. Certifique-se de que você tem
o número certo de 9s para a exibição correta. Você também precisa contar com decimais e caracteres de

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 819 de 966


Comandos

formatação, como símbolos de dólar e colchetes para os números negativos, ao especificar o valor para o
comprimento.

Funções relacionadas
A função STRING( ) é o inverso da VALUE( ), que converte dados de caracteres em dados numéricos.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 820 de 966


Comandos

Função SUBSTR( )
Retorna uma subcadeia especificada de uma cadeia.

Sintaxe
SUBSTR(cadeia; início; comprimento)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor do qual a subcadeia deve ser extraída.

início numérico A posição de caractere inicial da subcadeia.

comprimento numérico O número de caracteres na subcadeia.


Se o comprimento for 0, a saída será em branco.

Saída
Caractere.

Exemplos
Exemplos básicos
Entrada de caracteres literais
Retorna "BCD":

SUBSTR("ABCDEF"; 2; 3)

Retorna "EF":

SUBSTR("ABCDEF"; 5; 10)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 821 de 966


Comandos

Análise de dados de caracteres estruturados


Retorna "189543":

SUBSTR("***189543***"; 4; 6)

Retorna o ano de quatro dígitos de um campo de caracteres contendo datas formatadas como
"MM/DD/AAAA":

SUBSTR(DATE; 7; 4)

Exemplos avançados
Aumento do comprimento do campo
Use SUBSTR( ) para aumentar o comprimento de um campo de caracteres. O aumento do comprimento
de um campo é uma tarefa normal de harmonização que pode ser necessária antes de associar ou ane-
xar dois campos.
O exemplo abaixo preenche o campo Descrição_Produto com espaços em branco para criar o campo
calculado Descrição_Produto_Longa com um comprimento de 50 caracteres.

DEFINE FIELD Descrição_Produto_Longa COMPUTED SUBSTR(Descrição_Produto; 1; 50)

Observações
Como funciona?
A função SUBSTR( ) retorna caracteres do valor cadeia a partir da posição de caractere especificada por
início. O número de caracteres retornados é especificado pelo comprimento.

Como a função SUBSTR( ) processa espaços


Os espaços à esquerda, à direita ou internos no valor da cadeia são tratados como caracteres. Os espa-
ços capturados por início e comprimento são incluídos na cadeia de saída.

Como o preenchimento funciona


Se o valor do comprimento exceder o número de caracteres, incluindo brancos à direita, da posição início
até o final da cadeia, a cadeia de saída poderá ou não ser preenchida com espaços à direita.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 822 de 966


Comandos

Preenchido com espaços


Se usar SUBSTR( ) em um comando que cria um campo, a saída é preenchida com espaços.

Preenchimento ao criar um campo calculado


Cria o campo calculado Descrição_Produto_Longa com um comprimento de 50 caracteres e baseado no
campo físico Descrição_Produto, que tem 24 caracteres:

DEFINE FIELD Descrição_Produto_Longa COMPUTED SUBSTR(Descrição_Produto; 1; 50)

Preenchimento ao extrair um campo físico


Extrai Descrição_Produto_Longa com um comprimento de 50 caracteres para uma nova tabela com base
no campo físico Descrição_Produto, que tem 24 caracteres:

EXTRACT FIELDS SUBSTR(Descrição_Produto; 1; 50) AS "Descrição_Produto_Longa" TO Nova_


Tabela

Não preenchido com espaços


Se usar SUBSTR( ) em uma definição de variável ou expressão, a saída não é preenchida com espaços.

Sem preenchimento ao definir uma variável


Cria a variável v_desc_prod com um comprimento de 24 caracteres, baseado no comprimento do campo
Descrição_Produto:

ASSIGN v_desc_prod = SUBSTR(Descrição_Produto; 1; 50)

Nota
Mesmo que SUBSTR( ) especifique um comprimento de 50 caracteres, a saída será limi-
tada ao comprimento do campo Descrição_Produto.

Funções relacionadas
SUBSTR( ) e SPLIT( ) retornam um segmento de dados de uma cadeia de origem maior.
l SPLIT( ) identifica o segmento de acordo com uma posição de caractere numérica.
l SPLIT( ) identifica o segmento de acordo com um caractere separador.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 823 de 966


Comandos

Função TAN( )
Retorna a tangente de um ângulo expresso em radianos, com uma precisão de 15 casas decimais.

Sintaxe
TAN(radianos)

Parâmetros
Nome Tipo Descrição

radianos numérico A medição do ângulo em radianos.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 0,999999999999999 (a tangente do número especificado de radianos, equivalente a 45 graus):

TAN(0,785398163397448)

Retorna 0,999999999999999 (a tangente de 45 graus):

TAN(45 * PI( )/180)

Exemplos avançados
Uso de graus como entrada
Retorna 1,000 (a tangente de 45 graus, arredondada para 3 casas decimais):

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 824 de 966


Comandos

DEC(TAN(45 * PI( )/180);3)

Observações
Realizando o Teste de Arco de Mantissa
As três funções trigonométricas no Analytics – SIN( ), COS( ) e TAN( ) – são compatíveis com a realização
do Teste de Arco de Mantissa associado à Lei de Benford.

Convertendo graus em radianos


Se a entrada é em graus, você pode usar a função PI( ) para converter a entrada em radianos: (graus * PI
( )/180) = radianos. Se necessário, você pode arredondar ou truncar o valor de retorno usando a função
DEC( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 825 de 966


Comandos

Função TEST( )
Retorna um valor lógico que indica se uma cadeia especificada ocorre em uma posição de byte específica
no registro.

Sintaxe
TEST(posição_de_byte; cadeia)

Parâmetros
Nome Tipo Descrição

posição_de_byte numérico O número sequencial à esquerda no layout da tabela que identifica o


local do primeiro caractere da cadeia.
A função é avaliada como F se o início da cadeia não for identificado
nessa posição, mesmo se a cadeia aparecer em outra posição no
registro.

cadeia caractere A cadeia de caracteres que deve ser pesquisada.


A pesquisa diferencia maiúsculas de minúsculas. Se houver a pos-
sibilidade de combinação de minúsculas e maiúsculas, utilize a fun-
ção UPPER( ) para converter todos os caracteres em letras
maiúsculas.

Saída
Lógico. Retorna T (verdadeiro) se a cadeia especificada começar no local do byte especificado dentro do
registro, caso contrário, retorna F (falso).

Exemplos
Exemplos básicos
Suponha que um registro contenha:

Departamento: Marketing
....|....|....|....|....|

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 826 de 966


Comandos

Retorna T:

TEST(5; "Departamento")

Retorna F, pois a cadeia "Departamento" começa na quinta posição de byte e não na sexta:

TEST(6; "Departamento")

Retorna F, pois a função diferencia maiúsculas de minúsculas:

TEST(5; "DEPARTAMENTO")

Exemplos avançados
Isolamento de registros que são cabeçalhos de página
Use TEST( ) para criar um filtro que isola todos os registros que começam com "Página:":

SET FILTER TO TEST(1; "Página:")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 827 de 966


Comandos

Função TIME( )
Extrai a hora a partir de uma hora ou datahora específica e retorna como sequência de caracteres. Tam-
bém pode retornar a hora atual do sistema operacional.

Sintaxe
TIME(< hora/datahora> <;formato>)

Parâmetros
Nome Tipo Descrição

hora/datahora datahora O campo, expressão ou valor literal do qual será extraída a hora. Se
for omitido, a hora atual do sistema operacional é retornada no for-
opcional
mato hh:mm:ss.

formato caractere O formato a ser aplicado à cadeia de saída, por exemplo "hh:mm:ss".
Se omitido, o formato atual de exibição da hora do Analytics é uti-
opcional
lizado. Você não pode especificar formato se tiver omitido data/-
datahora.

Saída
Caractere.

Exemplos
Exemplos básicos
Valores de entrada literal
Retorna "23:59:59", supondo um formato de exibição de hora do Analytics de hh:mm:ss:

TIME(`20141231 235959`)

Retorna "11:59 P":

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 828 de 966


Comandos

TIME(`20141231 235959`; "hh:mm A")

A hora atual do sistema operacional retornada como uma cadeia de caracteres no formato hh:mm:ss (24
horas):

TIME()

Campo como valores de entrada


Retorna uma cadeia de caracteres para cada valor no campo Carimbo_de_data_e_hora_do_
recebimento, usando o formato atual de exibição de hora do Analytics:

TIME(Carimbo_de_data_e_hora_do_recebimento)

Retorna uma cadeia de caracteres para cada valor no campo Carimbo_de_data_e_hora_do_


recebimento, usando o formato específico de exibição de hora:

TIME(Carimbo_datahora_recebimento; "hh:mm:ss")

Exemplos avançados
Cálculo do tempo decorrido para execução de um comando ou script
Use a função TIME( ) para ajudar a calcular quanto tempo um determinado comando ou script completo do
Analytics demora a executar.
Imediatamente antes do comando que você deseja cronometrar, ou no início do script, especifique essa
linha para criar uma variável que armazena a hora atual do sistema operacional:

ASSIGN Hora_início = TIME()

Imediatamente após o comando, ou ao final do script, especifique as duas linhas abaixo.


A primeira linha cria uma variável que armazena a hora do sistema operacional após a conclusão do
comando ou do script. A segunda linha calcula a diferença entre as horas de início e fim e converte o resul-
tado em um formato de fácil leitura.
Dica

Você pode clicar duas vezes na entrada do log CALCULATE para ver o tempo decorrido
para o comando ou script.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 829 de 966


Comandos

ASSIGN Hora_fim = TIME()


CALCULATE STOT(CTOT(Hora_fim) - CTOT(Hora_início))

Se o comando ou script executará além da meia-noite, use esta linha em vez da anterior:

CALCULATE `T000000` - (CTOT(Hora_início) - CTOT(Hora_fim))

Observações
Comprimento da cadeia de saída
O comprimento da cadeia de saída é sempre 14 caracteres. Se o formato de saída especificado ou o for-
mato de exibição de data do Analytics for menos do que 14 caracteres, a cadeia de saída será preenchida
com espaços em branco à direita.

Detalhes do parâmetro
Um campo especificado para hora/datahora pode usar qualquer formato de data ou datahora, desde que
a definição do campo defina corretamente o formato.
Se você usa formato para controlar como a cadeia de saída é exibida, fica restrito aos formatos na tabela
abaixo. Você pode usar qualquer combinação de formatos de data e AM/PM. O formato AM/PM é opci-
onal e é posicionado ao final.
Especifique formato usando apóstrofos ou aspas. Por exemplo: "hh:mm:ss AM".

Formatos de hora Formatos AM/PM Exemplos

hh:mm:ss nenhum "hh:mm:ss"


Relógio de 24 horas

hhmmss AM ou PM "hhmmss PM"


Relógio de 12 horas

hh:mm A ou P "hh:mm A"


Relógio de 12 horas

hhmm

hh

Especificação de uma hora literal ou de um valor datahora


Ao especificar um valor literal de hora ou datahora para hora/datahora, você fica restrito aos formatos na
tabela abaixo e o valor deve estar entre apóstrofos invertidos – por exemplo, `20141231 235959`.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 830 de 966


Comandos

Não use separadores como barras (/) ou dois pontos (:) entre os componentes individuais de datas ou
horas.
l Valores de hora – você pode usar qualquer dos formatos de hora listados na tabela abaixo. Você
deve usar um separador antes de um valor de hora independente para que a função funcione cor-
retamente. Os separadores válidos são as letras 't' ou 'T'. As horas devem ser especificadas usando
o relógio de 24 horas. Os ajustes do Tempo Universal Coordenado (UTC) devem ser precedidos por
um sinal de mais (+) ou de menos (-).
l Valores de datahora – você pode usar qualquer combinação de formatos de data, separador e hora
listados na tabela abaixo. A data deve preceder a hora e um separador deve ser usado entre os dois.
Os separadores válidos são um único espaço em branco ou as letras 't' ou 'T'.

Exemplos de formato Exemplos de valores literais

thhmmss `t235959`

Thhmm `T2359`

AAAAMMDD hhmmss `20141231 235959`

AAMMDDthhmm `141231t2359`

AAAAMMDDThh `20141231T23`

AAAAMMDD hhmmss+/-hhmm `20141231 235959-0500`
(ajuste UTC)

AAMMDD hhmm+/-hh `141231 2359+01`
(ajuste UTC)

Nota
Não use somente hh no formato de hora
principal com dados que têm um ajuste
UTC. Por exemplo, evite: hh+hhmm. Os
resultados podem ser não confiáveis.

Funções relacionadas
Se você precisar retornar a hora atual do sistema operacional como um valor datahora, use NOW( ) em vez
de TIME( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 831 de 966


Comandos

Outras funções de conversão datahora


Conversão de datahora para caractere
Função Descrição

DATE( ) Extrai a data a partir de uma data ou datahora específica e retorna como sequência de carac-
teres. Também pode retornar a data atual do sistema operacional.

DATETIME( ) Converte uma datahora em uma sequência de caracteres. Também pode retornar a datahora
atual do sistema operacional.

Conversão de caractere ou numérico para datahora


Função Descrição

CTOD( ) Converte um valor em caractere ou numérico de data em uma data. Também é possível
extrair a data de um valor de datahora em formato de caracteres ou numérico e retorná-lo
como uma data. Abreviação de "Caractere para Data".

CTODT( ) Converte um valor em caractere ou numérico de datahora em uma datahora. Abreviação de


"Caractere para Datahora".

CTOT( ) Converte um valor em caractere ou numérico de hora em uma hora. Também é possível
extrair a hora de um valor de datahora em formato de caracteres ou numérico e retorná-lo
como uma hora. Abreviação de "Caractere para Hora".

Conversão de serial para datahora


Função Descrição

STOD( ) Converte uma data serial, ou seja, uma data expressa como um inteiro, em um valor de data.
É abreviação de "Serial to Date".

STODT( ) Converte uma datahora serial, ou seja, uma datahora expressa como um inteiro e uma fração
de 24 horas, em um valor de datahora. É abreviação de "Serial to Datetime".

STOT( ) Converte uma hora em série, ou seja, uma hora expressa como uma fração de 24 horas,
sendo 24 horas representando 1, para um valor de hora. Abreviação de "Série para hora".

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 832 de 966


Comandos

Função TODAY( )
Retorna a data atual do sistema operacional como um tipo de dados Datahora.

Sintaxe
TODAY()

Parâmetros
Essa função não possui nenhum parâmetro.

Saída
Datahora.

Exemplos
Exemplos básicos
Retorna a data atual do sistema operacional como valor datahora, por exemplo, `20141231`, exibido
usando o formato atual de exibição de data do Analytics:

TODAY()

Observações
Funções relacionadas
Se precisar retornar a hora atual do sistema operacional como cadeia de caracteres, use DATE( ) em vez
de TODAY( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 833 de 966


Comandos

Função TRANSFORM( )
Inverte a ordem de exibição do texto bidirecional dentro de uma cadeia especificada.

Sintaxe
TRANSFORM(cadeia_original)

Parâmetros
Nome Tipo Descrição

cadeia_original caractere A cadeia que contém o texto bidirecional.

Saída
Caractere.

Exemplos
Exemplos básicos
Na cadeia de entrada, "XZQB" representa caracteres hebraicos/bidirecionais em uma cadeia de entrada
que, exceto por isso, contém caracteres normais.
Na cadeia de saída, a direção de "XZQB" é invertida e o retorno é "BQZX". Os outros caracteres não são
modificados.
Retorna "ABC BQZX 123":

TRANSFORM("ABC XZQB 123")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 834 de 966


Comandos

Observações
Como funciona?
A função TRANSFORMS( ) identifica os dados bidirecionais e os apresenta corretamente na exibição, da
direita para a esquerda.
Todos os outros caracteres processados pela função não são modificados e continuam sendo exibidos da
esquerda para a direita.

Quando usar TRANSFORMS( )


Use TRANSFORMS( ) para ajustar a ordem de exibição de caracteres árabes ou hebraicos, para que
sejam exibidos corretamente.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 835 de 966


Comandos

Função TRIM( )
Retorna uma cadeia com os espaços finais removidos da cadeia de entrada.

Sintaxe
TRIM(cadeia)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor do qual os dígitos finais devem ser removidos.

Saída
Caractere.

Exemplos
Exemplos básicos
Observe que em ambos os exemplos, os espaços iniciais e espaços entre as palavras não são removidos
pela função TRIM( ).
Retorna "   Salvador":

TRIM("   Salvador   ")

Retorna "   São Paulo":

TRIM("   São Paulo")

Exemplos avançados
Removendo espaços contínuos

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 836 de 966


Comandos

Espaços contínuos não são removidos pela função TRIM( ).


Se for necessário remover espaços contínuos à direita, crie um campo calculado usando a seguinte expres-
são:

DEFINE FIELD Descrição_limpa COMPUTED TRIM(REPLACE(Descrição; CHR(160); CHR(32)))

A função REPLACE( ) substitui todos os espaços contínuos por espaços regulares e TRIM( ) remove todos
os espaços regulares à direita.

Observações
Como funciona?
A função TRIM( ) remove somente os espaços à direita. Os espaços dentro da cadeia e os espaços iniciais
não são removidos.

Funções relacionadas
TRIM( ) é relacionado à função LTRIM( ), que remove todos os espaços iniciais de uma cadeia, e a função
ALLTRIM( ), que remove os espaços iniciais e finais.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 837 de 966


Comandos

Função UNSIGNED( )
Retorna os dados numéricos convertidos para tipo de dados Unsigned (Sem sinal).

Sintaxe
UNSIGNED(número; comprimento_do_resultado)

Parâmetros
Nome Tipo Descrição

número numérico O valor a ser convertido.

comprimento_do_ numérico O número de bytes a ser usado na cadeia de saída.


resultado

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 000075:

UNSIGNED(75; 3)

UNSIGNED(-75; 3)

UNSIGNED(7,5; 3)

Retorna 2456 (1 é truncado, porque só 4 dígitos podem ser armazenados quando o comprimento_de_
resultado é 2):

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 838 de 966


Comandos

UNSIGNED(12456; 2)

Retorna 000000012456:

UNSIGNED(-12,456; 6)

Observações
O que são dados sem sinal?
O tipo de dados Unsigned (Sem sinal) é usado pelos sistemas operacionais de mainframe para armazenar
valores numéricos em um formato que usa espaço mínimo, armazenando dois dígitos em cada byte. O tipo
de dados Unsigned (Sem sinal) é igual ao tipo de dados Packed (Compactado), mas ele não usa o último
byte para especificar se o valor é positivo ou negativo.

Quando usar UNSIGNED( )


Utilize a função UNSIGNED( ) para converter dados numéricos para o formato sem sinal para exportação
para os sistemas mainframe.

Valores de retorno truncados


Se o valor do comprimento_de_resultado for mais curto que o comprimento do valor número os dígitos adi-
cionais serão truncados.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 839 de 966


Comandos

Função UPPER( )
Retorna uma cadeia com caracteres alfabéticos convertidos em maiúsculas.

Sintaxe
UPPER(cadeia)

Parâmetros
Nome Tipo Descrição

cadeia caractere O valor a ser convertido para maiúsculas.

Saída
Caractere.

Exemplos
Exemplos básicos
Retorna "ABC":

UPPER("abc")

Retorna "ABC 123 DEF":

UPPER("abc 123 DEF")

Retorna "ABCD 12":

UPPER("AbCd 12")

Retorna todos os valores no campo Sobrenome convertidos para letra maiúscula:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 840 de 966


Comandos

UPPER(Sobrenome)

Observações
Como funciona?
A função UPPER( ) converte todos os caracteres alfabéticos na cadeia em letras maiúsculas. Todos os
caracteres não alfabéticos permanecem inalterados.

Quando usar UPPER( )


Use UPPER( ) quando precisar garantir que todos os caracteres em um campo, variável ou expressão
sejam consistentes quanto a maiúsculas e minúsculas. O uso consistente de maiúsculas/minúsculas é par-
ticularmente importante quando você está comparando valores.
UPPER( ) também pode ser utilizada para formatar valores em relatórios como texto em maiúsculas.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 841 de 966


Comandos

Função UTOD( )
Converte uma cadeia Unicode que contém uma data formatada em um valor de data do Analytics. É abre-
viação de "Unicode to Date".
Nota
Essa função é específica para a edição Unicode do Analytics. Não é uma função supor-
tada na edição não-Unicode.
Use esta função ao trabalhar com datas em idiomas e formatos diferentes da instalação
padrão. Se a cadeia que você quer converter está no idioma padrão, use CTOD( ).

Sintaxe
UTOD(cadeia <;local> <;estilo>)

Parâmetros
Nome Tipo Descrição

cadeia caractere A cadeia Unicode a ser convertida em data.


A cadeia Unicode pode conter um valor datahora, mas a parte cor-
respondente à hora é ignorada. Valores de hora independentes não
são compatíveis.
cadeia deve corresponder ao formato de entrada exibido pelo valor
de estilo para a localidade da data.

local caractere O código que especifica o idioma e a localidade da cadeia de saída


e, como opção, a versão do idioma associado a um país ou região
opcional
específica.
Por exemplo, "zh" especifica chinês, e "pt_BR" especifica português
brasileiro.
Se for omitido, é utilizada a localidade padrão do computador. Se um
idioma especificado, mas não o país, o país padrão para o idioma
será usado.
Não é possível especificar uma localidade se você não tiver espe-
cificado uma data.
Para obter mais informações sobre códigos de local, consulte www.u-
nicode.org.

estilo numérico O estilo de formato de dados a ser usado para a cadeia Unicode. O
estilo de formato corresponde ao padrão para a localidade espe-
opcional
cificada:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 842 de 966


Comandos

Nome Tipo Descrição

o 0 – formato de especificação completa, como "Domingo, 18 de


setembro de 2016"
o 1 – formato longo, como "18 de setembro de 2016"
o 2 – formato médio, como "18 de set. de 2016"
o 3 – formato numérico curto, como "18/09/16"
Se omitido, o valor padrão 2 é usado. Não é possível especificar um
estilo se você não tiver especificado uma localidade.
Dica
Para ajudar a determinar o formato esperado da cadeia
de entrada, execute uma das seguintes ações:
l Use a função DTOU( ) para gerar um valor de
exemplo usando o estilo e a localidade.
Na linha de comando, use o comando DISPLAY
para imprimir o valor:

DISPLAY DTOU(`20160909`; "es_MX"; 3)

l Consulte uma origem confiável sobre o formato


de data padrão para o estilo na localidade espe-
cífica.

Saída
Datahora. O valor de data resultante usa o formato de exibição de data atual do Analytics.

Exemplos
Exemplos básicos
Nota
Todos os exemplos pressupõem um formato de exibição de data atual do Analytics como
DD MMM AAAA.
Nos exemplos abaixo, os códigos da localidade para chinês ("zh") e chinês simplificado
("zh_CN") correspondem a cadeias de entrada diferentes e não são intercambiáveis.
Também é necessário especificar o estilo correto. Uma cadeia de caracteres de data Uni-
code longa (ou seja, estilo é 1) não retorna uma data do Analytics se você especifica um
estilo de 2.

Valores de entrada literal


Retorna `20141231` exibido como 31 Dez 2014:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 843 de 966


Comandos

UTOD("31 de dezembro de 2014"; "pt_BR"; 1)

Retorna `20141231` exibido como 31 Dez 2014:

UTOD("31 grudnia 2014"; "pl"; 1)

Valores de entrada de campo


Retorna a data equivalente para cada cadeia Unicode no campo Data_fatura:

UTOD(Data_fatura; "zh"; 1)

A entrada usa o estilo de data completa


Retorna `20141231` exibido como 31 Dez 2014 (nenhum identificador de região especificado):

UTOD("星期三; 2014 十二月 31"; "zh"; 0)

Retorna `20141231` exibido como 31 Dez 2014 (identificador de região especificado):

UTOD("2014年12月31日星期三"; "zh_CN"; 0)

A entrada usa o estilo de data longa


Retorna `20141231` exibido como 31 Dez 2014 (nenhum identificador de região especificado):

UTOD("2014 十二月 31"; "zh"; 1)

Retorna `20141231` exibido como 31 Dez 2014 (identificador de região especificado):

UTOD("2014年12月31日"; "zh_CN"; 1)

Observações
Conversão bem-sucedida de cadeias Unicode
Para converter cadeias Unicode com datas em datas do Analytics com êxito, é necessário especificar
parâmetros localidade e estilo que correspondam ao idioma do país/região (se aplicável) e ao estilo da
data na cadeia Unicode.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 844 de 966


Comandos

Funções relacionadas
UTOD( ) é o inverso de DTOU( ), que converte uma data em uma cadeia Unicode. Se você não tiver certeza
sobre qual país/região e estilo devem ser especificados para a função UTOD( ), pode usar DTOU( ) e expe-
rimentar com parâmetros diferentes para produzir uma cadeia Unicode de saída que corresponda à forma
das cadeias Unicode de entrada que se deseja converter com UTOD( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 845 de 966


Comandos

Função VALUE( )
Converte uma sequência de caracteres em um valor numérico.

Sintaxe
VALUE(cadeia; decimais)

Parâmetros
Nome Tipo Descrição

cadeia caractere O campo, o literal ou a expressão a converter.

decimais numérico O número de casas decimais a serem incluídos na saída.

Saída
Numérico.

Exemplos
Exemplos básicos
Returns -123.400:

VALUE("123,4-"; 3)

Retorna 123456,00:

VALUE("$123.456"; 2)

Retorna -77,45:

VALUE("77,45CR"; 2)

Retorna -123457:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 846 de 966


Comandos

VALUE(" (123.456,78)"; 0)

Entrada de campo
Retorna valores de caracteres no campo Salário como números sem casas decimais:

VALUE(Salário, 0)

Observações
Como funciona?
Esta função converte dados de caractere para dados numéricos. Você pode usar a função VALUE( ) se pre-
cisar converter valores de expressões ou campos com caracteres em valores numéricos para usar em
comandos do Analytics.

Formatação da entrada numérica


VALUE( ) aceita números em qualquer formato. É possível usar como entrada qualquer formatação numé-
rica aceita pelo tipo de dados Impressão, como pontuação, sinais anteriores ou finais, e parênteses.

Valores negativos
A função VALUE( ) pode interpretar diferentes indicadores de valores negativos como parênteses e o sinal
de menos. Ela também pode interpretar CR (crédito) e DR (débito). Por exemplo:
Retorna -1000,00:

VALUE("(1000)"; 2)

VALUE("1000CR"; 2)

Valores decimais vs. inteiros


Se o valor cadeia não incluir decimais, o Analytics tratará o número como um valor inteiro. Por exemplo:
Retorna 123,00:

VALUE("123"; 2)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 847 de 966


Comandos

Se o número de decimais especificado em decimais for menor que o número no campo ou expressão, o
resultado será arredondado. Por exemplo:
Retorna "10,6":

VALUE("10,56"; 1)

Funções relacionadas
A função VALUE( ) é o oposto da função STRING( ), que converte dados numéricos em dados de carac-
teres.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 848 de 966


Comandos

Função VERIFY( )
Retorna um valor lógico que indica se os dados no campo de dados físicos são válidos.

Sintaxe
VERIFY(campo)

Parâmetros
Nome Tipo Descrição

campo caractere Precisa ser um campo de dados físicos.


numérico
datahora

Saída
Lógico. Retorna V (verdadeiro), se os dados no campo forem válidos e F (falso), caso contrário.

Exemplos
Exemplos básicos
Extrai todos os registros em que a função VERIFY( ) é avaliada como falsa para uma nova tabela do Analy-
tics:

EXTRACT RECORD IF NOT VERIFY(Endereço) TO "InvalidEntries.fil"

Observações
A função VERIFY( ) determina se os dados em um campo são consistentes com o tipo de dados espe-
cificado para o campo.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 849 de 966


Comandos

Quando usar VERIFY( )


A função oferece controle mais preciso dos campos a serem verificados do que o comando VERIFY, ou a
opção Verificar dados na guia Numérico na caixa de diálogo Opções (Ferramentas > Opções ). Você
pode usar a função para detectar erros nos campos individuais e proceder de uma maneira específica
para a situação.

Quando a função é avaliada como verdadeiro


Para que a função avalie como verdadeiro:
l campos de caracteres devem conter apenas caracteres válidos e imprimíveis, como letras, núme-
ros e símbolos
l campos numéricos devem conter apenas caracteres numéricos válidos, como números, decimais e
símbolos de moedas
l campos datahora devem conter somente datas válidas, datahora ou horas.

Campos e expressões calculados


Campos calculados e expressões sempre são avaliadas como V (verdadeiro), sendo assim essa função
não pode ser usada com campos calculados ou expressões, a menos que eles sejam convertidos para
campos físicos. O uso da opção Campos na caixa de diálogo Extrair para extrair os campos calculados
ou expressões os converte em campos físicos.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 850 de 966


Comandos

Função WORKDAY( )
Retorna o número de dias úteis entre duas datas.

Sintaxe
WORKDAY(data_início; data_término <;dias_não_úteis>)

Parâmetros
Nome Tipo Descrição

data_inicial datahora A data inicial do período para cálculo de dias úteis. A data inicial é
incluída no período.

data_final datahora A data final do período para cálculo de dias úteis. A data final é inclu-
ída no período.

dias_não_úteis caractere Especifica quais dias da semana são dias de fim de semana, ou dias
não úteis, e os exclui do cálculo. Se você omitir o parâmetro dias_
opcional
não_úteis, sábado e domingo serão usados como os dias não úteis
padrão.
Insira dias_não_úteis usando as abreviações a seguir, separadas por
espaço ou vírgula:
o Seg
o Ter
o Qua
o Qui
o Sex
o Sáb
o Dom
dias_não_úteis não diferencia minúsculas e maiúsculas. As abre-
viações devem ser inseridas em inglês, mesmo que você esteja
usando uma versão do Analytics que não esteja em inglês:

"Sex, Sáb, Dom"

Nota
Você pode especificar um valor datahora para data_inicial ou data_final, mas a parte da
hora do valor será ignorada.
Se data_inicial for mais recente que data_final, será retornado um valor negativo.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 851 de 966


Comandos

Saída
Numérico. O número de dias úteis no período para cálculo de dias úteis.

Exemplos
Exemplos básicos
Valores de entrada literal
Retorna 5 (o número de dias úteis entre segunda-feira, 2 de março de 2015 e domingo, 8 de março de
2015 inclusive):

WORKDAY(`20150302`; `20150308`)

Retorna 6 (o número de dias úteis entre segunda-feira, 2 de março de 2015 e domingo, 8 de março de
2015 inclusive, quando domingo é o único dia não útil):

WORKDAY(`20150302`; `20150308`; "Sun")

Retorna 5 (o número de dias úteis entre domingo, 1º de março de 2015 e sábado, 1 de março de 2015
inclusive, quando sexta-feira e sábado não são dias úteis):

WORKDAY(`20150301`; `20150307`; "Fri, Sat")

Valores de entrada de campo


Retorna o número de dias úteis entra cada data no campo Data_inicial e 31 de dezembro de 2015 inclu-
sive:

WORKDAY(data_inicial; `20151231`)

Retorna o número de dias úteis entra cada data no campo Data_inicial e uma data correspondente no
campo Data_final inclusive:
l Os feriados legais são incluídos no total de dias úteis e pode ser necessário considerá-los usando
um cálculo separado
l Um valor de retorno negativo indica uma data inicial posterior à data final

WORKDAY(data_inicial; data_final)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 852 de 966


Comandos

Observações
Formatos de data
Um campo especificado para data_inicial ou data_final pode usar qualquer formato de data, desde que a
definição do campo defina corretamente o formato.
Ao especificar um valor literal de data para data_inicial ou data_final, você está restrito aos formatos
AAAAMMDD e AAMMDD e o valor deve estar entre apóstrofos invertidos – por exemplo, `20141231`.

Dias não úteis diferentes de sábado e domingo


A capacidade de especificar dias não úteis diferentes de sábado e domingo permite usar a função
WORKDAY( ) com dados não baseados em uma semana de trabalho de segunda-feira à sexta-feira, ou
em uma semana de trabalho de cinco dias.
Por exemplo, se você especificar o próprio Sun como um dia não útil, cria uma semana de trabalho de seis
dias, de segunda-feira ao sábado.

Consideração de feriados legais


A função WORKDAY( ) não considera feriados legais, o que significa que o valor retornado pode não refle-
tir o número real de dias úteis se o período contém um ou mais feriados legais.

Script "Calcular dias úteis" no ScriptHub


Se você precisa considerar os feriados legais, uma opção é usar o script Calcular dias úteis do ScriptHub,
que aceita uma lista de feriados definidos pelo usuário.
Para dados que abrangem períodos maiores e incluem diversos feriados, a melhor abordagem é pro-
vavelmente usar o script. Para obter mais informações, consulte "Importação de scripts do ScriptHub" na
ajuda do Analytics.
Para períodos menores com apenas três ou quatro feriados, como um trimestre, pode ser mais fácil criar o
campo calculado condicional descrito a seguir.

Campo calculado condicional para deduzir feriados legais


Se necessário, você pode criar um campo calculado condicional para deduzir feriados legais do valor retor-
nado pela função WORKDAY( ).
Por exemplo, para os dados do primeiro trimestre de 2015, você pode subtrair 1 do valor retornado por
WORKDAY( ) para cada um destes feriados do período especificado:
l 1º de janeiro de 2015
l 19 de janeiro de 2015
l 16 de fevereiro de 2015
O exemplo a seguir acomoda períodos com qualquer data inicial e final durante o trimestre.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 853 de 966


Comandos

Primeiro, crie um campo calculado como, por exemplo, Dias_úteis , que calcula os dias úteis para um perí-
odo específico durante o trimestre:

DEFINE FIELD Dias_úteis COMPUTED WORKDAY(data_inicial; data_final)

Em seguida, crie um campo calculado condicional como, por exemplo Dias_úteis_sem_feriados , que
ajusta o valor retornado pelo primeiro campo calculado (Dias_úteis ):

DEFINE FIELD Dias_úteis_sem_feriados COMPUTED

Dias_úteis-1 IF data_inicial = `20150101` AND data_final < `20150119`


Dias_úteis-2 IF data_inicial = `20150101` AND data_final < `20150216`
Dias_úteis-3 IF data_inicial = `20150101` AND data_final <= `20150331`
Dias_úteis   IF data_inicial < `20150119` AND data_final < `20150119`
Dias_úteis-1 IF data_inicial < `20150119` AND data_final < `20150216`
Dias_úteis-2 IF data_inicial < `20150119` AND data_final <= `20150331`
Dias_úteis-1 IF data_inicial = `20150119` AND data_final < `20150216`
Dias_úteis-2 IF data_inicial = `20150119` AND data_final <= `20150331`
Dias_úteis   IF data_inicial < `20150216` AND data_final < `20150216`
Dias_úteis-1 IF data_inicial < `20150216` AND data_final <= `20150331`
Dias_úteis-1 IF data_inicial = `20150216` AND data_final <= `20150331`
Dias_úteis   IF data_inicial < `20150331` AND data_final <= `20150331`
Dias_úteis

Nota
A ordem das condições no campo calculado condicional é importante.
O Analytics avalia várias condições começando pela parte superior. A primeira condição
avaliada como verdadeira para um registro atribui o valor do campo calculado condicional
a esse registro. Uma condição subsequente avaliada como verdadeira não altera o valor
atribuído.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 854 de 966


Comandos

Função YEAR( )
Extrai o ano de uma data ou datahora específica e retorna como valor numérico usando o formato AAAA.

Sintaxe
YEAR(data/datahora)

Parâmetros
Nome Tipo Descrição

data/datahora datahora O campo, expressão ou valor literal do qual será extraído o ano.

Saída
Numérico.

Exemplos
Exemplos básicos
Retorna 2014:

YEAR(`20141231`)

YEAR(`141231 235959`)

Retorna o ano para cada valor no campo Data_fatura:

YEAR(Data_fatura)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 855 de 966


Comandos

Observações
Detalhes do parâmetro
Um campo especificado para data/datahora pode usar qualquer formato de data ou datahora, desde que
a definição do campo defina corretamente o formato.

Especificação de literal de data ou de um valor datahora


Ao especificar um valor literal de data ou datahora para data/datahora, você fica restrito aos formatos na
tabela abaixo e o valor deve estar entre apóstrofos invertidos – por exemplo, `20141231`.
Não use separadores como barras (/) ou dois pontos (:) entre os componentes individuais de datas ou
horas.
l Valores de datahora – você pode usar qualquer combinação de formatos de data, separador e
hora listados na tabela abaixo. A data deve preceder a hora e um separador deve ser usado entre
os dois. Os separadores válidos são um único espaço em branco ou as letras 't' ou 'T'.
l Valores de tempo – as horas devem ser especificadas usando o relógio de 24 horas. Os ajustes do
Tempo Universal Coordenado (UTC) devem ser precedidos por um sinal de mais (+) ou de menos
(-).

Exemplos de formato Exemplos de valores literais

AAAAMMDD `20141231`

AAMMDD `141231`

AAAAMMDD hhmmss `20141231 235959`

AAMMDDthhmm `141231t2359`

AAAAMMDDThh `20141231T23`

AAAAMMDD hhmmss+/-hhmm `20141231 235959-0500`
(ajuste UTC)

AAMMDD hhmm+/-hh `141231 2359+01`
(ajuste UTC)

Nota
Não use somente hh no formato de hora
principal com dados que têm um ajuste
UTC. Por exemplo, evite: hh+hhmm. Os
resultados podem ser não confiáveis.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 856 de 966


Comandos

Função ZONED( )
Converte dados numéricos em dados de caracteres e adiciona zeros à esquerda na saída.

Sintaxe
ZONED(número; comprimento)

Parâmetros
Nome Tipo Descrição

número numérico O valor numérico a ser convertido em uma cadeia.


Nota
Se quiser adicionar zeros à esquerda de um valor de
caracteres que contém uma cadeia numérica, você pre-
cisará usar a função VALUE( ) para converter os carac-
teres para o tipo de dados numérico antes de usar o
valor como entrada para ZONED( ). Para obter mais infor-
mações, consulte "Função VALUE( )" Na página 846.

comprimento numérico O comprimento da cadeia de saída.

Saída
Caractere.

Exemplos
Exemplos básicos
Entrada de inteiro
Retorna "235":

ZONED(235; 3)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 857 de 966


Comandos

Retorna "00235" porque comprimento é maior do que o número de dígitos em número, portanto, dois
zeros à esquerda são adicionados ao resultado:

ZONED(235; 5)

Retorna "35" porque comprimento é menor do que o número de dígitos em número, portanto, o primeiro
dígito à esquerda é truncado do resultado:

ZONED(235; 2)

Entrada de decimal
Retorna "23585" porque o formato de dados zonado não permite ponto decimal:

ZONED(235,85; 5)

Entrada de valores negativos


Retorna "64489M" porque o número é negativo e "M" representa o dígito final 4:

ZONED(-6448,94; 6)

Retorna "489J" porque comprimento é menor do que o número de dígitos em número; portanto, os pri-
meiros dois dígitos à esquerda são truncados do resultado, o número é negativo e "J" representa o dígito
final 1:

ZONED(-6448,91; 4)

Exemplos avançados
Adição de zeros à esquerda de um campo de caracteres que contém núme-
ros
O campo Número_Funcionário contém o valor "254879". Você precisa converter o valor para uma cadeia
de 10 dígitos com zeros à esquerda.
Dica

Você precisa usar a função VALUE( ) para converter os caracteres em dados numéricos
antes de usar o numeral como entrada para ZONED( ).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 858 de 966


Comandos

COMMENT retorna "0000254879"


ASSIGN v_comprimento_cadeia = 10
ASSIGN v_núm_decimais = 0
ZONED(VALUE(Número_Funcionário; v_núm_decimais); v_comprimento_cadeia)

Harmonização de um campo-chave ao associar tabelas


Você tem duas tabelas, Ar e Cliente, e precisa associá-las pelo campo NúmCliente para análises pos-
teriores. Cada uma das duas tabelas tem um campo NúmCliente, mas o formato de dados é diferente:
l Ar: campo numérico (por exemplo, 235)
l Cliente: campo de 5 caracteres que preenche os números com zeros à esquerda (por exemplo,
"00235")
Para harmonizar os campos durante a associação para que os tipos de dados e os comprimentos sejam
iguais, você usa a função ZONED( ) para converter o campo-chave NúmCliente de Ar em um campo de
caracteres com comprimento 5, que corresponde ao formato do campo-chave de Cliente:

OPEN Ar PRIMARY
OPEN Cliente SECONDARY
JOIN PKEY ZONED(Númclien;5) FIELDS NúmCliente Valor Devido SKEY Númclien UNMATCHED
TO Cliente_Ar OPEN PRESORT SECSORT

Observações
Como funciona?
Essa função converte dados numéricos para dados de caractere e adiciona zeros iniciais ao resultado. A
função é comumente usada para harmonizar campos que requerem zeros iniciais, por exemplo, número de
cheque, número da ordem de compra e os campos de número de fatura.

Quando usar ZONED( )


Utilize a função para converter um valor numérico positivo em um valor de caracteres contendo zeros à
esquerda. Isso é útil para a normalização de dados em campos que serão utilizados como campos-chave.
Por exemplo, se uma tabela contiver números de faturas na forma 100 em um campo numérico, e outra
tabela contiver números de faturas na forma "00100" em um campo de caracteres, você poderá utilizar
ZONED( ) para converter o valor numérico 100 ao valor de caractere "00100". Isso lhe permitirá comparar
números de faturas semelhantes.

Comprimento de cadeias e valores de retorno


Os zeros à esquerda são adicionados ao valor de saída quando o comprimento for maior do que o número
de dígitos em número. Quando comprimento for menor que o número de dígitos em número, a saída será

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 859 de 966


Comandos

truncada do lado esquerdo. Se o valor de número tiver o mesmo comprimento do comprimento, não
serão adicionados zeros.

Números decimais
O tipo de dados zonado não inclui uma vírgula decimal explícita.

Números negativos
Se o número de entrada for negativo, o dígito mais à direita será exibido como um caractere no resultado:
l "}" para 0
l uma letra entre "J" e "R" para os dígitos 1 a 9

ZONED( ) e a edição Unicode do Analytics


Se estiver trabalhando com a edição Unicode do Analytics, você precisará usar a função BINTOSTR( )
para exibir corretamente o valor retornado pela função ZONED( ). Também é preciso usar a função
BINTOSTR( ) se desejar usar o valor retornado da função ZONED( ) como um parâmetro em outra fun-
ção.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 860 de 966


Comandos

Função ZSTAT( )
Retorna a estatística Z padrão.

Sintaxe
ZSTAT(proporção_real; proporção_esperada; população)

Parâmetros
Nome Tipo Descrição

real numérico o Ao especificar parâmetros como números: representa a contagem


real, como um dígito à esquerda ou uma combinação de dígitos à
esquerda.
o Ao especificar parâmetros como proporções: representa a pro-
porção esperada do valor sendo testado e deve estar entre 0 e 1,
inclusive (isso é, maior ou igual a 0 e menor ou igual a 1).

esperado numérico o Ao especificar parâmetros como números: representa a contagem


esperada, como um dígito à esquerda ou uma combinação de dígi-
tos à esquerda.
o Ao especificar parâmetros como proporções: representa a pro-
porção esperada do valor sendo testado e deve estar entre 0 e 1,
exclusivamente (isso é, maior que 0 e menor que 1).

população numérico O número total dos itens testados. Este parâmetro deve ser um
número inteiro positivo maior que 0

Saída
Numérico.

Exemplos
Exemplos avançados
Parâmetros expressos como números
Com base em 10 anos de dados anteriores, você sabe que a distribuição de reclamações trabalhistas de

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 861 de 966


Comandos

acidentes por mês é normalmente muito uniforme. Em abril, maio e junho deste ano, as reclamações
foram cerca de 10 por cento maiores, com média de 220 por mês, em vez de 200. Reclamações em julho
e agosto foram um pouco mais baixas, 193 e 197. As reclamações totais para esse ano foram 2.450 Para
testar se estes resultados altos e baixos foram significativos, use a estatística-Z.
O número real de reclamações para abril a junho é 660, maior do que o esperado. O número esperado
para esse período é de 25% das reclamações anuais, 2.450, ou seja, 612,5. A estatística-Z para essas
contagens é calculada como 2,193:

ZSTAT(660; 612,5; 2450)

Uma estatística-Z de 1,96 tem uma significância de 0,05, e 2,57 tem uma significância de 0,01. Portanto, a
probabilidade de que taxas superiores de reclamações devam-se ao acaso está entre 1:20 e 1:100.
O número real de reclamações para julho e agosto é 390, menor do que o esperado. O número esperado
de reclamações para esse período é um sexto das reclamações anuais, 2.450, ou seja, 408,33. A esta-
tística-Z para essas proporções é calculada como 0,967:

ZSTAT(390; 408,33; 2450)

Este não é um resultado muito significativo. As estatísticas-Z de 1,000 e menores são muito comuns e
podem ser normalmente ignoradas.

Parâmetros expressos como proporções


Com base em 10 anos de dados anteriores, você sabe que a distribuição de reclamações trabalhistas de
acidentes por mês é normalmente muito uniforme. Em abril, maio e junho deste ano, as reclamações
foram cerca de 10 por cento maiores, com média de 220 por mês, em vez de 200. Reclamações em julho
e agosto foram um pouco mais baixas, 193 e 197. As reclamações totais para esse ano foram 2.450 Para
testar se estes resultados altos e baixos foram significativos, use a estatística-Z.
O número real de reclamações para abril a junho é representado pela proporção 660/2450, o que é maior
do que o esperado. O número esperado de reclamações para esse período deveria ser 25% das recla-
mações anuais, 2.450, ou seja. A estatística-Z para essas proporções é: 2,193:

ZSTAT((1,00000000 * 660 / 2450); 0,25; 2450)

Uma estatística-Z de 1,96 tem uma significância de 0,05, e 2,57 tem uma significância de 0,01. Portanto, a
probabilidade de que taxas superiores de reclamações devam-se ao acaso está entre 1:20 e 1:100.
O número real de reclamações para julho e agosto é baixo, 390. O número esperado de reclamações
para esse período deveria ser um sexto, ou 16,6667% das reclamações anuais, 2.450. A estatística-Z
para essas proporções é 0,967:

ZSTAT((1,00000000 * 390 / 2450); 0,16667; 2450)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 862 de 966


Comandos

Este não é um resultado muito significativo. As estatísticas-Z de 1,000 e menores são muito comuns e
podem ser normalmente ignoradas.

Observações
Como funciona?
A função ZSTT( ) calcula a estatística Z padrão para uso em diversas tarefas de solução de problemas,
incluindo análise digital. Ele produz o resultado com uma precisão de três casas decimais.

Uso de ZSTAT( )
Use ZSTAT( ) para avaliar a frequência provável de ocorrência de determinado resultado em um período
ou categoria específica. Quanto maior a estatística-Z resultante, menor a probabilidade de ocorrência.
Por exemplo, uma estatística-Z de 1,96 tem uma significância de 0,05, representando a probabilidade de
uma em 20 ocorrências, enquanto uma estatística-Z de 2,57 tem uma significância de 0,01, representando
a probabilidade de uma em 100 ocorrências. Para obter informações sobre estatística-Z, consulte um livro
de estatística.

Especificação da entrada de ZSTAT( )


É possível especificar os parâmetros de ZSTAT( ) como números ou proporções:
l Ao especificar ambos os valores de entrada como números, a função calcula a estatística Z uti-
lizando aritmética de ponto flutuante
l Ao especificar ambos os valores de entrada como proporções, a função calcula a estatística Z uti-
lizando aritmética de ponto fixo e você precisa usar um multiplicador decimal para controlar o arre-
dondamento
l Ao utilizar uma expressão dentro de uma expressão para calcular o valor real ou esperado, você
deve especificar o nível de precisão desejado no resultado com um multiplicador decimal. O Analytics
tem uma precisão de 8 dígitos, portanto, um multiplicador de 1,00000000 retornará a maior precisão
possível

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 863 de 966


Comandos

Análises

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 864 de 966


Comandos

Scripts de análise
A execução de scripts não está limitada apenas ao Analytics. Se um script comum for convertido em um
script de análise, você poderá agendar e executar scripts no módulo Robôs do HighBond ou no Analytics
Exchange. Você também pode executar scripts de análise na janela Aplicativo de análise, um componente
autônomo do Analytics.

O que são scripts de análise?


Um script de análise, ou uma "análise", é um script comum com um cabeçalho de análise. O cabeçalho da
análise é uma série de tags de declaração que permitem que o script seja executado no Robôs, no Servidor
AX ou na janela do Aplicativo de Análise. O cabeçalho de análise inclui parâmetros de entrada que um usu-
ário preenche antecipadamente, o que permite que o script de análise seja executado sem supervisão, seja
imediatamente ou em um horário programado.
Dica
Os scripts de análise são quase que exclusivamente desenvolvidos e testados no Analy-
tics, que facilita o desenvolvimento. Use o Cliente AX para fazer atualizações simples em
scripts de análise existentes armazenados no Servidor AX.

O que são aplicativos de análise?


Um aplicativo de análise é um projeto do Analytics empacotado para uso no Analytics Exchange ou na
janela Aplicativo de análise. Os aplicativos de análise contêm um ou mais scripts de análise e também
podem conter tabelas de dados e interpretações.
Nota
Os aplicativos de análise são geralmente criados ou desenvolvidos pelos especialistas em
scripts da empresa ou junto aos consultores da Galvanize.

Como transformar scripts comuns em scripts


de análise
Os scripts de análise começam como scripts comuns. Para executar um script comum no Robôs, no Ser-
vidor AX ou na janela Aplicativo de análise, é necessário converter o script comum em um script de análise:
1. Crie e teste um script no Analytics.
2. Adicione as tags adequadas de cabeçalho de análise para transformar o script em um script de aná-
lise.
3. Empacote o script de análise para execução no Servidor AX ou na janela Aplicativo de análise. Não é
preciso empacotar scripts de análise para execução no Robôs.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 865 de 966


Comandos

Adição de cabeçalhos de análise


Os cabeçalhos de análise devem ser definidos em um bloco de comentários na primeira linha do script.
No mínimo o cabeçalho da análise declara que o script é um script de análise:

COMMENT
//ANALYTIC Identificação de cheques perdidos
Este script de análise identifica números de cheques perdidos
END

Para obter mais informações, consulte "Adição de cabeçalhos de análise" Na página 909.

Distribuição e execução de scripts de análise


Há várias opções para distribuir e executar scripts de análise, dependendo dos produtos e componentes
da Galvanize usados pela organização.

Produto/componente Método para distribuir e executar um script de análise

Módulo Robôs do o confirme um ou mais scripts de análise como uma versão no modo de desen-
HighBond volvimento no Robôs, e agende e execute uma versão ativada no modo de pro-
dução

Servidor AX Um destes métodos:


o importe o projeto do Analytics (arquivo .acl) diretamente no Servidor AX, e agende
e execute um script de análise usando o Cliente AX
o empacote o projeto em um arquivo de aplicativo de análise compactado (arquivo
.aclapp), importe-o para o Servidor AX e execute um script de análise usando o Cli-
ente Web AX
Para obter mais informações, consulte "Empacotamento de aplicativos de análise"
Na página 919.

Janela Aplicativo de aná- o empacote o projeto em um arquivo de análise compactado (arquivo .aclapp), abra o
lise projeto como um aplicativo de análise (arquivo .aclx) e execute o script de análise
na janela Aplicativo de análise
Para obter mais informações, consulte "Empacotamento de aplicativos de análise"
Na página 919.

Como determinar o ambiente em que o script de análise


será executado
Se você quiser criar um script de análise que possa ser executado no Analytics, no Analytics Exchange ou
na janela Aplicativo de análise, é possível determinar o ambiente de tempo de execução durante a exe-

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 866 de 966


Comandos

cução do script. Você pode usar essas informações para tomar decisões sobre quais comandos executar
de acordo com o ambiente em que o script está sendo executado.
Use a função FTYPE( )para determinar onde o script está sendo executado:

FTYPE("ax_main") = "b"

Se o script estiver sendo executado no Analytics Exchange ou na janela Aplicativo de análise, a expressão
será avaliada como verdadeira (T). Para script sendo executados no Analytics, a expressão será avaliada
como falsa (F). Para obter mais informações, consulte "Função FTYPE( )" Na página 593.

Identificação do usuário que executa o script no Servidor


AX
Para scripts de análise executados no Servidor AX, você pode usar a variável de sistema AXRunByUser
para identificar o nome do usuário que está executando o script no momento, no formato domínio\nome do
usuário:

EXTRACT FIELDS TIME() AS "Hora", DATE() AS "Data", AXRunByUser AS "Usuário atual" TO R_


RegistroExecução APPEND

Nota
AXRunByUser somente está disponível na execução de scripts de análise no Servidor AX.
A variável não é reconhecida na execução de scripts no Analytics.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 867 de 966


Comandos

Cabeçalhos e das tags da análise


O cabeçalho de análise é uma série de tags analíticas incluídas em um bloco de comentários no início de
um script do Analytics. As tags de análise especificam os parâmetros de entrada preenchidos por um usu-
ário antes de agendar ou executar uma análise e os parâmetros de saída.
Um cabeçalho de análise é obrigatório para qualquer script de análise que você pretenda executar no
Robôs, no Servidor AX ou na janela Aplicativo de análise.

Definição de cabeçalhos de análise


Os cabeçalhos de análise devem ser definidos em um bloco de comentários que começa na primeira linha
do script. As tags podem ser dispostas em qualquer ordem no cabeçalho de análise, exceto:
l a tag ANALYTIC, que deve ser a primeira
l tags FIELD, que devem seguir imediatamente a tag TABLE associada

Exemplo
Este cabeçalho de análise a seguir identifica uma tabela e campo para uso no script, bem como um parâ-
metro de data inicial:

COMMENT
//ANALYTIC Identificação de cheques perdidos
Esta análise identifica números de cheques perdidos
//TABLE v_tabela_pagamentos Tabela de Pagamentos
Selecione uma tabela que exibe os pagamentos e contém uma coluna de número do cheque
//FIELD v_num_cheque CN Número do Cheque
Selecione o campo que contém os números de cheques
//PARAM v_data_inicial D OPTIONAL Data Inicial (opcional)
Insira a data inicial da análise
END

Formato da tag
Cada tag no cabeçalho usa o seguinte formato:

//nomeTag atributos textoDescritivo

O indicador de tag // deve ser o primeiro caractere não branco na linha de script. A tag deve ime-
diatamente seguir o indicador de tag, sem espaços ou caracteres entre os dois.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 868 de 966


Comandos

Convenções de tags
Componente Convenção

Nomes de tag O nome da tag não diferencia maiúsculas de minúsculas.


Ao contrário dos nomes de comandos e funções do Analytics, os nomes de tags não podem
ser abreviados.

Atributos de tag Ao especificar valores de atributo para uma tag, você pode incluir espaços e, opcionalmente,
colocar o valor entre aspas.

Descrições de tag As descrições são opcionais. Se uma descrição for especificada, ela pode conter diversas
linhas, mas as quebras de linhas não são mantidas no aplicativo cliente.

Especificação de valores de entrada de teste


no Analytics
Você pode usar um operador de atribuição especial := para especificar valores de entrada de teste em qual-
quer tag de análise que exija definição:
l FILE
l TABLE
l FIELD
l PARAM
Use esta sintaxe para testar scripts de análise no Analytics:

//TABLE v_TabelaAnalise “Tabela a ser classificada" := “Trans_Maio"

Quando o script for executado no Analytics, o parâmetro assumirá o valor especificado na atribuição.
Quando a análise é executada em um aplicativo cliente, o valor de teste é ignorado e os parâmetros de
entrada definidos pelos usuários são usados.
Você deve deixar um espaço entre o operador de atribuição e a sintaxe de tag que o precede. Os valores
de atribuição devem usar o qualificador correto para o tipo de dados, como exigido em todo o Analytics.
Para obter mais informações, consulte "Tipos de dados" Na página 21.

Lista completa das tags de análise disponíveis


Tag Descrição

"ANALYTIC" Na Designa um script do Analytics como uma análise que pode ser executada no Robôs, no Ser-
página 871 vidor AX ou na janela Aplicativo de análise.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 869 de 966


Comandos

Tag Descrição

Tags de entrada

"FILE" Na Especifica um arquivo não Analytics, como arquivos Excel ou de texto delimitado, que fornece
página 873 entradas para a análise executada no Robôs ou no Servidor AX.
o Robôs: o arquivo deve estar localizado na guia Entrada/Saída no mesmo robô da análise
o Servidor AX: o arquivo deve estar localizado na subpasta Arquivos relacionados na pasta
em que a análise está localizada

"TABLE" Na Define uma tabela do Analytics que o usuário seleciona como entrada para a análise.
página 875
A tag TABLE pode ser seguida de zero ou mais tags FIELD inseridas em linhas sequenciais.

"FIELD" Na Define um campo que o usuário seleciona como entrada para a análise.
página 877
O campo deve fazer parte de uma tabela definida na tag TABLE precedente. A primeira tag
FIELD deve vir imediatamente após uma tag TABLE e pode ser seguida por tags FIELD adi-
cionais digitadas em linhas sequenciais.

"PARAM" Na Cria um parâmetro de entrada para uma análise e define os requisitos para o valor de entrada.
página 879
Um parâmetro de entrada é um espaço reservado que permite que o usuário especifique o
valor real quando agenda ou executa uma análise.

"PASSWORD" Na Cria um parâmetro de entrada de senha para uma análise. O parâmetro fornece arma-
página 891 zenamento criptografado da senha para uso subsequente em um comando do ACLScript.
O usuário é solicitado a especificar o valor de senha necessário quando agenda ou inicia uma
análise para que não seja necessária a intervenção do usuário durante a execução da aná-
lise.

Tags de saída

"DATA" Na Especifica que a tabela do Analytics gerada pela análise é copiada para a subpasta de dados
página 894 (um local de armazenamento) no ambiente de implantação.
Tipicamente, as tabelas do Analytics são armazenadas para que possam ser usadas como
tabelas de entrada nas análises subsequentes.

"RESULT" Na Especifica os resultados de saída da análise que você quer disponibilizar aos usuários finais
página 899 em aplicativos cliente.
Os resultados de saída, mesmo quando existentes, não são automaticamente disponibilizados.
Deve ser usada uma tag RESULT separada para cada item de resultado a disponibilizar.

"PUBLISH" Na Especifica um arquivo contendo metadados que determinam as tabelas do Analytics que serão
página 904 publicadas para o AX Exception na conclusão do processamento da análise.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 870 de 966


Comandos

ANALYTIC
Designa um script do Analytics como uma análise que pode ser executada no Robôs, no Servidor AX ou na
janela Aplicativo de análise.

Sintaxe
//ANALYTIC <TYPE IMPORT|PREPARE|ANALYSIS> nome
< description>

Parâmetros
Nome Descrição

TYPE Identifica o tipo de script de análise como um dos três tipos a seguir:
opcional o IMPORT – recupera dados de uma origem de dados. A saída da análise de impor-
tação é uma tabela de dados bruta.
o PREPARE – transforma dados brutos como necessário para torná-los prontos para
análise. A saída da análise de preparação é uma tabela de análise.
o ANALYSIS – executa testes nos dados das tabelas de análise. A saída da análise ana-
lítica consiste em uma ou mais tabelas de resultados.
As análises com um TYPE especificado são organizadas nas áreas Importar, Pre-
paração ou Análise no Robôs, no Cliente Web AX e na janela Aplicativo de análise.
Essa disposição guia o usuário pela sequência apropriada de execução das análises. A
sequência e o tipo de funcionalidade dentro da análise não são verificados.
Se você omitir TYPE, a análise será exibida na seção Análise.

nome O nome da análise.


O nome identifica a análise nos aplicativos cliente. O nome da análise é separado do
nome do script especificado no Analytics na criação inicial do script.
Nota
As análises em um mesmo projeto ou aplicativo de análise devem ter
nomes únicos. Se o mesmo nome for utilizado em duas ou mais análises,
ocorrerá um erro quando você tentar confirmar os scripts da análise, ou
importar ou abrir o aplicativo de análise.
Os caracteres não permitidos nos nomes de arquivos do Windows (< > : " / \ | ? *) não
devem ser utilizados nos nomes das análises porque causam um erro que não permite a
exportação de resultados. Não use o valor TYPE como nome.
Em aplicativos cliente, os nomes são listados em ordem alfanumérica. Para orientar o
usuário na sequência correta de execução de múltiplas análises em um único robô ou
aplicativo de análises, é possível adicionar um prefixo para classificar os nomes das aná-
lises em cada área. Por exemplo: 01_analisar_OPs, 02_analisar_faturas, etc. A sequên-

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 871 de 966


Comandos

Nome Descrição

cia implícita na ordem dos nomes não é imposta.

descrição Uma descrição da análise ou outras informações de que o usuário pode precisar para
executar a análise com sucesso.
opcional
A descrição aparece junto à análise nos aplicativos cliente. A descrição pode conter
diversas linhas, mas não pode pular nenhuma. A descrição deve ser digitada na linha
abaixo da tag ANALYTIC associada.

Exemplos
Cabeçalho de análise básico
O cabeçalho da análise a seguir contém um nome e uma descrição da análise:

COMMENT
//ANALYTIC Identificação de cheques perdidos
Esta análise identifica números de cheques perdidos.
END

Cabeçalho de análise com tipo


O cabeçalho da análise a seguir especifica uma análise de preparação com uma descrição das ações do
script:

COMMENT
//ANALYTIC TYPE PREPARE Padroniza dados de endereço
Essa análise limpa e padroniza o campo endereço em preparação para análise de duplicidades.
END

Observações
Um comando COMMENT do ACLScript deve ser digitado na primeira linha do script, seguido pela tag
ANALYTIC na segunda linha. Se a tag ANALYTIC for utilizada em qualquer outro local, ela será igno-
rada.
Um ou mais scripts no projeto do Analytics podem incluir uma tag ANALYTIC.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 872 de 966


Comandos

FILE
Especifica um arquivo não Analytics, como arquivos Excel ou de texto delimitado, que fornece entradas
para a análise executada no Robôs ou no Servidor AX.
l Robôs: o arquivo deve estar localizado na guia Entrada/Saída no mesmo robô da análise
l Servidor AX: o arquivo deve estar localizado na subpasta Arquivos relacionados na pasta em que a
análise está localizada
Nota
Para especificar um arquivo de entrada não Analytics para análises executadas na janela
Aplicativo de análise, consulte "PARAM" Na página 879.

Sintaxe
//FILE nome_arquivo

Parâmetros
Nome Descrição

nome_arquivo O nome do item no robô ou na subpasta Arquivos relacionados a utilizar como arquivo
de entrada para a análise. o nome_arquivo não pode incluir um caminho.
Curingas podem ser usados na especificação do nome do arquivo. Utilize um único aste-
risco (*) para substituir zero ou mais caracteres.
Por exemplo:
o Inv12* corresponde a: Inv12, Inv123 e Inv1234
o *.* corresponde a todos os arquivos de todas as extensões no robô ou na pasta Arqui-
vos relacionados
o Inv_*.* corresponde a Inv_Jan.pdf e Inv_Feb.xls
Dica
Você pode usar a tag //FILE para fazer referência a um arquivo de pre-
ferências .prf do Analytics. Ao fazer isso, o arquivo de preferências na
subpasta Arquivos Relacionados é usada para definir as configurações
do ambiente de tempo de execução em vez do arquivo de preferências
global no Servidor AX. O arquivo de preferências deve ser da última ver-
são do Analytics compatível com sua instalação do Analytics Exchange.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 873 de 966


Comandos

Exemplos
Exemplos básicos
Especifica um arquivo específico:

//FILE ContasSinalizadas.csv

Especifica todos os arquivos CSV com o nome começando por "Sinalizadas":

//FILE Sinalizadas*.csv

Especifica todos os arquivos:

//FILE *.*

Exemplos avançados
Importar dados de um arquivo incluído
Você executa uma análise mensal de dados do funcionário no Servidor AX. Uma das análises do apli-
cativo de análise importa os dados para análise de um arquivo delimitado colocado mensalmente na
pasta Arquivos relacionados:

COMMENT
//ANALYTIC TYPE IMPORT importar_funcionários
Importa registros de funcionário do arquivo delimitado arquivado na pasta Arquivos relacionados.
//FILE Funcionários.csv
END
IMPORT DELIMITED TO Funcionários "Funcionários.fil" FROM "Funcionários.csv" 0 SEPARATOR
"," QUALIFIER '"' CONSECUTIVE STARTLINE 1 KEEPTITLE FIELD "Nome" C AT 1 DEC 0 WID
11 PIC "" AS "Nome" FIELD "Sobrenome" C AT 12 DEC 0 WID 12 PIC "" AS "Sobrenome"

Observações
A tag FILE não é permitida em análises executadas na janela Aplicativo de análise. Para especificar um
arquivo de entrada para análises executadas na janela Aplicativo de análise, use a tag PARAM. Para
obter mais informações, consulte "PARAM" Na página 879.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 874 de 966


Comandos

TABLE
Define uma tabela do Analytics que o usuário seleciona como entrada para a análise.
A tag TABLE pode ser seguida de zero ou mais tags FIELD inseridas em linhas sequenciais.
Nota
A tag TABLE exige que uma tabela já exista no local de armazenamento para ficar dis-
ponível para seleção. Para obter mais informações, consulte "DATA" Na página 894.

Sintaxe
//TABLE id nome
<description>

Parâmetros
Nome Descrição

id A variável que armazena o nome da tabela de entrada selecionada pelo usuário. Use
esse valor no script de análise para referenciar a tabela.

nome O nome a ser associado com a tabela.


O valor é exibido nos aplicativos cliente quando o usuário que executa a análise é soli-
citado a selecionar a tabela.

descrição Texto descritivo que especifica o propósito da tabela. A descrição pode conter diversas
linhas, mas não pode pular nenhuma.
opcional
O valor é exibido nos aplicativos cliente quando o usuário é solicitado a selecionar a
tabela. A descrição pode solicitar que o usuário selecione a tabela correta. Por exemplo,
"Selecione a tabela que contém as informações da folha de pagamento".
A descrição deve ser digitada na linha abaixo da tag TABLE associada.

Exemplos
Exemplos básicos
Tag TABLE com descrição para ajudar o usuário a selecionar a tabela de entrada correta:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 875 de 966


Comandos

//TABLE v_tabela_pagamentos Tabela de Pagamentos


Selecione uma tabela que exibe os pagamentos e inclui uma coluna de número do cheque.

Exemplos avançados
Como usar uma tabela definida em um tag TABLE no script
O script a seguir executa um comando AGE em uma tabela selecionada pelo usuário das tabelas de
dados do projeto:

COMMENT
//ANALYTIC script_exemplo
//TABLE v_tabela_pagamentos Tabela de Pagamentos
Selecione uma tabela que exibe os pagamentos e contém uma coluna de número do cheque.
END

OPEN %v_tabela_pagamentos%
AGE ON data_pagamento CUTOFF 20141231 INTERVAL 0;30;60;90;120;10000 SUBTOTAL
Valor_pagamento TO r_saída
CLOSE %v_tabela_pagamentos%

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 876 de 966


Comandos

FIELD
Define um campo que o usuário seleciona como entrada para a análise.
O campo deve fazer parte de uma tabela definida na tag TABLE precedente. A primeira tag FIELD deve vir
imediatamente após uma tag TABLE e pode ser seguida por tags FIELD adicionais digitadas em linhas
sequenciais.
Nota
A tag TABLE exige que uma tabela já exista no local de armazenamento para ficar dis-
ponível para seleção. Para obter mais informações, consulte "DATA" Na página 894.

Sintaxe
//FIELD id tipo nome
<descrição>

Parâmetros
Nome Descrição

id A variável que armazena o nome do campo de entrada selecionado pelo usuário. Use
esse valor no script de análise para referenciar o campo.

tipo Os tipos de campos que podem ser selecionados. Qualquer tipo, ou combinação de
tipos, da lista a seguir pode ser selecionado:
o C – dados de caracteres
o N – dados numéricos
o D – subtipo data, datahora ou hora de dados datahora
o L – dados lógicos
Todos os campos calculados da tabela podem ser selecionados independente do tipo
especificado.

nome O nome a ser associado com o campo.


O valor é exibido nos aplicativos cliente quando o usuário é solicitado a selecionar o
campo.

descrição Texto descritivo que especifica o propósito do campo. A descrição pode conter diversas
linhas, mas não pode pular nenhuma.
opcional
O valor é exibido nos aplicativos cliente quando o usuário é solicitado a selecionar o
campo. A descrição pode solicitar ao usuário que selecione o campo correto. Por exem-
plo, "Selecione o campo que contém o valor do pagamento".
A descrição deve ser digitada na linha abaixo da tag FIELD associada.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 877 de 966


Comandos

Exemplos
Exemplos básicos
Especifica um campo de caracteres:

//FIELD v_nome C Campo Nome

Especifica um campo de caracteres ou numérico:

//FIELD v_num_fat CN Número da fatura

Exemplos avançados
TABLE com duas tags FIELD anexas
O cabeçalho da análise a seguir permite que o usuário especifique dois campos de entrada da tabela v_
tabela_pagamentos durante a execução do script:

COMMENT
//ANALYTIC análise de teste
//TABLE v_tabela_pagamentos Tabela de Pagamentos
Selecione uma tabela que exibe os pagamentos e contém uma coluna de número do cheque.
//FIELD v_num_cheque CN Campo do Número do Cheque
//FIELD v_data_pagamento D Campo Data do Pagamento
Selecione a coluna que contém a data de pagamento do cheque.
END

OPEN %v_tabela_pagamentos%
EXTRACT FIELDS %v_num_cheque%, %v_data_pagamento% TO t_análise

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 878 de 966


Comandos

PARAM
Cria um parâmetro de entrada para uma análise e define os requisitos para o valor de entrada.
Um parâmetro de entrada é um espaço reservado que permite que o usuário especifique o valor real
quando agenda ou executa uma análise.

Sintaxe
//PARAM id tipo <OPTIONAL> <MULTI> <SEPARATOR valor> <QUALIFIER valor> <VALUES
lista_valores> rótulo
<descrição>

Parâmetros
Nome Descrição

id A variável que armazena os valores de entrada da análise selecionados ou espe-


cificados pelo usuário.
Por exemplo:
o v_data_inicial
o v_regioes
o v_arquivo_entrada
Serve também como identificador único do parâmetro.
Nota
Quando a análise é executada, a variável é criada apenas se o usuário
fornecer o valor de entrada. Se o parâmetro for opcional e o usuário não
o informar, a variável não será criada.
Se a lógica subsequente na análise exigir que a variável exista, você
poderá testar sua existência e, se ela não existir, criá-la e inicializá-la.
Para obter mais informações, consulte "Desenho de parâmetros de
entrada opcionais" Na página 886.

tipo O tipo de dados do parâmetro, que controla qual tipo de valor de entrada pode ser inse-
rido.
Os tipos a seguir podem ser especificados utilizando letras maiúsculas:
o C – dados de caracteres
o N – dados numéricos
o D – subtipo de data de dados datahora
o DT – subtipo de datahora de dados datahora
o T – subtipo de tempo de dados datahora
o L – dados lógicos

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 879 de 966


Comandos

Nome Descrição

Nota
Valores de entrada de caracteres qualificados são necessários para que
a análise execute corretamente.
Como PARAM... F funciona
Você também pode especificar que um utilitário de upload de arquivos, ou um nave-
gador de arquivos do Windows, abre:
o F – abre um utilitário de upload de arquivos ou navegador de arquivos do Windows e
permite que o usuário selecione um arquivo de entrada não Analytics para a análise
quando executado no Cliente Web AX ou na janela Aplicativo de análise
Na seleção, o nome do arquivo é inserido automaticamente como um valor de
entrada Caractere. Especifique somente F. Não especifique F C.
Por exemplo:

//PARAM v_arquivo_entrada F...

Para obter mais informações, consulte "Especificação ou seleção de um arquivo de


entrada não Analytics para uma análise" Na página 889.
Nota
Não é permitido usar um tipo de F em análises executadas no Robôs ou
no Cliente AX. Para especificar um arquivo de entrada para esses ambi-
entes, use a tag FILE. Para obter mais informações, consulte "FILE" Na
página 873.

OPTIONAL Especifica que o parâmetro é opcional e o usuário não é obrigado a digitar um valor.
opcional Para obter mais informações, consulte "Desenho de parâmetros de entrada opcionais"
Na página 886.

MULTI Especifica que o parâmetro aceita múltiplos valores de entrada.


opcional MULTI pode ser usado com ou sem a opção VALUES:

MULTI O usuário pode selecionar um ou mais valores de uma lista de valores.

VALUES

MULTI O usuário pode inserir manualmente um ou mais valores.

VALUES

Para obter mais informações, consulte "Resumo de opções MULTI e VALUES" Na


página 887.
MULTI não pode ser usado se tipo é L (lógico).
Valores de entrada de vários caracteres
Se você especificar MULTI e tipo for C (caractere), você também pode especificar as
opções SEPARATOR e QUALIFIER para inserir automaticamente separadores (deli-
mitadores) e qualificadores de texto em uma cadeia de valores de entrada.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 880 de 966


Comandos

Nome Descrição

Nota
Valores de entrada de vários caracteres delimitados e qualificados são
necessários para que a análise execute corretamente. Os separadores e
qualificadores podem ser inseridos automaticamente ou manualmente
pelo usuário.

SEPARATOR valor SEPARATOR pode ser usado apenas quando MULTI é especificado e tipo é C (carac-
tere).
opcional
Especifica que o caractere separador seja automaticamente inserido entre múltiplos valo-
res de entrada de caracteres, criando uma lista delimitada passada à análise para pro-
cessamento.
valor especifica o caractere separador a ser utilizado. Um separador ou delimitador nor-
malmente utilizado é a vírgula ,.
Se SEPARATOR for omitido, é utilizado o espaço simples como separador por padrão. O
caractere de espaço não pode ser especificado como valor.
Para obter mais informações, consulte "Delimitação e qualificação dos valores de
entrada em caracteres" Na página 887.

QUALIFIER valor QUALIFIER pode ser usado apenas quando MULTI é especificado e tipo é C (caractere).
opcional Especifica que o caractere qualificador de texto seja automaticamente inserido no início
e fim de cada valor de entrada de caracteres na lista delimitada passada para a análise
para processamento. Qualquer texto dentro dos caracteres qualificadores é tratado como
texto simples.
valor especifica o caractere de qualificador a ser usado. Um qualificador normalmente uti-
lizado é o apóstrofo '.
Se QUALIFIER é omitido, não é usado um qualificador padrão. Não é possível espe-
cificar um caractere de espaço como valor.
Para obter mais informações, consulte "Delimitação e qualificação dos valores de
entrada em caracteres" Na página 887.
Nota
Os parâmetros de entrada das análises atualmente não suportam o uso
de aspas duplas (") como qualificador de texto. Em vez disso, é possível
usar apóstrofos ('). A especificação das aspas duplas causará o fun-
cionamento incorreto da tag PARAM.

VALUES lista_valores Uma lista de valores que o usuário pode selecionar durante a execução da análise.
opcional Utilize a sintaxe a seguir para especificar os valores:

VALUES |Valor 1|Valor 2|Valor 3|Valor n|

VALUES pode ser usado com ou sem a opção MULTI:

VALUES O usuário pode selecionar um ou mais valores da lista de valores.

MULTI

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 881 de 966


Comandos

Nome Descrição

VALUES O usuário pode selecionar um único valor da lista de valores.

MULTI

Para obter mais informações, consulte "Resumo de opções MULTI e VALUES" Na


página 887.
Formato dos valores em lista_valores

Valores de o podem conter espaços e pontuação


caracteres

o podem ser positivos ou negativos


o devem ser especificados usando notação decimal e sem separador de
milhares
Valores numé-
ricos Por exemplo, 1500,00 ou -1500,00

o Data: deve ser especificada usando o formato MM/DD/AAAA


Por exemplo, 12/31/2014
o Datahora: deve ser especificada usando o formato MM/DD/YYYY
hh:mm:ss

Por exemplo, 12/31/2014 23:59:59


o Hora: deve ser especificada usando o formato hh:mm:ss
Valores data-
hora Por exemplo, 23:59:59

Valores lógi- VALUES não pode ser usado se tipo é L (lógico)


cos

rótulo O rótulo de interface do usuário para o parâmetro.


Em aplicativos cliente, rótulo é exibido com o campo de entrada.

descrição Texto descritivo que fornece informações adicionais sobre o parâmetro.


opcional Em aplicativos cliente, descrição é exibida com o campo de entrada.
descrição pode fornecer instruções que ajudam o usuário. Por exemplo, "Digite a data
de limite do período da folha de pagamento".
descrição deve ser inserida na próxima linha após a tag PARAM associada. O texto
pode conter várias linhas, mas não pode pular nenhuma. As quebras de linha não são
preservadas quando exibidas em aplicativos cliente.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 882 de 966


Comandos

Exemplos
Exemplos básicos
Permite que o usuário especifique opcionalmente um intervalo de datas:

//PARAM v_data_inicial D OPTIONAL Data Inicial (opcional)


Insira a data inicial da análise
//PARAM v_data_final D OPTIONAL Data Final (opcional)
Insira a data final da análise

Exige que o usuário selecione um número máximo de transações a processar:

//PARAM v_transMax N VALUES |250|500|750|1000| Máximo de transações a processar

Exige que o usuário especifique um ou mais códigos de categoria de comerciante:

//PARAM v_códigos C MULTI SEPARATOR , QUALIFIER ' Códigos CM a incluir


Especifique um ou mais códigos de categoria de comerciante. Pressione "Enter" após cada código
para dispor os códigos em linhas separadas. Não coloque os códigos entre aspas.

Exige que o usuário selecione um ou mais códigos de categoria de comerciante:

//PARAM v_códigos C MULTI SEPARATOR , QUALIFIER ' VALUES |4121 Táxis/Limusines|5812


Restaurantes|5813 Bares - Bebidas Alcoólicas|5814 Restaurantes de fast food| Códigos de CM a
incluir
Selecione um ou mais códigos de categoria de comerciante.

Exemplos avançados
Exigir que o usuário especifique um intervalo de quantidade
Você precisa classificar os registros em uma tabela que estão em um intervalo entre um valor mínimo e
máximo. Esse intervalo muda ocasionalmente. Portanto, você oferece parâmetros de entrada para permitir
que o usuário que executa a análise defina o intervalo ao agendar ou executar o script:

COMMENT
//ANALYTIC análise_teste
//PARAM v_quantidade_min N Quantidade Mínima
Insira uma quantidade mínima

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 883 de 966


Comandos

//PARAM v_quantidade_max N Quantidade Máxima


Insira uma quantidade máxima
END

CLASSIFY ON %v_CampoA% IF BETWEEN(AMOUNT; v_quantidade_min; v_quantidade_max)


SUBTOTAL AMOUNT TO "Classificada_%v_TabelaAnalise%.FIL"

Permitir que o usuário exclua opcionalmente um ou mais números de cli-


entes
Você precisa classificar os registros de uma tabela, mas quer que o usuário tenha a opção de excluir
alguns clientes da análise.
Para isso, você oferece um parâmetro de caracteres opcional. O script verifica se o valor foi fornecido e,
caso afirmativo, exclui os números de cliente informados nesse valor do comando de classificação:

COMMENT
//ANALYTIC análise_teste
//PARAM v_num_cliente C OPTIONAL MULTI SEPARATOR , QUALIFIER ' Números de clientes a
excluir (opcional)
Especifique um ou mais números de cliente. Pressione "Enter" após cada número para dispor os
números em linhas separadas. Não coloque os números entre aspas.
END

IF FTYPE(“v_num_cliente") = "U" v_num_cliente = ""


GROUP IF v_num_cliente = ""
CLASSIFY ON %v_CampoA% SUBTOTAL AMOUNT TO "Classificada_%v_TabelaAnalise%.FIL"
ELSE
CLASSIFY ON %v_CampoA% IF NOT MATCH(NUMCLIENTE; %v_num_cliente%) SUBTOTAL
VALOR TO "Classificada_%v_TabelaAnalise%.FIL"
END

Permitir que o usuário selecione um arquivo de entrada (apenas para o Cli-


ente Web AX ou a janela Aplicativo de análise)
Você está distribuindo um aplicativo de análise aos seus colegas. Eles executarão esse aplicativo na
janela Aplicativo de análise. Quando eles executarem o script de análise no aplicativo, você quer que o
script disponibilize um navegador de arquivos do Windows para selecionar um arquivo Microsoft Excel de
onde os dados serão importados:

COMMENT
//ANALYTIC análise_teste
//PARAM v_arquivo_entrada F Arquivo de entrada

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 884 de 966


Comandos

Selecione um arquivo de entrada


END

IMPORT EXCEL TO Trans_Maio_bruta Trans_Maio_bruta.fil FROM "%v_arquivo_entrada%" TABLE


"Trans2_Maio$" CHARMAX 100 KEEPTITLE

Exigir que o usuário especifique um caminho e nome do arquivo de entrada


(apenas para a janela Aplicativo de análise)
Você está distribuindo um aplicativo de análise aos seus colegas. Eles executarão esse aplicativo na janela
Aplicativo de análise. Quando o script de análise for executado no aplicativo, você quer permitir que eles
especifiquem um caminho e nome de arquivo para uso como arquivo de importação:

COMMENT
//ANALYTIC análise_teste
//PARAM v_arquivo_entrada C Nome e caminho do arquivo de entrada
Insira um caminho e nome de arquivo absolutos Por exemplo, C:\U-
suários\nomedousuario\Documentos\ACL Data\Arquivos de dados da amostra\ Trans_Maio.xls
END

IMPORT EXCEL TO Trans_Maio_bruta Trans_Maio_bruta.fil FROM "%v_arquivo_entrada%" TABLE


"Trans2_Maio$" CHARMAX 100 KEEPTITLE

Uso dos valores padrão para parâmetros opcionais


Você está criando uma análise que extrai registros de transação para uma tabela de resultados. Você quer
dar ao usuário que executa o script a opção de fornecer um intervalo de datas, bem como uma lista das enti-
dades para filtrar os registros a extrair.
Para isso, você cria três parâmetros opcionais:
l v_data_inicial
l v_data_final
l v_lista_entidade
Nas linhas de abertura do script, você testa se esses valores estão definidos. Se não estiverem, você define
os valores de data mínima e máxima, bem como um sinalizador padrão para testar v_lista_entidade.
Em seu comando EXTRACT, você usa os valores para filtrar os registros:

COMMENT
//ANALYTIC teste
Esta análise testa PARAM
//RESULT TABLE t_resultados
//PARAM v_data_inicial D OPTIONAL Insira a data inicial

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 885 de 966


Comandos

//PARAM v_data_final D OPTIONAL Insira a data final


//PARAM lista_entidade C MULTI OPTIONAL |entidade1|entidade2|
END

IF NOT ISDEFINED("v_data_inicial") v_data_inicial = `19000101`


IF NOT ISDEFINED("v_data_final") v_data_final = `99991231`
IF NOT ISDEFINED("v_lista_entidade") v_lista_entidade = "'todas'"

EXTRACT FIELDS ALL TO t_resultados IF BETWEEN(data_transação v_data_inicial v_data_final)


AND (MATCH(campo_entidade %v_lista_entidade%) OR v_lista_entidade = "'todas'")

Observações
Desenho de parâmetros de entrada opcionais
Se você usar OPTIONAL com a tag PARAM, a variável associada ao parâmetro de entrada de análise
pode ou não ser criada quando a análise é executada:
l variável criada automaticamente: se o usuário especifica um valor de entrada
l variável não criada: se o usuário não informar o parâmetro opcional e não especificar um valor de
entrada

Testar a existência da variável de parâmetro


Se a lógica subsequente na análise depender da avaliação do conteúdo da variável do parâmetro, inclu-
indo a avaliação de um estado vazio ou nulo, é preciso testar pela existência da variável do parâmetro. Se
a variável de parâmetro não existir, você precisará criá-la e inicializá-la como nulos.
Use o comando IF com a função FTYPE( ) ou a função ISDEFINED( ) para executar o teste e criar a vari-
ável, se ainda não existir:

IF FTYPE("nome_var") = "U" nome_var = ""

IF NOT ISDEFINED("nome_var") nome_var = ""

Quando executar o teste


Execute o teste após o cabeçalho de análise e antes de qualquer lógica de script do Analytics que
depende da existência da variável do parâmetro.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 886 de 966


Comandos

Resumo de opções MULTI e VALUES


A tabela abaixo resume o efeito das opções MULTI e VALUES no controle de entrada do usuário na inter-
face do usuário.

Projeto de parâ-
Controle de entrada do usuário (Robôs) metros MULTI VALUES

Um único valor de
entrada informado
manualmente em
um campo

Um ou mais valo-
res de entrada
informados manu-
almente em um
campo

Um único valor de
entrada sele-
cionado de uma
lista suspensa de
valores

Um ou mais valo-
res de entrada
selecionados de
uma lista de valo-
res

Delimitação e qualificação dos valores de entrada em carac-


teres
Para que uma análise seja executada corretamente, os valores de entrada de caracteres devem ser deli-
mitados por um separador, se houver mais de um valor, e os valores devem ser qualificados.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 887 de 966


Comandos

Evite qualificadores de texto aninhados


Ao criar parâmetros de entrada de caracteres, e ao instruir o usuário da análise sobre como informar os
valores de entrada de caracteres, é preciso cuidado para evitar a criação de qualificadores de texto redun-
dantes ou aninhados (qualificadores dentro de qualificadores). O qualificadores de texto redundantes cau-
sarão o funcionamento incorreto do parâmetro de entrada.

Métodos para inserção de qualificadores de texto


Há quatro métodos diferentes disponíveis para colocar valores de entrada de caracteres entre qua-
lificadores de texto. Dependendo do método, o separador também é inserido entre os valores de entrada.
Durante o desenvolvimento de uma análise, pode ser necessário experimentar diferentes métodos para
encontrar o que funciona melhor para os valores de caracteres que serão inseridos pelos usuários.
Nota
Um ou mais dos métodos podem não se aplicar, dependendo de como as opções MULTI
e VALUES estão sendo utilizadas.
Cada valor de entrada deve usar apenas um desses métodos.

Use SEPARATOR e Inclua as opções SEPARATOR e QUALIFIER na tag PARAM.


QUALIFIER
Por exemplo:

//PARAM v_regioes C MULTI SEPARATOR , QUALIFIER '

Não aplicável se VALUES for utilizado sem MULTI.


Dica
Utilize este método sempre que possível. Ele é o menos trabalho e
1 menos sujeito a erros.

Especificação manual dos Exija que o usuário da análise especifique manualmente os separadores e qua-
separadores e qua- lificadores, além dos valores de entrada.
lificadores
Por exemplo:

'América do Norte','Europa','Ásia'

2 Não aplicável se VALUES for utilizado, com ou sem MULTI.

Inclusão dos qua- Inclua os qualificadores junto a cada valor na lista_valores especificada na
lificadores na lista_valores opção VALUES.
Por exemplo:

VALUES |'Ásia'|'Europa'|'Oriente Médio'|'América do Norte'|

3 Não aplicável se MULTI for utilizado sem VALUES.

4 Envolvimento da variável Na sintaxe do script do Analytics, cerque a variável do parâmetro com os qua-

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 888 de 966


Comandos

do parâmetro pelos qua- lificadores de texto.


lificadores
Por exemplo:

IF MATCH(REGIONS; "%v_regioes%")

Utilize este método apenas se estiver usando VALUES sem MULTI.

Nota
Os parâmetros de entrada das análises atualmente não suportam o uso de aspas duplas (")
como qualificador de texto. Em vez disso, é possível usar apóstrofos (') com a opção
QUALIFIER na lista_valores ou ao especificar manualmente qualificadores em torno dos valo-
res de entrada. As aspas duplas podem ser usadas como qualificadores de texto no corpo do
script do Analytics.

Quando usar métodos diferentes


A tabela abaixo resume quando utilizar os diferentes métodos de inserção de qualificadores de texto.

MULTI MULTI MULTI


VALUES VALUES VALUES

Método 1 Se usado, não use o Não aplicável Se usado, não use o


método 2 método 3
Uso das opções SEPARATOR e
QUALIFIER

Método 2 Se usado, não use o Não aplicável Não aplicável


método 1
Especificação manual dos separadores e
qualificadores

Método 3 Não aplicável Se usado, não use o Se usado, não use o


método 4 método 1
Inclusão dos qualificadores na lista_valo-
res

Método 4 Não utilize Se usado, não use o Não utilize


método 3
Envolvimento da variável do parâmetro
pelos qualificadores

Especificação ou seleção de um arquivo de entrada não


Analytics para uma análise
A tabela abaixo resume os métodos diferentes para especificar ou selecionar um arquivo de entrada não
Analytics para uma análise. O método escolhido depende parcialmente de que aplicativo cliente será usado
para executar a análise.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 889 de 966


Comandos

A janela
Aplicativo
Cliente Cliente de aná-
Método Detalhes Robôs AX Web AX lise

Tag PARAM o O usuário do Cliente Web AX seleciona o


com tipo 'F' arquivo de entrada usando um utilitário de
upload de arquivos
O nome do arquivo é especificado auto-
maticamente como o valor de entrada da aná-
lise. O upload do arquivo é executado
automaticamente para a subpasta Arquivos rela-
cionados adequada no Servidor AX.
o O usuário da janela Aplicativo de análise sele-
ciona o arquivo de entrada usando o navegador
de arquivos do Windows
O caminho e nome do arquivo são especificados
automaticamente como valor de entrada da aná-
lise.
Esse método é a melhor opção, pois combina fle-
xibilidade, facilidade de uso e precisão.

Tag PARAM O usuário especifica manualmente um caminho e


com tipo 'C' nome do arquivo de entrada como um valor de
entrada da análise.
Este método oferece flexibilidade porque o caminho
e o nome do arquivo não são especificados ante-
cipadamente. No entanto, é trabalhoso e propenso
a erros, pois exige que o usuário informe manu-
almente esses valores.

tag FILE o Robôs: o arquivo de entrada deve estar loca-


lizado na guia Entrada/Saída no robô
(Para obter o Cliente AX, Cliente Web AX: o arquivo de
mais infor-
entrada deve estar localizado na subpasta Arqui-
mações, con-
vos relacionados adequado no Servidor AX
sulte "FILE"
Na
página 873)

Caminho e Esse método evita o uso da tag PARAM. No


nome do entanto, é o método menos flexível. Em cada com-
arquivo de putador onde a análise é executada, o usuário deve
entrada codi- verificar se o arquivo de entrada contém um cami-
ficados na nho e um nome de arquivo idênticos aos espe-
análise cificados na análise.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 890 de 966


Comandos

PASSWORD
Cria um parâmetro de entrada de senha para uma análise. O parâmetro fornece armazenamento crip-
tografado da senha para uso subsequente em um comando do ACLScript.
O usuário é solicitado a especificar o valor de senha necessário quando agenda ou inicia uma análise para
que não seja necessária a intervenção do usuário durante a execução da análise.

Sintaxe
//PASSWORD índice nome
< description>

Parâmetros
Nome Descrição

índice O identificador numérico associado à senha. O valor deve estar entre 1 e 10.

nome O rótulo para a solicitação de senha. nome exibido no aplicativo cliente quando o apli-
cativo solicita que o usuário digite uma senha.

descrição Texto descritivo sobre a senha obrigatória ou outras informações.


opcional A descrição pode conter diversas linhas, mas não pode pular nenhuma. A descrição
deve ser digitada na linha abaixo da tag PASSWORD associada.

Exemplos
Crie um parâmetro de entrada de senha para uma consulta SAP via Direct
Link
O cabeçalho de análise especifica um parâmetro de entrada de senha que solicita que o usuário insira uma
senha do SAP. A senha armazenada é usada no comando RETRIEVE subsequente no corpo do script.

COMMENT
//ANALYTIC Exemplo de senha do SAP
//PASSWORD 1 SAP Senha:
//DATA RSADMIN

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 891 de 966


Comandos

END
SET SAFETY OFF
RETRIEVE RSADMIN PASSWORD 1
OPEN RSADMIN
SET SAFETY ON

Nota
O parâmetro de entrada de senha e o parâmetro de senha no comando RETRIEVE são
vinculados usando o mesmo identificador numérico:

//PASSWORD 1 SAP Senha:


,
,
,
RETRIEVE RSADMIN PASSWORD 1

Crie um parâmetro de entrada de senha para uma exportação para o Resul-


tados
O cabeçalho de análise especifica um parâmetro de entrada de senha que solicita que o usuário insira
uma senha do HighBond. A senha armazenada é usada no comando EXPORT subsequente no corpo do
script.

COMMENT
//ANALYTIC Exemplo de senha do HighBond
//PASSWORD 3 Senha do HighBond:
END
SET SAFETY OFF
OPEN Exceções_CR
EXPORT FIELDS Sem Data de Vencimento Ref Tipo de Valor ACLGRC PASSWORD 3 TO
"10926@us"
SET SAFETY ON

Observações
Armazenamento e criptografia de senha
Os valores das senhas são associados a usuários individuais e são criptografados quando ociosos. As
senhas permanecem seguras durante todo o processamento da análise e são criptografadas em arqui-
vos temporários criados no ambiente de implantação.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 892 de 966


Comandos

Teste no Analytics
Se você testar uma análise com uma ou mais tags PASSWORD no Analytics, ele gerará automaticamente
um comando PASSWORD e solicitará que você insira a senha adequada. Esse comando gerado auto-
maticamente evita a necessidade de inserir comandos PASSWORD na parte do script da análise para fins
de testes e sua posterior remoção antes de entregar a análise aos usuários.
O comando PASSWORD gerado automaticamente é salvo em um log sem o valor da senha.
Os valores de senha não são salvos durante a execução de uma análise no Analytics. Portanto, é neces-
sário especificar a senha ou as senhas em todas as execuções da análise, inclusive quando executando ou
percorrendo a análise passo a passo a partir da posição do cursor.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 893 de 966


Comandos

DATA
Especifica que a tabela do Analytics gerada pela análise é copiada para a subpasta de dados (um local de
armazenamento) no ambiente de implantação.
Tipicamente, as tabelas do Analytics são armazenadas para que possam ser usadas como tabelas de
entrada nas análises subsequentes.
Nota
A Professional Edition do ACL Robotics não inclui um local de armazenamento para tabe-
las do Analytics. A tag //DATA é ignorada em uma análise executada na Professional Edi-
tion.
Se você precisar dos recursos de armazenamento, poderá fazer upgrade para a Enter-
prise Edition.

Sintaxe
//DATA nome

Parâmetros
Nome Descrição

nome O nome da tabela do Analytics a ser armazenada. O valor de nome não pode conter
espaços.
Nota
O valor de nome deve corresponder exatamente ao nome da tabela de
saída do Analytics no script de análise. Você não atribui um nome a
uma tabela com o valor de nome, mas corresponde esse valor a um
nome especificado no script.
Você deve especificar o nome da tabela e não o nome do arquivo de dados de origem.
Correto:

//DATA Verificacoes_Faltantes

Incorreto:

//DATA Verificacoes_Faltantes.fil

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 894 de 966


Comandos

Nome Descrição

Nota
Qualquer tabela do Analytics existente com o mesmo nome do valor
especificado será sobrescrita.

Caracteres curinga
Você poderá usar caracteres curinga no nome se alguma parte do nome da tabela for
passível de alteração. Por exemplo, se o nome da tabela depender do mês (faturas-jan,
faturas-fev, etc.), a especificação de invoices-* garantirá que a tabela seja copiada para
a subpasta de dados, independentemente do sufixo do mês.
Você pode especificar um único caractere curinga para copiar todas as tabelas de
saída do Analytics no script de análise para a subpasta de dados:

//DATA *

Cuidado
Tenha cuidado ao usar caracteres curinga. Você poderá sobrescrever
acidentalmente tabelas de dados existentes se o padrão de curingas
que você especificar corresponder a tabelas diferentes das pretendidas.
Como prática recomendada, torne o valor de nome o mais específico
possível. Use caracteres curinga somente quando necessário.

Uploads para o Robôs


Para obter informações sobre uploads para o Robôs, consulte "Uploads para o módulo
do Robôs baseado na nuvem" Na página 897.

Exemplos
Cópia de uma tabela do Analytics para o local de armazenamento
O cabeçalho de análise a seguir especifica que a tabela Faturas, que é gerada no script associado, é copi-
ada para o local de armazenamento:

COMMENT
//ANALYTIC Tabela de importação
//DATA Faturas
END
IMPORT DELIMITED TO Faturas "Faturas.fil" FROM "Faturas.csv" 0 SEPARATOR "," QUALIFIER '"'
CONSECUTIVE STARTLINE 1 KEEPTITLE ALLCHAR ALLFIELDS

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 895 de 966


Comandos

Observações
Armazenamento de tabelas de saída
As tabelas de saída não são automaticamente copiadas para o local de armazenamento. Deve ser usada
uma tag DATA para cada tabela a ser armazenada. Múltiplas tags DATA podem ser incluídas em um
cabeçalho de análise, se necessário.

Quando devo usar a tag DATA?


Duas situações exigem o uso da tag DATA e o armazenamento de tabelas do Analytics:
l as tabelas de saída são usadas como entrada para scripts de análise subsequentes
l os usuários podem selecionar tabelas ou campos de entrada ao agendar uma análise ou executá-
la ad hoc
Nota
Se um processo completo de análise de dados for concluído usando um único script de
análise, não será necessário usar a tag DATA.
A tag DATA não foi criada para ser usada na especificação de tabelas de resultado. Para
isso, use a tag RESULT. Para obter mais informações, consulte "RESULT" Na
página 899.

As tabelas de saída são usadas como entrada para scripts de análise sub-
sequentes
Dependendo do ambiente de implantação e da estrutura dos scripts associados, pode ser necessário
usar a tag DATA para armazenar uma tabela de saída do Analytics que você quer usar em uma análise
posterior.
Durante o processamento da análise, o Robôs e o Servidor AX usam um diretório temporário para arma-
zenar e acessar as tabelas de saída do Analytics. Portanto, pode não ser necessário usar a tag DATA.
A tabela a seguir oferece orientações.

Ambiente de implan-
tação Use a tag DATA se... Não é preciso usar a tag DATA se...

Robôs o uma saída de tabela do Analytics em uma o uma tabela do Analytics é gerada e
tarefa de robô é necessária como entrada usada em seguida como entrada durante
(Somente Enterprise
em outra tarefa de robô uma sequência de scripts de análise exe-
Edition)
cutados em uma única tarefa de robô
o um processo completo de análise de
dados for concluído usando um único
script de análise

Servidor AX o uma tabela do Analytics gerada por um o um processo completo de análise de


script de análise é necessária como dados for concluído usando um único

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 896 de 966


Comandos

Ambiente de implan-
tação Use a tag DATA se... Não é preciso usar a tag DATA se...

entrada para outro script de análise script de análise

Janela Aplicativo de o uma tabela do Analytics gerada por um o um processo completo de análise de
análise script de análise é necessária como dados for concluído usando um único
entrada para outro script de análise script de análise

Usuários podem selecionar tabelas ou campos de entrada


As tags de análise TABLE e FIELD criam parâmetros de entrada que permitem que um usuário selecione
uma tabela do Analytics e selecione campos da tabela para uso como entrada em um script de análise. No
entanto, uma tabela deve existir previamente no local de armazenamento para ficar disponível para sele-
ção.
Se você estiver desenvolvendo uma análise que permite que um usuário escolha uma ou mais tabelas e
campos de entrada, será necessário executar antes uma análise com a tag DATA e salvar a tabela ou as
tabelas apropriadas no local de armazenamento.

Localize tabelas de saída na seção Tabelas de origem no


Robôs
Opcionalmente, você pode adicionar o prefixo src_ a um nome de tabela de saída para localizá-la na seção
Tabelas de origem da guia Entrada/Saída no Robôs.

//DATA src_Faturas

É preciso adicionar o prefixo ao nome da tabela na tag //DATA e no script que a acompanha.
A seção Tabelas de origem permite que você separe visualmente as tabelas que geram entrada para os
scripts subsequentes. Se nenhum nome de tabela de saída tiver o prefixo src_, a seção Tabelas de origem
não será exibida na guia Entrada/Saída e todas as tabelas estarão localizadas por padrão na seção Outras
tabelas .

Uploads para o módulo do Robôs baseado na nuvem


Com scripts de análises executados em instalações do Robôs, a especificação de DATA faz upload apenas
do layout da tabela (nome do campo, tipo de dados, comprimento do campo) do Agente do Robôs no local
para o módulo Robôs baseado em nuvem no HighBond. Os dados das tabelas permanecem na rede da
organização, dentro do diretório do Agente do Robôs.
Todas as informações em trânsito são criptografadas.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 897 de 966


Comandos

Sobrescrita de tabelas vinculadas ou compartilhadas no


Servidor AX
Se uma tabela de saída sobrescrever uma tabela vinculada ou compartilhada no Servidor AX, a tabela
será alterada para uma tabela independente.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 898 de 966


Comandos

RESULT
Especifica os resultados de saída da análise que você quer disponibilizar aos usuários finais em aplicativos
cliente.
Os resultados de saída, mesmo quando existentes, não são automaticamente disponibilizados. Deve ser
usada uma tag RESULT separada para cada item de resultado a disponibilizar.

Sintaxe
//RESULT tipo nome
<description>

Parâmetros
Nome Descrição

tipo O tipo do item de resultado:


o TABLE – uma tabela do Analytics e o arquivo de dados associado (.fil)
o LOG – um arquivo de log de análise.
o FILE – um arquivo não Analytics
Para obter informações sobre uploads para o Robôs, consulte "Uploads para o módulo
do Robôs baseado na nuvem" Na página 901.

nome O nome do item de resultado. O valor nome não pode conter espaços.
Nota
O valor de nome deve corresponder exatamente ao nome do item de
resultado no script de análise. Você não atribui um item a uma tabela
com o valor de nome, mas corresponde esse valor a um nome espe-
cificado no script.

Nome da tabela
O valor de nome especifica um nome de tabela do Analytics. Você deve especificar o
nome da tabela e não o nome do arquivo de dados de origem.
Correto:

//RESULT TABLE Verificacoes_Faltantes

Incorreto:

//RESULT TABLE Verificacoes_Faltantes.fil

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 899 de 966


Comandos

Nome Descrição

Caracteres curinga
Você poderá usar caracteres curinga no nome se alguma parte do nome da tabela for
passível de alteração. Por exemplo, se o nome do arquivo depende do mês (faturas-
jan.xls, faturas-fev.xls, etc.), especificar faturas-*.xls garante que o arquivo seja dis-
ponibilizado nos resultados independente do sufixo do mês.

Nome do log
Opcional. O valor de nome especifica um nome de arquivo de log da análise. Se você
não especificar nome, será usado o nome de log padrão: nome_análise.log.
Nota
Se você especificar um nome de log, SET LOG TO nome_log deve apa-
recer no script.

Nome do arquivo
O valor de nome especifica um nome de arquivo não Analytics.
Você deve especificar a extensão de arquivo adequada para o tipo de arquivo não Analy-
tics sendo gerado.
Correto:

//RESULT FILE Cheques_Faltantes.xlsx

Incorreto:

//RESULT FILE Cheques_Faltantes

Caracteres curinga
Você pode usar caracteres curinga para todo o valor de nome ou parte dele para espe-
cificar todos os arquivos com uma determinada extensão (*.xlsx) ou para especificar
arquivos em que parte do nome do arquivo pode mudar.
Por exemplo, se o nome do arquivo depende do mês (faturas-jan.xlsx, faturas-fev.xlsx
etc.), especificar faturas-*.xlsx garante que o arquivo seja disponibilizado nos resultados
seja qual for o sufixo do mês.

descrição Texto descritivo sobre o resultado ou outras informações. A descrição pode conter diver-
sas linhas, mas não pode pular nenhuma.
opcional

Exemplos
Tag RESULT para uma tabela do Analytics:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 900 de 966


Comandos

//RESULT TABLE Verificacoes_Faltantes

Tag RESULT para um log de análise com o nome padrão:

//RESULT LOG

Tag RESULT para um log de análise com um nome especificado:

//RESULT LOG Nome_meu_log


,
,
,
SET LOG TO Nome_meu_log

Tag RESULT para um arquivo Excel específico:

//RESULT FILE Cheques_Faltantes.xlsx

Tag RESULT para todos os arquivos Excel:

//RESULT FILE *.xlsx

Observações
Uploads para o módulo do Robôs baseado na nuvem
Com scripts de análise executados em instalações do Robôs, a especificação de RESULT LOG ou
RESULT FILE carrega arquivos de log de análises ou arquivos não Analytics do Agente do Robôs no local
para o módulo do Robôs baseado na nuvem no HighBond.
Para obter mais informações sobre logs, consulte "Como os arquivos de log são gerados" abaixo.
A especificação de RESULT TABLE faz upload apenas do layout da tabela (nome do arquivo, tipo de
dados, comprimento do campo). Os dados da tabela de resultado permanecem na rede da organização,
dentro do diretório do Agente do Robôs.
Todas as informações em trânsito são criptografadas.

Como os arquivos de log são gerados


A forma como os arquivos de log são gerados depende de a execução do scripts ser bem ou mal-sucedida
e do ambiente em que o script é executado.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 901 de 966


Comandos

Script de
análise Agente do Robôs Servidor AX Janela Aplicativo de análise

o RESULT LOG especificado o RESULT LOG especificado o RESULT LOG especificado


arquivo de log carregado arquivo de log gerado no arquivo de log gerado na
para o módulo do Robôs Servidor AX (disponível em guia Resultados
baseado na nuvem aplicativos cliente) o RESULT LOG não espe-
o RESULT LOG não espe- o RESULT LOG não espe- cificado
cificado cificado
Concluída sem arquivo de log
com êxito sem arquivo de log sem arquivo de log

o Tag RESULT LOG não con- o Tag RESULT LOG não con- o Tag RESULT LOG não con-
siderada siderada siderada
l arquivo de log gerado
arquivo de log gerado auto- arquivo de log gerado auto-
automaticamente na
maticamente no Servidor AX maticamente na guia Resul-
pasta de dados básica do
(disponível em aplicativos cli- tados
Agente do Robôs
ente)
(definição da con-
figuração = "false")
l upload automático do
arquivo de log para o
módulo do Robôs base-
ado na nuvem
(definição de con-
figuração = "true"
(padrão))
Veja a definição de con-
figuração Uplo-
adLogsWhenFailed em
Configurando um Agente do
Falha Robôs.

Limitação de tamanho de arquivo de resultado no Servidor


AX
Para scripts de análise executados no Servidor AX, os arquivos de resultado estão limitados ao máximo
de 2 GB. Se o arquivo exceder esse tamanho, os resultados não serão salvos.

Armazenamento e disponibilidade do arquivo Resultado


durante a execução de script no Servidor AX
Quando você usa a tag //RESULT FILE, o arquivo criado é disponibilizado para download pelo Cliente
Web AX e pelo Cliente AX após a conclusão do script. O arquivo é armazenado no banco de dados do AX
e não está disponível no sistema de arquivos do Servidor AX quando o script não está em execução.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 902 de 966


Comandos

Durante a execução do script, o arquivo fica temporariamente disponível no sistema de arquivos do Ser-
vidor AX e você pode trabalhar com ele usando processos externos, como os invocados usando o
comando EXECUTE. Durante a execução do script, os processos externos podem acessar o arquivo na
subpasta da tarefa de análise.
Nota
Por padrão, as subpastas das tarefas de análise estão localizadas dentro de ACL\Da-
ta\jobs. Após a conclusão do script, a subpasta de tarefas de análise é removida e o
arquivo é armazenado no banco de dados.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 903 de 966


Comandos

PUBLISH
Especifica um arquivo contendo metadados que determinam as tabelas do Analytics que serão publi-
cadas para o AX Exception na conclusão do processamento da análise.

Sintaxe
//PUBLISH nome_arquivo

Parâmetros
Nome Descrição

nome_arquivo O nome do arquivo contendo os metadados de publicação para o AX Exception.

Exemplos
A definição de análise e o arquivo de texto que especifica os detalhes de
publicação da análise
A tag FILE é obrigatória se o arquivo de publicação estiver armazenado na pasta do AX, para que ele seja
recuperado quando a análise for processada.

COMMENT
//ANALYTIC Publicar resultados
//RESULT TABLE Resultados
//FILE ex_publicar.txt
//PUBLISH ex_publicar.txt
END
EXTRACT RECORD TO Resultados

O arquivo ex_publicacao.txt enviado para a subpasta Arquivos relacionados na coleção contém a


seguinte linha de texto. Os valores devem estar entre aspas e devem utilizar a seguinte sintaxe: "nome da
tabela","nome da entidade","nome da análise"

"Resultados","MinhaEntidade","MinhaAnálise"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 904 de 966


Comandos

Desenvolvimento de análises
Para facilitar a depuração e isolar erros, desenvolva o corpo do script antes de adicionar o cabeçalho de
análise. Após adicionar o cabeçalho de análise, use o arquivo de log e use valores de teste temporários
para testar a execução da análise. Por fim, implante a análise no ambiente de destino.
Nota
O fluxo de trabalho a seguir é uma sugestão de abordagem para o desenvolvimento de
análises. No entanto, você pode desenvolver as análises da maneira que for mais con-
veniente.

Fluxo de trabalho para criação e teste de um


script de análise
Crie o script do Analytics
Crie um script no Analytics sem usar nenhuma caixa de diálogo personalizada para obter entradas do usu-
ário, nem qualquer recurso que provoque a interação com o usuário durante a execução do script. O Analy-
tics permite entradas do usuário antes de executar uma análise. No entanto, ao contrário dos scripts, não
permite a interação com o usuário durante a execução da análise.
Para armazenar valores de entrada de teste no script do Analytics, crie temporariamente variáveis na parte
superior script:

ASSIGN v_TabelaAnalise = “Trans_Maio"

Teste e depure o script até que ele execute sem erros.

Adição do cabeçalho e das tags da análise


Adicione o cabeçalho da análise ao script. Copie os nomes das variáveis da parte superior do script para as
tags correspondentes no cabeçalho da análise:

//TABLE v_TabelaAnalise “Tabela a ser classificada"

Para obter mais informações, consulte "Adição de cabeçalhos de análise" Na página 909.

Inclusão do log nos resultados da análise


O log é uma ferramenta crucial para o diagnóstico de causas de falhas em análises, mas também pode ser
importante quando as análises executam com sucesso mas retornam resultados inesperados. O log é

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 905 de 966


Comandos

gerado automaticamente quando a análise falha. Se a análise é bem-sucedida, o log só é gerado se você
especifica a tag de análise RESULT.
Inclua a linha a seguir no cabeçalho de análise para garantir a disponibilização de um log toda vez que a
análise for executada:

//RESULT LOG

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


Valide o cabeçalho da análise. O cabeçalho da análise pode ser validado quantas vezes for desejado.
Para obter mais informações, consulte "Validação dos cabeçalhos de análise" Na página 910.

Atribua valores de teste temporários às tags de análise


Utilizando o operador de atribuição especial (:= ), atribua valores de teste temporários a todas as tags de
análise que solicitam entradas do usuário. Os valores de teste podem ser copiados das atribuições de vari-
áveis temporárias na parte superior do script:

//TABLE v_TabelaAnalise “Tabela a ser classificada" := “Trans_Maio"

Para obter mais informações sobre a atribuição de valores de teste temporários, consulte "Especificação
de valores de entrada de teste no Analytics" Na página 869.

Exclusão das variáveis temporárias


Exclua as variáveis temporárias do topo do script, ou as comente, se achar que pode utilizá-las nova-
mente.

Passo a passo pelo script


Execute um passo a passo pelo script clicando em Passo ou pressionando F10 repetidamente.
Revise o conteúdo da guia Variáveis no Navegador para garantir que todas as variáveis no cabeçalho da
análise sejam criadas corretamente, com a atribuição adequada de valores de teste.
Teste e depure o script até que ele seja executado sem erros.
Quando você concluir os testes, exclua os valores de teste temporários e o operador especial de atri-
buição de todas as tags de análise.
Nota
Para interromper a análise antes que ela complete, pressione Esc e clique em Sim no
aviso de confirmação.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 906 de 966


Comandos

Dica
É possível excluir todas as variáveis armazenadas e atribuições de variáveis do projeto do
Analytics inserindo DELETE ALL OK na linha de comando. A limpeza da guia Variáveis
antes do passo a passo da análise oferece um início mais transparente.

Fluxo de trabalho para teste de um aplicativo


de análise
Para análises que serão executadas no Cliente Web AX ou na janela Aplicativo de análise, também é
necessário testar o aplicativo de análise.

Exclusão dos layouts de tabela redundantes


Quando todas as análises e subscripts do aplicativo de análise estiverem testados, depurados e exe-
cutando corretamente, exclua todos os layouts de tabela do projeto do Analytics que não farão parte do apli-
cativo de análise.
Os layouts de tabela redundantes desorganizam o aplicativo de análise no Cliente AX, no Cliente Web AX e
na janela Aplicativo de análise e podem confundir os usuários finais.

Abertura do aplicativo de análise na janela Aplicativo de


análise
Abra o aplicativo de análise concluído na janela Aplicativo de análise clicando com o botão direito na
entrada do projeto do Analytics na guia Visão geral e selecionando Abrir como aplicativo de análise.
Nota
Se o aplicativo de análise não abrir e for exibida uma mensagem de erro informando a pre-
sença de outras análises com o mesmo nome, verifique o valor do nome na tag ANALYTIC
em todas as análises especificadas na mensagem de erro. Os valores de nome das aná-
lises devem ser únicos dentro do mesmo projeto do Analytics.

Execução das análises


Execute todas as análises do aplicativo de análise para confirmar que estão funcionando corretamente.
Observe a ordem correta de execução das análises, se estiver usando a opção TYPE da tag ANALYTIC e
criando análises de importação, preparação ou análise.

Verificação do log
Se a análise falhar, abra e analise o arquivo de log (nome_analise.log). O log deve incluir uma entrada, mar-
cada com um X vermelho, que indica o motivo da falha da análise:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 907 de 966


Comandos

l para valores de entrada inseridos incorretamente, reexecute imediatamente a análise com o valor
de entrada correto
l para erros de sintaxe ou lógicos no corpo do script, corrija o erro no Analytics e reabra o aplicativo
de análise na janela Aplicativo de análise
A análise pode obter sucesso na execução mas a tabela de resultados não conter os resultados espe-
rados. Nessa situação, avalie as entradas de log em sequência e verifique os valores de entrada pas-
sados à análise para se certificar que a análise está funcionando como pretendido.

Empacotamento e validação de um aplicativo


de análise
Empacotamento ou importação do aplicativo de análise
Quando estiver satisfeito que o aplicativo de análise funciona como pretendido, empacote-o para dis-
tribuição e uso na janela Aplicativo de análise ou importe-o para o Servidor AX para uso no Cliente AX ou
Cliente Web AX. Para obter mais informações, consulte "Empacotamento de aplicativos de análise" Na
página 919.

Execução de aplicativos de análise do Servidor AX


Ao desenvolver análises para uso no Servidor AX, execute todas as análises no Cliente AX e no Cliente
Web AX para garantir que funcionam como pretendido.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 908 de 966


Comandos

Adição de cabeçalhos de análise


O cabeçalho da análise consiste em uma série de tags analíticas incluídas em um comentário no início de
um script. O cabeçalho inclui parâmetros de entrada preenchidos antecipadamente pelo usuário para que a
análise possa executar sem intervenção manual imediatamente ou em um momento agendado.
Após desenvolver e testar os scripts no projeto do Analytics, é necessário adicionar um cabeçalho de aná-
lise antes de confirmar os scripts para o Robôs ou usar o projeto como um aplicativo de análise no Servidor
AX ou na janela Aplicativo de análise.

Requisitos do cabeçalho de análise


Um cabeçalho de análise deve cumprir alguns requisitos. Caso contrário, o script de análise falhará na exe-
cução.
Para obter informações detalhadas sobre a sintaxe do cabeçalho de análise e uma lista completa de tags
de análise, consulte "Cabeçalhos e das tags da análise" Na página 868.

Inclua os cabeçalhos de análise em um bloco de comen-


tários
Os cabeçalhos de análise devem ser definidos completamente em um bloco de comentários que começa
na primeira linha do script.

COMMENT
As tags de análise ficam aqui.
END

Declare entradas e saídas


É necessário declarar, no cabeçalho de análise, as entradas exigidas pela análise e as saídas a serem copi-
adas para o Robôs ou o Servidor AX ou gravadas como resultados na janela Aplicativo de análise:

Entradas Saídas

o tabelas o arquivos de dados


o campos o tabelas de resultados
o parâmetros o arquivos de log
o arquivos de entrada
o avisos de digitação de senha

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 909 de 966


Comandos

Declarar valores de entrada


Os cabeçalhos de análise também devem declarar todos os valores de entrada especificados pelo usu-
ário ao executar ou agendar a análise.
Utilize a tag PARAM para adicionar parâmetros de entrada que aceitam esses valores de entrada espe-
cificados pelo usuário e os armazenam em variáveis. Por exemplo, se você deseja que a análise sele-
cione dados com base em um intervalo de datas, é preciso adicionar parâmetros de Data Inicial e Data
Final que permitam aos usuários especificar essas datas.

Validação dos cabeçalhos de análise


Após adicionar um cabeçalho de análise a um ou mais scripts, use as ferramentas do Analytics para vali-
dar a sintaxe do cabeçalho para garantir que está correta. Execute a validação antes de confirmar scripts
para o Robôs ou empacotar aplicativos de análise para evitar que falhem na execução.
Uma ferramenta valida cabeçalhos de análise individuais por script. A outra ferramenta valida todos os
cabeçalhos de análise de um projeto de uma só vez. Os dois tipos de validação têm objetivos diferentes.

Validar um cabeçalho de análise individual


A validação de um cabeçalho de análise por script verifica a sintaxe de tags de análise individuais e relata
erros com os números de linha associados.
1. Abra o script que contém o cabeçalho da análise.
2. Na barra de ferramentas do Editor de script, clique em Validar cabeçalho de análise .
É exibida uma mensagem informando que o cabeçalho de análise é válido ou especificando um
erro e o número da linha em que o erro ocorre.
3. Se o cabeçalho de análise contiver um erro, corrija o erro e clique em Validar cabeçalho de aná-
lise novamente para garantir que não há mais erros.
Dica
Se o motivo do erro não estiver aparente com base apenas na mensagem de erro,
consulte o tópico de ajuda da tag de análise associada. Compare cuidadosamente
a sintaxe no tópico com a sintaxe na linha do cabeçalho de análise. Os erros podem
ser causados por discrepâncias pequenas na sintaxe do cabeçalho da análise.

Validar todos os cabeçalho de análise de um projeto


A validação de cabeçalhos de análise por projeto faz duas verificações:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 910 de 966


Comandos

l se existe pelo menos um cabeçalho de análise no projeto


l se os nomes das diversas análises são únicos
Nota
Faz referência ao nome especificado na tag ANALYTIC tag e não ao nome do script
na guia Visão geral no Navegador.
A validação por projeto é executada automaticamente quando você confirma scripts para o Robôs. Você

também poderá executar manualmente a validação se adicionar o botão Verificar scripts na barra de
ferramentas do Analytics.
1. Se necessário, adicione o botão Verificar scripts à barra de ferramentas do Analytics:
a. Clique duas vezes em uma parte vazia da barra de ferramentas para abrir a caixa de diálogo Per-
sonalizar barra de ferramentas .
b. Na lista Botões disponíveis da barra de ferramentas , selecione o botão Verificar scripts e clique
em Adicionar.
c. Na lista Botões atuais da barra de ferramentas , selecione o botão Verificar scripts e clique em
Mover para cima ou Mover para baixo para alterar a localização do botão.
A ordem dos botões de cima para baixo corresponde à sua localização da esquerda para a direita
na barra de ferramentas.
d. Clique em Fechar para salvar suas alterações.

2. Na barra de ferramentas, clique em Verificar scripts .


Uma mensagem é exibida informando que os cabeçalho de análise do projeto são válidos ou espe-
cificando um ou mais erros.

3. Se o cabeçalho de análise contiver um erro, corrija o erro e clique em Verificar scripts nova-
mente para garantir que não há mais erros.

Exemplo de cabeçalho da análise


COMMENT
//ANALYTIC Identificação de cheques perdidos
  Esta análise identifica números de cheques perdidos
//TABLE v_tabela_pagamentos Tabela de Pagamentos
  Selecione uma tabela que exibe os pagamentos e contém uma coluna de número do cheque
//FIELD v_num_cheque CN Número do Cheque
  Selecione o campo que contém os números de cheques
//PARAM v_data_inicial D OPTIONAL Data Inicial (opcional)
  Insira a data inicial da análise
//PARAM v_data_final D OPTIONAL Data Final (opcional)
  Insira a data final da análise
//PARAM v_região C MULTI SEPARATOR , QUALIFIER ' Região(ões)

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 911 de 966


Comandos

  Insira uma ou mais regiões para incluir na análise


//RESULT LOG
//RESULT TABLE ChequesPerdidos
//RESULT FILE DetalhesChequesPerdidos.xls
END

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 912 de 966


Comandos

Práticas recomendadas para o desen-


volvimento de análises
As análises oferecem suporte à maioria dos comandos que podem ser usados em um script do Analytics
normal. No entanto, você deve verificar se a análise pode ser executada sem interação com o usuário e não
inclui comandos não permitidos pelo mecanismo que processa as análises no ambiente de desen-
volvimento.
As análises oferecem suporte a todas as funções do Analytics.

Práticas recomendadas gerais


Use um projeto do Analytics por robô ou aplicativo de aná-
lise
Crie um novo projeto do Analytics no Analytics para cada robô ou aplicativo de análise. O projeto deve con-
ter todas as análises que compõem o robô ou o aplicativo de análise, bem como todos os subscripts neces-
sários. Para um aplicativo de análise, o projeto também deve conter todos os arquivos de dados exigidos
por qualquer uma das análises.

Teste localmente
Teste todas as análises localmente antes de implantá-las no ambiente de destino. Verifique se as análises
executam da forma esperada e se não exigem interação com o usuário.
Para obter mais informações, consulte "Desenvolvimento de análises" Na página 905.

Use conexões de dados consistentes para testes


Para testar localmente se uma análise usa uma origem de dados ODBC, você deve configurar uma cone-
xão ODBC no computador local idêntica à conexão do ambiente onde a análise será executada.
Para as análises distribuídas para uso na janela Aplicativo de análise, os usuários finais devem configurar
uma conexão ODBC idêntica em seus computadores.

Evite caminhos absolutos de arquivo


Evite usar caminhos de arquivo absolutos na análise (por exemplo, C:\resultados), a menos que você
tenha certeza de que caminhos de arquivo idênticos existam no ambiente onde a análise será executada.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 913 de 966


Comandos

O uso dos caminhos relativos de arquivos como \resultados permite o desenvolvimento e teste local
das análises e sua implantação em outro ambiente, sem exigir o outro ambiente tenha uma estrutura de
diretórios idêntica.

Use SET para definir preferências


Utilize o comando SET para especificar as configurações de preferências exigidas pela análise. Se não
forem especificadas preferências na análise, as preferências padrão do Analytics serão utilizadas. Posi-
cione o comando SET após o cabeçalho da análise e antes de qualquer lógica da análise.

Não use campos calculados em tabelas de resultados ou


dados
Não use campos calculados em nenhuma tabela que você pretenda manter além da sessão em que o
script de análise é executado.
As tabelas de resultados e dados mantidos para uso em interpretações ou como entrada para scripts sub-
sequentes poderão exibir valores inesperados se tiverem campos calculados. Os campos calculados
dependem das configurações definidas no arquivo de preferências (.prf) ou pelo comando SET. Por-
tanto, ambientes diferentes podem gerar valores diferentes.
Se você precisar manter os valores de um campo calculado, use o comando EXTRACT com as opções
FIELDS ou ALL para converter o campo em um campo físico em uma tabela de resultados ou dados.
Para obter mais informações, consulte "Comando EXTRACT" Na página 203.

Criptografe senhas de conexão de dados


Para evitar a presença de senhas de origens de dados em texto livre na análise, utilize a tag de análise
PASSWORD. Essa tag solicita ao usuário a senha antes da execução da análise e criptografa o valor
inserido.

Use uma senha para exportar/importar de/para o


HighBond
O parâmetro PASSWORD é obrigatório em qualquer comando que exporta/importa de/para o HighBond:
l IMPORT GRCRESULTS
l IMPORT GRCPROJECT
l EXPORT... ACLGRC
Sem o parâmetro PASSWORD, o comando falhará no Robôs, no Analytics Exchange ou na janela Apli-
cativo de análise.
Quando você usa o parâmetro PASSWORD em um script de análise, também precisa especificar um
parâmetro de entrada de senha associada no cabeçalho de análise. Para obter mais informações, con-
sulte "PASSWORD" Na página 891.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 914 de 966


Comandos

Nota
O parâmetro PASSWORD não é necessário na execução de comandos de importação e
exportação no Analytics porque o token de acesso do HighBond do usuário atual é usado
automaticamente.

Evite a interação do usuário


As análises devem ser executadas sem interação com o usuário. Se um comando em uma análise tentar
criar uma caixa de diálogo, o mecanismo do ambiente de implantação interromperá o processamento da
análise e uma mensagem de erro será inserida no log.

Substitua comandos de interação do usuário por tags de


análise
Não use comandos do Analytics que exigem interação com o usuário. Substitua esses comandos por tags
de análise equivalentes no cabeçalho de análise. As tags de análise permitem que os usuários forneçam
valores de entrada antes da execução da análise.

Não utilize Substituir por

DIALOG //TABLE, //FIELD, //PARAM

ACCEPT //TABLE, //FIELD, //PARAM

PASSWORD //PASSWORD

PAUSE sem equivalente

Diretrizes
l para evitar falhas no processamento de análises, remova todos os comandos interativos
l para garantir que os arquivos possam ser sobrescritos conforme necessário, sem exibir uma caixa
de diálogo de confirmação, inclua o comando SET SAFETY OFF no início da análise e adicione o
comando SET SAFETY ON no final da análise para restaurar o comportamento padrão
l para evitar que os diálogos de confirmação causem falha na análise, adicione o parâmetro OK após
todos os comandos que normalmente exibem caixas de diálogo:
l RENAME

l DELETE

Verificação da sintaxe do script


O Analytics oferece uma ferramenta para detectar sintaxe de script que causa falha nas análises ou que
exige alinhamento entre o ambiente local e o ambiente onde as análises são implantadas. A ferramenta se

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 915 de 966


Comandos

limita a emitir um aviso. Você pode confirmar ou importar scripts de análise que têm avisos.

O que a ferramenta verifica


A ferramenta verifica todos os scripts de um projeto e detecta três situações:
l qualquer comando que exija interação com o usuário
l qualquer caminho de arquivo absoluto
l qualquer chamada de um script externo
A ferramenta verifica todos os scripts de um projeto buscando os seguintes itens:
l qualquer comando que exija interação com o usuário
l qualquer caminho de arquivo absoluto
l qualquer chamada de um script externo
l qualquer comando que exporta/importa de/para o HighBond e não tem o parâmetro PASSWORD

Quando a verificação é executada


A verificação de sintaxe do script é executada automaticamente quando você confirma scripts para o
Robôs.
A verificação de sintaxe automática é ativada por padrão. Se você quiser desativá-la, selecione Desative
a verificação de sintaxe de scripts antes da confirmação de scripts na caixa de diálogo Opções (Fer-
ramentas > Opções > Interface).

Executar manualmente a verificação


Você pode executar manualmente a verificação de sintaxe do script. Antes, pode ser necessário adi-

cionar o botão Verificar scripts à barra de ferramentas do Analytics.


1. Se necessário, adicione o botão Verificar scripts à barra de ferramentas do Analytics:
a. Clique duas vezes em uma parte vazia da barra de ferramentas para abrir a caixa de diálogo Per-
sonalizar barra de ferramentas .
b. Na lista Botões disponíveis da barra de ferramentas , selecione o botão Verificar scripts e cli-
que em Adicionar.
c. Na lista Botões atuais da barra de ferramentas , selecione o botão Verificar scripts e clique em
Mover para cima ou Mover para baixo para alterar a localização do botão.
A ordem dos botões de cima para baixo corresponde à sua localização da esquerda para a
direita na barra de ferramentas.
d. Clique em Fechar para salvar suas alterações.

2. Na barra de ferramentas, clique em Verificar scripts .


Uma mensagem é exibida informando que a sintaxe do script no projeto é válida ou especificando
um ou mais avisos.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 916 de 966


Comandos

3. Execute uma das seguintes ações:

l Corrija toda a sintaxe de script que gera um aviso e clique em Verificar scripts novamente
para garantir que os avisos não são mais exibidos.
l Verifique se o ambiente de implantação contém uma estrutura de diretório ou scripts externos ali-
nhados aos caminhos ou scripts externos especificados na análise.

Práticas recomendadas para análises exe-


cutadas no Servidor AX
Desenvolva no Analytics
Desenvolva as análises e seus scripts de apoio preferencialmente no Analytics antes de importá-las para o
Servidor AX.
O editor de script do Cliente AX, como recurso de conveniência, permite a adição de novas análises ou
subscripts e edição de análises ou subscripts existentes. Esse recurso é útil para ajustes finos no com-
portamento da análise, sem que seja preciso exportá-la para o Analytics e reimportá-la no Servidor AX. No
entanto, o trabalho de desenvolvimento de análise além dos ajustes menores é mais fácil de realizar no
Analytics.

Armazene arquivos relacionados com o projeto do Analy-


tics
Os arquivos relacionados, como arquivos de perfis de bancos de dados, devem ser armazenados na
mesma pasta que o projeto do Analytics, mas devem ser importados separadamente para o Servidor AX.

Evite comandos não permitidos no Servidor AX


l tabelas de servidor de banco de dados direto vinculadas ao Analytics Edição de Servidor para z/OS
l o comando NOTIFY oferece suporte apenas ao envio de mensagens via SMTP. Os protocolos de e-
mail MAPI e VIM não são permitidos
l para usar os comandos PRINT ou TO PRINT, uma impressora padrão deve estar configurada no
servidor
l os comandos SAVE GRAPH e PRINT GRAPH não são permitidos
l não use o comando SET LEARN em análises

Minimize as transações de tabelas no Servidor AX


Otimize o desempenho das análises, minimizando o número de acessos às tabelas do Servidor AX:
1. Use o comando FILTER para selecionar os registros necessários.
2. Use o comando EXTRACT para extrair somente os campos necessários.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 917 de 966


Comandos

O conjunto de dados reduzido será processado localmente no servidor onde a análise está sendo exe-
cutada pelo Motor AX.
A otimização de análises dessa forma é importante quando os arquivos de dados não estão localizados
no mesmo servidor do Servidor AX ou do Nó do Motor AX que processa a análises e a opção Copiar
dados de análise não está selecionada no aplicativo web Configuração do Servidor AX.

Exemplo de análise ineficiente

OPEN TabelaGrande
SET FILTER TO data_trans >= `20091201` AND data_trans < `20100101`
COUNT
TOTAL valor
CLASSIFY ON conta ACCUMULATE valor TO ContaClasseTrans

Exemplo de análise eficiente

OPEN TabelaGrande
SET FILTER TO data_trans >= `20091201` AND data_trans < `20100101`
EXTRACT FIELDS data_trans desc conta tipo valor TO TabelaAnalise
OPEN TabelaAnalise
COUNT
TOTAL valor
CLASSIFY ON conta ACCUMULATE valor TO ContaClasseTrans

Acesse dados do SAP em modo de segundo plano


Utilize o modo de segundo plano para acessar os dados dos sistemas SAP ERP usando o Direct Link.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 918 de 966


Comandos

Empacotamento de aplicativos de aná-


lise
Para executar scripts de análise na janela Aplicativo de análise ou no Servidor AX, crie um aplicativo de
análise empacotado (arquivo .aclapp). Você pode empacotar um projeto do Analytics em um novo
arquivo .aclapp ou mesclar um projeto do Analytics com um aplicativo de análise existente (arquivo
.aclx) para incluir interpretações existentes.
Nota
Se ao menos um script em um projeto do Analytics contiver um cabeçalho de análise, o pro-
jeto pode ser empacotado como um aplicativo de análise. Antes de empacotar o aplicativo
de análise, certifique-se de validar os cabeçalhos de análise de todas as análises no apli-
cativo de análise.

Por que usar um aplicativo de análise empa-


cotado?
Distribuição para usuários da janela Aplicativo de análise
Use aplicativos de análise empacotados para distribuir um projeto a usuários que podem extrair o arquivo
.aclx e abrir o conteúdo na janela Aplicativo de análise.
Na janela Aplicativo de análise, você pode executar scripts de análise e criar interpretações com base em
tabelas e resultados de análises.

Importação para o Servidor AX


Use aplicativos de análise empacotados para preparar um projeto do Analytics para importação para o Ser-
vidor AX. Você pode escolher as tabelas e arquivos de dados a serem importados juntamente com os
scripts de análise para o projeto.
Você também pode usar um aplicativo de análise empacotado (.aclapp) para importar interpretações exis-
tentes. Para incluir as interpretações de um aplicativo de análise existente (.aclx), você deve empacotar
o projeto do Analytics novamente e mesclar esse aplicativo de análise empacotado (.aclapp) com o arquivo
.aclx existente na pasta do projeto.
Nota
Quando você usa um aplicativo de análise existente (arquivo .aclx), o conteúdo do projeto
do Analytics tem precedência. Portanto, se houver scripts ou tabelas no .aclx que não
existem mais no arquivo .acl, eles não serão incluídos no aplicativo de análise empa-
cotado resultante (arquivo .aclapp).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 919 de 966


Comandos

Limitação de tamanho de arquivo


Para usar um aplicativo de análise empacotado com sucesso, você deve garantir que a soma de todos os
tamanhos de arquivos incluídos no pacote não exceda 800 MB antes de empacotar o aplicativo de aná-
lise. Se seus arquivos pré-empacotados excederem esse tamanho combinado, os arquivos de dados
podem ser corrompidos ao desempacotar o aplicativo de análise.

Empacotamento de um novo aplicativo de


análise
1. No Analytics, clique com o botão direito do mouse na entrada do projeto na guia Visão geral do
Navegador e selecione Empacotar aplicativo de análise.
O projeto do Analytics é a pasta de nível superior na exibição em árvore.
2. Na caixa de diálogo Selecionar Tabelas , faça o seguinte:
a. Para incluir uma ou mais tabelas do projeto e os arquivos de dados associados no aplicativo de
análise, selecione as tabelas e os arquivos de dados a incluir.
Nota
Geralmente, apenas tabelas e arquivos de dados estáticos exigidos por uma ou
mais análises do aplicativo de análise devem ser incluídos, como uma tabela mes-
tre de fornecedores ou uma lista de códigos de categorias de comerciantes.
b. Clique em Para e navegue até a localização onde quer salvar o aplicativo de análise empa-
cotado.
c. Na caixa de diálogo Salvar como, insira um Nome do arquivo com a extensão de arquivo
.aclapp e clique em Salvar.
d. Clique em OK.
Resultado: O aplicativo de análise empacotado é salvo no local especificado. Os demais usuários podem
recuperar o aplicativo de análise empacotado desse local ou distribuí-lo por e-mail ou outro método apro-
priado. Também é possível importar esse arquivo no Servidor AX.

Empacotamento de um aplicativo de análise


com interpretações
1. Verifique se o aplicativo de análise (arquivo .aclx) que contém as interpretações que você quer
importar existe na pasta do projeto do Analytics no seu computador e usa o mesmo nome de
arquivo que o projeto do Analytics (arquivo .acl).

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 920 de 966


Comandos

2. No Analytics, clique com o botão direito do mouse na entrada do projeto na guia Visão geral do
Navegador e selecione Empacotar aplicativo de análise.
O projeto do Analytics é a pasta de nível superior na exibição em árvore.
3. Na caixa de diálogo Selecionar Tabelas , faça o seguinte:
a. Para incluir uma ou mais tabelas do projeto e os arquivos de dados associados no aplicativo de
análise, selecione as tabelas e os arquivos de dados a incluir.
Nota
Geralmente, apenas tabelas e arquivos de dados estáticos exigidos por uma ou
mais análises do aplicativo de análise devem ser incluídos, como uma tabela mes-
tre de fornecedores ou uma lista de códigos de categorias de comerciantes.
b. Opcional. Para incluir as interpretações do aplicativo de análise existente, selecione Incluir inter-
pretações .
Interpretações associadas a tabelas ou scripts que não existem no novo pacote não são incluídos.
c. Clique em Para e navegue até a localização onde quer salvar o aplicativo de análise empacotado.
d. Na caixa de diálogo Salvar como, insira um Nome do arquivo com a extensão de arquivo
.aclapp e clique em Salvar.
e. Clique em OK.
Resultado: O aplicativo de análise empacotado é salvo no local especificado. Os demais usuários podem
recuperar o aplicativo de análise empacotado desse local ou distribuí-lo por e-mail ou outro método apro-
priado. Também é possível importar esse arquivo no Servidor AX.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 921 de 966


Comandos

Amostras de scripts de análise (apli-


cativo de análise)
As amostras de scripts de análise contêm uma análise de importação (duas versões), uma análise de pre-
paração e uma análise analítica. Os scripts de análise podem ser executados em qualquer dos seguintes
ambientes ou aplicativos cliente:
l Robôs
l Servidor AX:
l Cliente AX

l Cliente Web AX

l A janela Aplicativo de análise

Sequência dos scripts de análise


As três análises foram projetadas para execução em conjunto e devem ser executadas na seguinte
sequência:

Sequência TIPO DE ANÁLISE Nome da análise

IMPORTAR Amostra de importação de análise Robots_AX


ou
1 Amostra de importação de análise Web_AA_Window

2 PREPARAR Análise de preparação de exemplo

3 ANÁLISE Análise analítica de exemplo

Amostra de análise de importação


Importa os dados do arquivo Excel de amostra Trans_Maio.xls e os salva na nova tabela do Analytics
Trans_Maio_bruta (a tabela de dados bruta).
São fornecidas duas versões dessa análise.

Nome da análise Use em Requisito do arquivo de importação

o Robôs o RobôsTrans_Maio.xls deve estar localizado na


o Cliente AX guia Entrada/Saída no mesmo robô da análise
o Cliente AX Trans_Maio.xls deve estar localizado
Amostra de importação de na subpasta Arquivos relacionados da pasta do AX
análise Robots_AX onde a análise está localizada

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 922 de 966


Comandos

Nome da análise Use em Requisito do arquivo de importação

o Cliente Web AX
Amostra de importação de o Janela Aplicativo de
análise Web_AA_Window análise

Amostra de análise de importação para uso no Robôs ou no


Cliente AX
COMMENT
//ANALYTIC TYPE IMPORT Amostra de análise de importação Robôs_AX
Esta análise importa os dados do arquivo Excel de exemplo "Trans_Maio.xls" e os salva na nova tabela
do Analytics "Trans_Maio_bruta" (a tabela de dados bruta).
//FILE Trans_Maio.xls
//DATA Trans_Maio_bruta
//RESULT LOG
END

SET SAFETY OFF


IMPORT EXCEL TO Trans_Maio_bruta Trans_Maio_bruta.fil FROM "Trans_Maio.xls" TABLE
"Trans2_Maio$" KEEPTITLE FIELD "NUMCARTAO" C WID 22 AS "" FIELD "CODIGOS" C WID 4 AS
"" FIELD "DATA" D WID 10 PIC "YYYY-MM-DD" AS "" FIELD "NUMCLIENTE" C WID 6 AS "" FIELD
"DESCRIÇÃO" C WID 95 AS "" FIELD "VALOR" N WID 9 DEC 2 AS ""
SET SAFETY ON

Amostra de análise de importação para uso no Cliente Web


AX ou na janela Aplicativo de análise
COMMENT
//ANALYTIC TYPE IMPORT Amostra de análise de importação Web_AA_Window
Esta análise importa os dados do arquivo Excel de exemplo "Trans_Maio.xls" e os salva na nova tabela
do Analytics "Trans_Maio_bruta" (a tabela de dados bruta).
//PARAM v_arquivo_entrada F Arquivo de entrada
Selecione um arquivo de entrada
//DATA Trans_Maio_bruta
//RESULT LOG
END

SET SAFETY OFF


IMPORT EXCEL TO Trans_Maio_bruta Trans_Maio_bruta.fil FROM "v_arquivo_entrada" TABLE
"Trans2_Maio$" KEEPTITLE FIELD "NUMCARTAO" C WID 22 AS "" FIELD "CODIGOS" C WID 4 AS

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 923 de 966


Comandos

"" FIELD "DATA" D WID 10 PIC "YYYY-MM-DD" AS "" FIELD "NUMCLIENTE" C WID 6 AS ""
FIELD "DESCRIÇÃO" C WID 95 AS "" FIELD "VALOR" N WID 9 DEC 2 AS ""
SET SAFETY ON

Amostra de análise de preparação


Prepara a tabela de dados bruta para análise e a salva na nova tabela do Analytics Trans_Maio_pre-
parada (a tabela de análise). A análise define uma versão mais curta do campo "Descrição" porque a
classificação só é permitida em campos com comprimento de até 64 caracteres.

COMMENT
//ANALYTIC TYPE PREPARE Amostra de análise de preparação
Esta análise prepara a tabela de dados bruta para a análise e a salva na nova tabela do Analytics
"Trans_Maio_preparada" (a tabela de análise). A análise define uma versão mais curta do campo
"Descrição" porque a classificação só é permitida em campos com comprimento de até 64 caracteres.
//TABLE Tabela v_TabelaBruta Table a preparar
Selecione a tabela de dados bruta a preparar
//RESULT TABLE Trans_*_preparada
//DATA Trans_*_preparada
//RESULT LOG
END

SET SAFETY OFF


OPEN %v_TabelaBruta%
DEFINE FIELD DESC_SHORT ASCII 43 64
EXTRACT RECORD TO "Trans_Maio_preparada"
SET SAFETY ON

Amostra de análise analítica


Classifica a tabela de análise e envia os resultados para a nova tabela do Analytics Classificada_
Trans_Maio_preparada (a tabela de resultados). Os usuários podem especificar que campo utilizar
para classificar a tabela e pode especificar códigos de categoria de comerciante, números de cliente e
intervalos de datas e quantidades de transação para restringir que registros são processados.

COMMENT
//ANALYTIC TYPE ANALYSIS Análise analítica de exemplo
Esta análise classifica a tabela de análise e envia os resultados para a nova tabela do Analytics "Clas-
sificada_Trans_Maio_preparada" (a tabela de resultados). Você pode especificar códigos de cate-
goria de comerciante, números de cliente e intervalos de datas e valores de transação para restringir
que registros são processados.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 924 de 966


Comandos

//TABLE v_TabelaAnalise Tabela a classificar


Selecione a tabela de análise a classificar
//FIELD v_CampoA C Campo base para classificação
Selecione o campo a ser usado como base para classificação
//PARAM v_códigos C MULTI SEPARATOR , QUALIFIER ' VALUES |4112 PassageiroFerrovias de
passageiros|4121 Táxis/limousines|4131 Ônibus|4215 Serviços de entrega - Aéreo ou terrestre|4411
Cruzeiros|4457 Aluguéis de embarcações|4722 Agências de turismo|4814 Chamadas locais e de longa
distância|5812 Restaurantes|5813 Bares (bebidas alcoólicas)|5814 Restaurantes de fast food|5921
Empórios, cervejas, vinhos e licores|5993 Tabacarias |5994 Bancas de jornais|7216 Lavanderias|
Código(s) de CM a incluir
Especifique um ou mais códigos de categoria de comerciante a incluir
//PARAM v_num_cliente C OPTIONAL MULTI SEPARATOR , QUALIFIER ' Números de clientes a
excluir (opcional)
Especifique um ou mais números de cliente a excluir. Pressione "Enter" após cada número para dispor
os números em linhas separadas. Não coloque os números entre aspas.
//PARAM v_data_inicial D VALUES
|05/01/2003|05/02/2003|05/03/2003|05/04/2003|05/05/2003|05/06/2003|05/07/2003|05/08/2003|05/0-
9/2003|05/10/2003|05/11/2003|05/12/2003|05/13/2003|05/14/2003|05/15/2003|05/16/2003|05/17/200-
3|05/18/2003|05/19/2003|05/20/2003|05/21/2003|05/22/2003|05/23/2003|05/24/2003|05/25/2003|05/-
26/2003|05/27/2003|05/28/2003|05/29/2003|05/30/2003|05/31/2003|Data inicial
Selecione uma data inicial
//PARAM v_data_final D Data Final
Insira uma data final ou selecione uma no calendário
//PARAM v_quantidade_min N Quantidade Mínima
Insira uma quantidade mínima
//PARAM v_quantidade_max N Quantidade Máxima
Insira uma quantidade máxima
//RESULT TABLE Classificada_*
//RESULT LOG
END

SET SAFETY OFF


OPEN %v_TabelaAnalise%
IF NOT ISDEFINED("v_num_cliente") v_num_cliente = ""
GROUP IF v_num_cliente = ""
CLASSIFY ON %v_CampoA% IF MATCH(CÓDIGOS; %v_códigos%) AND BETWEEN(DATA; v_
data_inicial; v_data_final) AND BETWEEN(VALOR; v_quantidade_min; v_quantidade_max)
SUBTOTAL VALOR TO "Classificada_%v_TabelaAnalise%.FIL" OPEN
ELSE
CLASSIFY ON %v_CampoA% IF MATCH(CÓDIGOS; %v_códigos%) AND NOT MATCH
(NUMCLIENTE; %v_num_cliente%) AND BETWEEN(DATA; v_data_inicial; v_data_final) AND
BETWEEN(VALOR; v_quantidade_min; v_quantidade_max) SUBTOTAL VALOR TO "Clas-
sificada_%v_TabelaAnalise%.FIL" OPEN
END

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 925 de 966


Comandos

SET SAFETY ON

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 926 de 966


Anexo

Anexo

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 927 de 966


Anexo

Requisitos do sistema
Antes de instalar o Analytics, verifique se o computador cumpre os requisitos mínimos de software e
hardware.

Requisitos de software
Nota
Alguns pré-requisitos de software serão instalados automaticamente se não estiverem
presentes no seu computador. Para obter uma lista completa dos pré-requisitos ins-
talados automaticamente, consulte a documentação on-line.

Requisitos Informações adicionais

Um dos seguintes sistemas ope- O ACL para Windows é um aplicativo de 32 bits que pode ser executado nas
racionais: versões de 64 bits do Windows.
o Microsoft Windows 10 (64 Nota
bits)
Para instalar o ACL para Windows no Windows 7, você deve ter o
o Microsoft Windows 8.1 (64
Service Pack 1 instalado. O ACL para Windows exige o Microsoft
bits)
o Microsoft Windows 7 Service .NET 4.6.x, que não pode ser instalado em versões do Windows 7
Pack 1 (SP1) (32 bits/64 bits) anteriores ao SP1.
O Windows XP não é mais um sistema operacional compatível.

Para usuários do Microsoft Win- Importante


dows 8.1:
A atualização KB2919355 do Windows 8.1 é exigida pelo Micro-
Atualização KB2919355 do Win- soft .NET Framework 4.6.x, que, por sua vez, é exigido pelo ACL
dows 8.1 para Windows 14.
Se estiver usando o Windows 8.1 e o .NET 4.6.x não estiver ins-
talado e não tiver executado a atualização KB2919355, o ins-
talador do ACL para Windows encerra com uma mensagem de
erro durante a instalação do pré-requisito .NET 4.6.2.
Você precisa baixar e instalar a Atualização KB2919355 antes de
continuar com a instalação do ACL para Windows.
Como alternativa, você pode instalar a Atualização KB2919355
antes de começar a instalação do ACL para Windows e evitar a
mensagem de erro.
Cuidado
Se for solicitado para reiniciar o computador em algum ponto
durante o processo de instalação, faça-o imediatamente. Não
ignore mensagens para reiniciar o computador.
Se você não reiniciar o computador quando solicitado, poderá cau-
sar problemas com a instalação do .NET, de outros pré-requisitos
ou do ACL para Windows.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 928 de 966


Anexo

Requisitos Informações adicionais

Para usar funções do Analytics O número de bits da versão instalada de R deve corresponder ao número de bits
integradas à linguagem de pro- do sistema operacional.
gramação R, você deve instalar
Se você estiver usando um dos pacotes de CRAN R, talvez seja necessário adi-
e configurar o R (32 bits/64 bits).
cionar o caminho da pasta binária de R à variável do ambiente PATH no seu com-
As seguintes versões do R putador.
foram testadas e funcionam com
Por exemplo:
o Analytics:
o C:\Arquivos de Programas\R\R-<version>\bin\i386 (32-bit)
o 3.3.2 o C:\Arquivos de Programas\R\R-<version>\bin\x64 (64-bit)
o 3.3.1
o 3.2.5 Nota
o 3.2.3 Você não precisa instalar o R se não pretende usar funções do
Você pode usar o CRAN R (32 Analytics integradas a essa linguagem.
bits/64 bits) ou o Microsoft R
(apenas 64 bits).
Nota
Outras versões do R
também podem fun-
cionar. No entanto,
isso não é garantido.
No momento, o R
3.5.0 ou posterior
não é compatível
com o Analytics.

Para usar funções do Analytics O Python versão 3.5.x foi completamente testado e é totalmente compatível. Você
integradas à linguagem de pro- pode usar versões diferentes, como 3.3.x ou 3.6.x. No entanto, essas versões
gramação Python, você deve ins- não têm a mesma garantia de testes e compatibilidade com o Analytics da versão
talar e configurar: 3.5.x.
o Python versão 3.3.x ou pos- Ao instalar o Python, você também precisa configurá-lo para ser executado no
terior (32 bits) seu sistema. Para obter mais informações, consulte "Configuração do Python
o Variável de ambiente para uso com o Analytics" Na página 933.
PYTHONPATH
o Variável de ambiente Nota
ACLPYTHONDLL Você não precisa instalar o Python se não pretende usar funções
do Analytics integradas a essa linguagem.
A cópia local do mecanismo do Python contido no diretório de ins-
talação do Analytics não é destinada ao uso com as funções
Python do Analytics ou para uso geral do Python. Você deve ins-
talar uma instância separada do Python para essas finalidades.

Para usar o Conector do ACL o Você não precisa instalar o Oracle Instant Client se não quiser usar o Conec-
para Oracle, você precisa ins- tor do ACL para Oracle.
talar: o O número de bits do Oracle Instant Client deve corresponder ao número de
bits do sistema operacional. Se um Instant Client de 32 bits for instalado em
o Oracle Instant Client 11g ou
uma máquina de 64 bits, a conexão falhará.
12c o Se estiver usando o conector com o Analytics Exchange e instalar o Oracle Ins-
tant Client depois do Servidor AX, você precisa reiniciar o Serviço do Analytics
Exchange antes de poder usar o conector.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 929 de 966


Anexo

Requisitos de hardware
Nota
O melhor desempenho do Analytics em um ambiente de produção pode exigir mais recur-
sos do que a especificação mínima.

Componente Mínimo Recomendações

Processador 1.8 GHz

2 GB o Sistemas operacionais de 64 bits: 8 GB ou mais, especialmente


para ordenar grandes arquivos
Memória o Sistemas operacionais de 32 bits: 4 GB, especialmente para orde-
(RAM) nar grandes arquivos

Espaço em disco rígido 1.1 GB


(arquivos de aplicativos do
Analytics)

Espaço em disco rígido 8 GB


(prerrequisitos de software)

100 GB ou mais
Além do espaço em disco rígido necessário para a instalação dos
arquivos de aplicativo e pré-requisitos do Analytics, é necessário
Espaço em disco rígido
espaço adicional significativo se um computador for usado para
(armazenamento de dados) armazenar extrações de dados, arquivos simples e resultados.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 930 de 966


Anexo

Instalando o ACL para Windows


Sigas as instruções de instalação do ACL para Windows para instalar ou atualizar sua cópia do Analytics.
Após a conclusão da instalação, você deverá ativar a licença.
Nota
Quando você instala ou faz upgrade do Analytics, são sobrescritos todos os arquivos de
dados de amostra atuais do Analytics do diretório de trabalho do Analytics que você espe-
cifica durante a instalação.
Se você efetuar alterações em qualquer projeto ou arquivo de dados de amostra e deseja
mantê-las, salve os arquivos em outro lugar antes de instalar ou atualizar, ou altere o nome
da pasta onde estão. Faça o mesmo com os arquivos de log de comando associados, se
deseja preservá-los.

Obtenha o instalador
Obtenha o instalador do contato principal da organização junto à Galvanize. Se você for o contato principal:
l Com acesso à Internet: obtenha o instalador da página de downloads do Launchpad (http://www.a-
clgrc.com/)
l Sem acesso à Internet: solicite a ajuda do seu representante da Galvanize para obter o instalador
do Launchpad

Extraia o instalador
1. Clique duas vezes no pacote de instalação do ACL para Windows (ACLforWindows141.exe).
2. Se uma caixa de diálogo de aviso de segurança for exibida, verifique as informações listadas e clique
em Sim .
3. Selecione o idioma que deseja usar na instalação e clique em OK.
4. Na página Localização para extrair arquivos , clique em Extrair.
Após os arquivos serem extraídos, o instalador será iniciado automaticamente.

Instale os pré-requisitos
Se for solicitada a instalação de pré-requisitos, clique em Instalar.
Após a instalação dos pré-requisitos, o instalador continua automaticamente.

Instalar o ACL para Windows


Siga as instruções da tela para executar a instalação do ACL para Windows.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 931 de 966


Anexo

Na página Seleção da edição do ACL, selecione a edição que quer instalar:


l Não Unicode
l Unicode
Para mais informações sobre as edições Unicode e não Unicode, consulte "Edição Unicode vs. edições
não Unicode" Na página 936.

Ative a sua licença


Se tiver acesso à Internet, você poderá ativar a licença na primeira vez que iniciar o ACL para Windows e
fizer login na sua organização. Para ativar a sua licença off-line, entre em contato com o Suporte Gal-
vanize.

Inicie o Analytics
Para iniciar o Analytics, execute uma das seguintes ações:

Para criar um projeto do Analytics novo e vazio Em Criar, clique em Projeto analítico

Para abrir um projeto do Analytics existente Em Abrir, clique em Projeto analítico

Para abrir um projeto do Analytics (.acl) recente ou de Em Arquivos recentes de análises ou em Arquivos de
amostra Amostra, clique no nome de um projeto

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 932 de 966


Anexo

Configuração do Python para uso com


o Analytics
Para configurar o Python para uso com o Analytics, é necessário instalar a versão correta do Python e adi-
cionar o executável à variável de ambiente de sistema PATH. Também é necessário definir as variáveis de
ambiente de sistema ACLPYTHONDLL e PYTHONPATH.

Como funciona?
Para executar scripts do Python, o Analytics deve poder chamar o executável do Python e encontrar os
scripts que está instruído a executar. O Analytics usa a variável de ambiente PATH para localizar o Python
e a variável de ambiente PYTHONPATH para localizar scripts.

Instale o Python versão 3.3.x ou posterior (32


bits)
1. Na página Downloads Python, baixe a versão mais recente do Python 3.5 para sua máquina.
2. Em sua máquina, clique duas vezes no arquivo do instalador.
3. No instalador, selecione Adicionar Python númeroVersão ao PATH.
4. Clique em Instalar e siga as instruções na tela.
5. Reinicialize a máquina antes de executar qualquer script do Python do Analytics.

Defina as variáveis de ambiente de sistema


ACLPYTHONDLL e PYTHONPATH
1. No seu Windows, crie uma ou mais pastas para arquivar os scripts Python.
Exemplo: C:\scripts_python.
2. No Windows, abra a caixa de diálogo Propriedades do Sistema e clique em Variáveis de
Ambiente.
3. Na seção Variáveis do sistema, clique em Novo e insira as seguintes variáveis:
Nome da variável Valor da variável Exemplo

PYTHONPATH O caminho completo para a(s) C:\python_scripts;C:\dev;C:\tmp


pasta(s) que criou para arquivar os
scripts Python. Separe vários cami-
nhos de pasta com um ponto e vír-
gula.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 933 de 966


Anexo

Nome da variável Valor da variável Exemplo

ACLPYTHONDLL O caminho completo e o nome de c:\python_install\python33.dll


arquivo do arquivo de DLL do
Python na pasta de instalação do
Python que você quer usar com o
Analytics.
Se estiver usando Python 3.3x, as
seguintes restrições se aplicam:
o Caracteres Unicode não são
compatíveis no caminho para
plataformas europeias
o Não é permitido usar caracteres
estendidos no caminho nas pla-
taformas asiáticas
Nota
O Python adiciona a
DLL à pasta de sistema
(c:\win-
dows\sys-
tem32\python33.dll)
em vez de à pasta de
instalação. É necessário
copiar a DLL da pasta
do sistema para a pasta
de instalação e usar
esse local como o valor
da variável para que o
Analytics possa acessar
a DLL.
Você também pode pre-
cisar remover qualquer
configuração somente
leitura da pasta de ins-
talação.
Se você não definir esse valor, o
Analytics tenta usar a versão com-
patível padrão 3.5.x, a DLL
python35.dll.

4. Para salvar a variável, clique em OK e na caixa de diálogo Propriedades do Sistema, clique em


OK.

Use o Python em funções do Python do Analy-


tics
No Analytics, use as funções do Python do Analytics para chamar funções dos scripts existentes no
PYTHONPATH.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 934 de 966


Anexo

Nota
Se você editar um script do Python, deverá atualizar a exibição do projeto do Analytics
para usar a versão mais recente do script do Python. A forma mais simples de atualizar a
exibição é fechar e reabrir tabela em que estiver trabalhando.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 935 de 966


Anexo

Edição Unicode vs. edições não Uni-


code
As edições Unicode dos produtos Analytics permitem que você exiba e trabalhe com arquivos que contêm
dados Unicode. Unicode é um método de codificação de caracteres padrão do setor que oferece suporte
à maioria dos idiomas do mundo.

Devo instalar a edição não Unicode ou Uni-


code?
O Analytics está disponível em edições Unicode e não Unicode. O pacote de instalação contém as duas
edições. Durante a instalação, você especifica qual edição quer instalar.
Você deve instalar a edição não Unicode, a menos que tenha uma necessidade de exibir ou analisar
dados Unicode. Os dados Unicode somente podem ser abertos na edição Unicode do Analytics.
É mais provável que você encontre dados Unicode se você trabalhar em um ambiente com sistemas de
informações globais ou se analisar dados que contêm vários idiomas.

Quando a edição Unicode é necessária


Você precisa instalar a edição Unicode para exibir ou analisar dados com:
l caracteres asiáticos
l uma combinação de codificações de caracteres não Unicode, ou tradicionais
Por exemplo, uma combinação de idiomas de pelo menos duas destas codificações de caracteres:
l Latino 1 (inglês e europeu ocidental)
l Latino 2 (europeu central)
l Cirílico
l Grego
l Árabe
Nota
Se quiser usar a interface do usuário do Analytics em chinês, japonês ou polonês, a única
opção é instalar a edição Unicode. Esse requisito está relacionado ao idioma da interface
do usuário, não ao idioma dos dados.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 936 de 966


Anexo

Conversão de análises para Unicode


Se você migrar da edição não Unicode do Analytics para a edição Unicode, as análises e scripts existentes
serão convertidos automaticamente para Unicode. No entanto, você deverá verificar se a lógica dos scripts
continuará a mesma quando aplicada a dados Unicode de byte duplo.

O que é Unicode?
O Unicode é um padrão de codificação de texto que usa dois ou mais bytes para representar cada carac-
tere, com um único conjunto de caracteres contendo todos os caracteres de todos os idiomas. As edições
Unicode dos produtos da Galvanize permitem que você exiba e trabalhe com arquivos e bancos de dados
que contêm dados codificados em Unicode em todas as linguagens modernas.
Nota
O Analytics e o Motor AX oferecem suporte a dados Unicode codificados no formato little-
endian (LE). Esses produtos não podem ser usados para analisar dados codificados no for-
mato big-endian (BE).

Migração para o Analytics Exchange edição


Unicode
l no momento, não há suporte para criptografia de scripts Unicode
l Os arquivos de projeto e arquivos de log do Analytics são codificados como dados Unicode (UTF-16
LE) e não podem ser usados em nenhuma edição não Unicode do Analytics
l quando você usa o Analytics para definir arquivos de imagem de impressão e arquivos delimitados
que contêm texto codificado em ASCII ou EBCDIC, o tipo de dados Unicode é atribuído por padrão
aos campos da tabela do Analytics que contêm esses dados

Mudanças obrigatórias nas análises


Atualize todos os parâmetros que especificam um valor em
bytes
Os caracteres na edição não Unicode do Analytics têm comprimento de um byte. Os caracteres na edição
Unicode que são dados Unicode têm comprimento de dois bytes. Quando você especifica o comprimento
do campo ou a posição inicial em bytes na edição não Unicode do Analytics, o comprimento em bytes é
igual ao número de caracteres. Isso não acontece para dados Unicode na edição Unicode do Analytics.
Para converter análises para uso no Analytics Unicode, é preciso ajustar o valor numérico de todos os parâ-
metros que especificam comprimento ou posição inicial de campos em bytes. Por exemplo, para um

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 937 de 966


Anexo

comando IMPORT DELIMITED que especifica um valor de WID de 7 no Analytics não Unicode, será
necessário atualizar o valor de WID para 14 para produzir o mesmo resultado no Analytics Unicode.
Além disso, para dados Unicode, especifique uma posição inicial em bytes ímpar para os campos e um
número par de bytes para comprimentos de campo. A especificação de uma posição inicial par ou de um
comprimento ímpar pode causar exibição incorreta de caracteres.

Recrie todas as ocorrências de IMPORT PRINT e


IMPORT DELIMITED
Você precisa recriar todas as ocorrências dos comandos IMPORT PRINT e IMPORT DELIMITED impor-
tando os arquivos de dados de origem no Assistente de definição de dados na versão Unicode do Analy-
tics e reimportando os projetos no Servidor AX. O uso do Assistente de Definição de Dados garante a
validade de toda a sintaxe.

Altere todas as ocorrências das funções ZONED( ) e


EBCDIC( )
Todas as ocorrências das funções ZONED() e EBCDIC() devem ser alteradas conforme especificado a
seguir para que os valores ASCII retornados pelas funções sejam convertidos corretamente em dados
Unicode:
l Campos calculados: usam a função BINTOSTR() em volta das ocorrências de ZONED() ou
EBCDIC()
l Expressões estáticas: usam a função BINTOSTR() em volta das ocorrências de ZONED()

BINTOSTR(ZONED(%resultado%; 5); 'A')

Altere todas as ocorrências do comando OPEN FORMAT


Pode ser necessário modificar todas as ocorrências do comando OPEN FORMAT. Você precisa usar o
parâmetro SKIP para ignorar os primeiros dois bytes do arquivo Unicode que está abrindo. Isso é neces-
sário porque os dois primeiros bytes de arquivos com codificação UTF-16 são reservados como marcas
de ordem de bytes e são separados do texto no arquivo.

Não Unicode

OPEN "teste_ascii.txt" FORMAT tabela_modelo CRLF


DEFINE FIELD rec_completo ASCII 1 10

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 938 de 966


Anexo

Unicode

OPEN "teste_utf-16.txt" FORMAT tabela_modelo CRLF SKIP 2


DEFINE FIELD rec_completo UNICODE 1 20

Verificação de análises convertidas


Verifique se as versões Unicode das análises geram resultados idênticos aos da versão não Unicode. A
melhor forma de fazer isso é utilizar uma ferramenta Diff para comparar os arquivos de log gerados. A fer-
ramenta Diff identifica todas as diferenças entre os arquivos comparados.

E se os resultados não forem os mesmos?


Caso não seja possível produzir os mesmos resultados com a versão Unicode de uma análise e com a ver-
são não-Unicode, você pode isolar o problema comparando os resultados dos logs dos scripts em cada
etapa da análise.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 939 de 966


Anexo

Verificação de compatibilidade com


Unicode
Ao atualizar para uma versão Unicode, verifique se todas as lógicas personalizadas adicionadas aos
scripts produzem os mesmos resultados quando executadas com dados Unicode. Há áreas em que os
scripts podem ser afetados quando são executados com dados Unicode.

Funções de caracteres e bits


Cada uma das funções relacionadas a seguir retorna valores com base em locais de byte ou contagens
de byte. Você precisa verificar as funções a seguir para assegurar que são usadas corretamente após a
mudança da representação de caracteres de byte simples, usada na edição não Unicode, para a codi-
ficação de caracteres de byte duplo, usada em dados Unicode:
l ASCII( )
l BIT( )
l BYTE( )
l CHR( )
l DIGIT( )
l HEX( )
l MASK( )
l SHIFT( )

O comprimento do byte não é igual ao com-


primento do caractere
Verifique a forma como as funções a seguir são utilizadas no script para garantir que elas não assumem
correspondência de um para um entre o número de caracteres e o número de bytes nos dados.
Se forem encontrados casos em que a lógica assume a correspondência de igualdade entre número de
caracteres e bytes, ajuste a lógica para trabalhar corretamente com os dados Unicode, que utilizam dois
bytes para representar cada caractere. Números especificados como parâmetros de função de cadeia de
caracteres, como 4 em STRING(1000, 4) referem-se ao número de caracteres, então o uso padrão des-
sas funções não causará problemas.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 940 de 966


Anexo

Funções de conversão
l PACKED( )
l STRING( )
l UNSIGNED( )
l VALUE( )
l ZONED( )

Funções de cadeia
l AT( )
l BLANKS( )
l INSERT( )
l LAST( )
l LENGTH( )
l REPEAT( )
l SUBSTRING( )

Funções diversas
l FILESIZE( )
l LEADING( )
l OFFSET( )
l RECLEN( )

Substituição de funções específicas para Uni-


code
Os produtos Unicode da Galvanize oferecem suporte a seis funções específicas para Unicode que per-
mitem conversões entre dados não Unicode e Unicode. As funções a seguir estão disponíveis nos produtos
Unicode da Galvanize:
l BINTOSTR(): converte dados ZONED ou EBCDIC em sua cadeia Unicode correspondente. Isso
garante que os valores codificados como ZONED ou EBCDIC possam ser exibidos corretamente
l DHEX( ): retorna o equivalente hexadecimal de um valor de campo Unicode especificado. É o
inverso da função HTOU( )

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 941 de 966


Anexo

l DBYTE( ): retorna a interpretação do caractere Unicode de um byte duplo em uma posição deter-
minada em um registro
l DTOU( ): converte um valor de data para exibição de cadeia Unicode correta com base na con-
figuração de local especificada
l HTOU( ): devolve o equivalente Unicode de um valor de cadeia hexadecimal especificado. É o
inverso da função DHEX( )
l UTOD( ): converte uma cadeia Unicode específica de um local em um valor de data do Analytics

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 942 de 966


Anexo

Execução de scripts do R no Servidor


AX
Importe os scripts externos do R como arquivos relacionados junto com um aplicativo de análise e chame
os scripts do R da sua análise para aproveitar os recursos de análise estatística da linguagem de scripts do
R no servidor. Para preparar o ambiente do Servidor AX para executar os scripts do R, você primeiro pre-
cisa instalar o R e, depois, adicionar a extensão .r à lista autorizada de extensões de arquivos.

Pré-requisitos
Para executar scripts do R no Servidor AX, é necessário:
1. Instalar uma versão compatível da linguagem de script do R em seu computador do Servidor AX.
2. Adicionar a extensão .r à lista autorizada de extensões de arquivos no Servidor AX.
3. No Analytics, crie um projeto para trabalhar e importe no Servidor AX.
Nota
Para obter ajuda para finalizar esses pré-requisitos, entre em contato com seu admi-
nistrador do Analytics Exchange e consulte:
l Requisitos do Servidor AX
l Inclusão de extensões de arquivos na lista autorizada

Adição de scripts do R ao diretório de projeto


do Analytics
Depois de criar seu projeto do Analytics no Analytics, copie os scripts do R que pretende usar e cole-os na
pasta do projeto para que você possa testar seu script localmente no Analytics antes de importá-lo para o
Analytics Exchange.

Arquivos de amostra do R
Os seguintes arquivos de amostra do R contêm scripts comuns que concatenam duas cadeias e retornam
uma única cadeia associada por um caractere de espaço. Esses exemplos são para mostrar como os
scripts do R são executados no Servidor AX, e não como analisar dados com o R.

análise_a.r

conc<-function(x, y) {
paste(x, y, sep=" ")

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 943 de 966


Anexo

}
print(conc(valor1, valor2))

análise_b.r

conc<-function(x, y) {
paste(y, x, sep=" ")
}
print(conc(valor1, valor2))

Criar um script do Analytics


Em seu projeto do Analytics, crie um novo script para usar como a análise executada no Servidor AX.
Esse script faz o seguinte:
1. Abre uma tabela temporária chamada t_tmp com um registro.
Você precisa abrir uma tabela para executar o comando EXTRACT no Analytics. Aqui, a tabela t_
tmp é usada apenas para essa finalidade.
2. Usa o comando EXTRACT para executar cada script do R e grava os resultados em uma tabela.

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


Adicione as tags adequadas do cabeçalho de análise no início do script para que o script do Analytics
possa ser executado no Servidor AX depois de importar seu aplicativo de análise. É necessário adicionar
uma tag FILE para qualquer script do R que você pretende executar a partir da análise:

COMMENT
//ANALYTIC Teste de integração do R
verificar integração do R no Servidor AX
//DATA t_tmp
//FILE análise_a.r
//FILE análise_b.r
//RESULT TABLE resultados
END

Adição da lógica do script


SET SAFETY OFF
DEL ALL OK
CLOSE PRIMARY SECONDARY

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 944 de 966


Anexo

OPEN t_tmp

COM **** execute scripts do R e grave resultados na tabela


EXTRACT FIELDS RSTRING("a<-source('./análise_a.r');a[[1]]",50,"teste","valor") AS "valor" TO
"resultados.fil"
EXTRACT FIELDS RSTRING("a<-source('./análise_b.r');a[[1]]",50,"teste","valor") AS "valor" TO
"resultados.fil" APPEND

CLOSE t_tmp

O script de análise completo


A análise completa que você executa no Servidor AX é assim:

COMMENT
//ANALYTIC Teste de integração do R
verificar integração do R no Servidor AX
//DATA t_tmp
//FILE análise_a.r
//FILE análise_b.r
//RESULT TABLE resultados
END

SET SAFETY OFF


DEL ALL OK
CLOSE PRIMARY SECONDARY

OPEN t_tmp

COM **** execute scripts do R e grave resultados na tabela


EXTRACT FIELDS RSTRING("a<-source('./análise_a.r');a[[1]]",50,"teste","valor") AS "valor" TO
"resultados.fil"
EXTRACT FIELDS RSTRING("a<-source('./análise_b.r');a[[1]]",50,"teste","valor") AS "valor" TO
"resultados.fil" APPEND

CLOSE t_tmp

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 945 de 966


Anexo

Importe o projeto do Analytics e arquivos do


R relacionados
Depois de criar o script da análise:
1. No Cliente AX, crie uma coleção e pasta para abrigar o projeto do Analytics.
2. Para importar o projeto e os arquivos R:
a. Clique com o botão direito do mouse na pasta criada e selecione Importar.
b. Vá para o projeto do Analytics no seu computador, selecione o arquivo do projeto .acl e os
scripts do R .r.
Nota
Certifique-se de selecionar os arquivos do R na pasta de projeto e o projeto do
Analytics usando Ctrl+clique para que eles sejam importados no Servidor AX.
Você também deve importar os arquivos de dados de origem para a sua tabela t_
tmp.
c. Clique em Abrir.

Explorador do servidor após a importação


l nomeColeção
l nomePasta

l Aplicativos de análise

l nomeProjetoACL

l nomeScriptAnálise

l Dados

l t_tmp

l Arquivos relacionados

l análise_a.r

l análise_b.r

Execução da análise
No Explorador do Servidor do Cliente AX, clique com o botão direito do mouse na análise e selecione
Executar. Os scripts do R são executados como parte da análise e você pode acessar a tabela de resul-
tados no Cliente Web AX.

Resultados

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 946 de 966


Anexo

Explorador do servidor depois de executar a análise


l nomeColeção
l nomePasta

l Aplicativos de análise

l nomeProjetoACL

l nomeScriptAnálise

l Dados

l resultados

l Arquivos relacionados

l análise_a.r

l análise_b.r

Tabela de resultados
l valor
l valor de teste
l teste de valor

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 947 de 966


Anexo

Execução de scripts do Python no


Servidor AX
Solicite a um administrador do Analytics Exchange para carregar scripts do Python externos no diretório
PYTHONPATH do Servidor AX e use os scripts da sua análise para aproveitar os recursos orientados ao
objeto da linguagem de programação Python no servidor. Para preparar o ambiente do Servidor AX para
executar os scripts do Python, você primeiro precisa instalar o Python, depois, definir a variável de ambi-
ente PYTHONPATH.

Pré-requisitos
Para executar scripts do Python no Servidor AX, é necessário:
1. Instalar uma versão compatível da linguagem de script do Python em seu computador do
Servidor AX.
2. Definir a variável de ambiente PYTHONPATH no Servidor AX.
3. No Analytics, crie um projeto para trabalhar e importe no Servidor AX.
Nota
Para obter ajuda para finalizar esses pré-requisitos, entre em contato com seu admi-
nistrador do Analytics Exchange e consulte:
l Requisitos do Servidor AX
l Configuração do Python para uso com o Servidor AX

Criação de um script do Python


Depois de criar seu projeto do Analytics no Analytics, crie um script do Python que você possa chamar a
partir de uma análise.
Depois, entregue ao administrador do Analytics Exchange o arquivo do script para carregar no diretório
PYTHONPATH da máquina que hospeda o Servidor AX antes de chamar o script a partir de uma aná-
lise. Quando a análise é executada no Servidor AX, o executável do Python procura o script no diretório
PYTHONPATH, então ele precisa estar presente.

Exemplo de arquivo do Python


O seguinte arquivo do Python de exemplo contém um script trivial que usa uma expressão lambda para
elevar um número à potência dele mesmo. Esse exemplo é para mostrar como os scripts do Python são
executados no Servidor AX, e não como analisar os dados com o Python.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 948 de 966


Anexo

Nome do arquivo: lambda_exemplo.py

# minhaFunção eleva ao quadrado valor1 e retorna o valor


minhaFunção = lambda valor1: valor1**2

Criar um script do Analytics


Em seu projeto do Analytics, crie um novo script para usar como a análise executada no Servidor AX. Esse
script faz o seguinte:
1. Abre uma tabela simples chamada py com um registro.
Você precisa abrir uma tabela para executar o comando GROUP no Analytics. Aqui, a tabela py é
usada apenas para essa finalidade.
2. Percorre o loop 10 vezes e, em cada loop, executa o script do Python passando e incrementando o
contador como um argumento e extraindo a saída para uma tabela de resultados.

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


Adicione as tags adequadas do cabeçalho de análise no início do script para que o script do Analytics possa
ser executado no Servidor AX depois de importar seu aplicativo de análise:

COMMENT
//ANALYTIC Teste de integração Python
verificar integração do Python no Servidor AX
//DATA py
//DATA resultados
//RESULT TABLE resultados
END

Adição da lógica do script


SET SAFETY OFF
DEL ALL OK
CLOSE

OPEN py

GROUP
ASSIGN v_máx = 11
ASSIGN v_contador = 1
LOOP WHILE v_contador < v_máx

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 949 de 966


Anexo

EXTRACT PYNUMERIC("lambda_exemplo,minhaFunção",0,v_contador) AS "Valor dos resul-


tados" TO "resultados.fil"
v_contador = v_contador + 1
END
END
CLOSE py

O script de análise completo


A análise completa que você executa no Servidor AX é assim:

COMMENT
//ANALYTIC Teste de integração Python
verificar integração do Python no Servidor AX
//DATA py
//DATA resultados
//RESULT TABLE resultados
END

SET SAFETY OFF


DEL ALL OK
CLOSE

OPEN py

GROUP
ASSIGN v_máx = 11
ASSIGN v_contador = 1
LOOP WHILE v_contador < v_máx
EXTRACT PYNUMERIC("lambda_exemplo,minhaFunção",0,v_contador) AS "Valor dos resul-
tados" TO "resultados.fil"
v_contador = v_contador + 1
END
END
CLOSE py

Importar o projeto do Analytics


Depois de criar o script da análise:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 950 de 966


Anexo

1. No Cliente AX, crie uma coleção e pasta para abrigar o projeto do Analytics.
2. Para importar o projeto:
a. Clique com o botão direito do mouse na pasta criada e selecione Importar.
b. Vá para o projeto do Analytics no seu computador, selecione o arquivo do projeto .acl e clique
em Abrir.
Nota
Certifique-se de importar os arquivos de dados de origem para importar a tabela py
com seu projeto do Analytics.

Explorador do servidor após a importação


l nomeColeção
l nomePasta

l Aplicativos de análise

l nomeProjetoACL

l nomeScriptAnálise

l Dados

l py

l Arquivos relacionados

Execução da análise
No Explorador do Servidor do Cliente AX, clique com o botão direito do mouse na análise e selecione Exe-
cutar. O script do Python é executado como parte da análise e você pode acessar a tabela de resultados no
Cliente Web AX.
Nota
Quando o script for executado, o executável do Python procura o arquivo de script no dire-
tório PYTHONPATH da máquina que hospeda o Servidor AX. Se o seu administrador do
Analytics Exchange não tiver carregado o arquivo nesse diretório, a análise falhará.

Resultados
Explorador do servidor depois de executar a análise
l nomeColeção
l nomePasta

l Aplicativos de análise

l nomeProjetoACL

l nomeScriptAnálise

l Dados

l py

l resultados

l Arquivos relacionados

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 951 de 966


Anexo

Tabela de resultados
l Valor de resultados
l 1
l 4
l 9
l 16
l 25
l 36
l 49
l 64
l 81
l 100

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 952 de 966


Anexo

Códigos de erro do mecanismo de


análise
A tabela a seguir lista os códigos de erro que podem ser encontrados durante a execução de análises.

Erros de inicialização do mecanismo de aná-


lise
Código de
erro Descrição

202 Erro do sistema.

203 O período de avaliação expirou.

204 O período de avaliação expirou.

205 Falha na ativação.

206 Número máximo de sessões alcançado.

207 Problema(s) de inicialização de memória.

209 Erro de script desconhecido.

210 Não existe uma senha do perfil de banco de dados.

211 Falha na conexão do servidor.

212 Foi um encontrado um comando para o qual não existe suporte.

213 Uma caixa de diálogo foi gerada pelo script.

256 Falha no início do Motor AX.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 953 de 966


Anexo

Códigos de erro do mecanismo de análise


Código
de erro Descrição

1000 Nenhum arquivo de preferência foi especificado. Um novo arquivo de preferência padrão foi criado.

1001 Existe um problema com o arquivo de preferência. Um novo arquivo de preferência padrão foi criado.

1002 O projeto foi atualizado de uma versão anterior. Uma cópia foi gravada com a extensão .old.

1003 O arquivo de projeto não pode ser processado. O último projeto salvo foi utilizado.

1004 Nenhum arquivo de projeto especificado.

1005 O arquivo de projeto especificado não existe.

1006 O arquivo de projeto especificado somente-leitura.

1007 O projeto especificado está sendo utilizado por outro aplicativo.

1008 O arquivo de projeto .old especificado não pode ser utilizado. É necessário especificar um arquivo de pro-
jeto com a extensão .ACL.

1009 O arquivo de projeto especificado não é um arquivo de projeto do Analytics.

1011 O arquivo de projeto especificado não pode ser salvo como uma versão anterior.

1012 Não foi possível abrir o arquivo de log para gravação.

1013 Nenhum script foi especificado.

1014 O script especificado não existe.

1015 A licença do Analytics não foi encontrada ou não é válida.

1016 Um arquivo de biblioteca (.dll) não foi encontrado.

1017 Ocorreu um erro desconhecido.

Erros de comando
A tabela a seguir lista os códigos de erro retornados quando uma análise falha devido a um comando invá-
lido do ACLScript. O número do código de erro retornado identifica o comando que falhou.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 954 de 966


Anexo

Código
de erro Comando

1 SAMPLE

2 EXTRACT

3 LIST

4 TOTAL

5 DEFINE

6 COMMENT

7 QUIT

8 STOP

9 BYE

10 USE

11 OPEN

12 SAVE

13 DISPLAY

14 ACTIVATE

15 CLOSE

16 HELP

17 COUNT

18 STATISTICS

19 HISTOGRAM

20 STRATIFY

21 SUMMARIZE

22 EXPLAIN

23 GROUP

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 955 de 966


Anexo

Código
de erro Comando

24 ELSE

25 END

26 CANCEL

27 SUBMIT

28 DELETE

29 RANDOM

30 SORT

31 FIND

32 DIRECTORY

33 TYPE

34 DUMP

35 INDEX

37 SET

40 DO

41 TOP

42 EXPORT

43 VERIFY

44 SEEK

45 JOIN

46 MERGE

47 SEQUENCE

48 CALCULATE

49 PRINT

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 956 de 966


Anexo

Código
de erro Comando

50 LOCATE

51 RENAME

54 COPY

55 REPORT

56 EJECT

58 LET

59 ACCUMULATE

63 ACCEPT

64 ASSIGN

65 AGE

66 CLASSIFY

67 PROFILE

68 DO REPORT

69 LOOP

70 PAUSE

71 SIZE

72 EVALUATE

73 DIALOG

74 IF

75 GAPS

76 DUPS

77 SQLOPEN

78 PASSWORD

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 957 de 966


Anexo

Código
de erro Comando

79 IMPORT

80 REFRESH

81 NOTIFY

82 CONNECT

83 RETRIEVE

84 FIELDSHIFT

85 BENFORD

86 CROSSTAB

87 (não usado)

88 ESCAPE

89 NOTES

90 FUZZY DUPLICATE

91 EXECUTE

Erros de processamento de tarefas de análise


Código
de erro Mensagem de erro

-10 Os resultados de análise não podem ser salvos porque a pasta de resultados de destino foi excluída
após o início da análise.

-11 A tarefa foi encerrada.

-12 Encerrado devido ao desligamento do servidor.

-13 Falha na criação dos resultados.

-16 Não é possível executar devido a um erro na configuração das propriedades do servidor.

-17 Não foi possível criar um diretório de resultados com nome único.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 958 de 966


Anexo

Código
de erro Mensagem de erro

-19 A tarefa foi ignorada.

-20 Não foi possível preparar a publicação das tabelas de resultado.

-21 Não foi possível publicar resultados no AX Exception.

-22 Falha da publicação. Nome de tabela inválido.

-23 Falha da publicação. Um ou mais nomes de coluna de tabela são muito longos.

-24 Falha da publicação. Valores inválidos nas células de dados de uma tabela do Analytics.

-25 Falha da publicação. Nenhum tipo de dados suportado nos campos da tabela.

-26 Falha da publicação. Não foi possível conectar ao servidor AX Exception.

-27 A tarefa não foi executada. O usuário foi removido ou não possui permissão.

-28 A tarefa não foi executada. Erro inesperado. Consulte o log do servidor e do Analytics para obter mais
detalhes.

-29 Não é possível copiar os arquivos de dados. A análise falhou porque os arquivos de dados necessários
não foram copiados para o diretório de tarefas.

-30 A tarefa não foi executada. O link da análise é inválido.

-31 Falha da publicação. O arquivo de mapeamento de exceções não pôde ser localizado.

-32 Falha da publicação. Falha ao analisar o arquivo de mapeamento de exceções.

-34 Falha ao armazenar resultados da tarefa. Verifique se há espaço suficiente na unidade que armazena a
pasta de trabalhos e se nenhum arquivo de dados está bloqueado.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 959 de 966


Anexo

Variáveis criadas por comandos do


Analytics
As variáveis do sistema são criadas automaticamente pelo Analytics quando determinados comandos
são executados, seja inserindo informações nas caixas de diálogos no Analytics ou executando scripts. É
possível usar essas variáveis e os valores contidos nelas ao processar comandos subsequentes do Analy-
tics.
O valor em uma variável do sistema é substituído por um valor atualizado se você executar o mesmo
comando novamente.
"Variáveis de sistema do Analytics" Na página oposta lista as variáveis de sistema criadas pelo Analytics.
Nota
As variáveis de sistema e os valores que elas contêm só são retidos durante a sessão
atual do Analytics.

Exibição do valor atual das variáveis


Você pode usar qualquer um dos métodos seguintes para exibir os valores atuais de todas as variáveis
definidas pelo sistema e pelo usuário em um projeto do Analytics:
l Selecione a guia Variáveis no Navegador
l Insira DISPLAY VARIABLES na linha de comando

l Clique em Exibir variáveis na barra de ferramentas (é necessário antes adicionar o botão à


barra de ferramentas)
O segundo e o terceiro métodos também exibem a memória restante disponível para armazenar vari-
áveis.

Variáveis de sistema numeradas incre-


mentalmente
Para nomes de variáveis de sistema que incluem n no "Variáveis de sistema do Analytics" Na página
oposta, n é sempre 1 se os comandos forem executados fora de um grupo – por exemplo, TOTAL1.
Se você usar um grupo para executar vários comandos, todas as variáveis do sistema resultantes serão
numeradas com base no número da linha do comando que cria a variável. O primeiro comando em um
grupo é considerado como estando no número de linha 2.
Por exemplo:

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 960 de 966


Anexo

l Se o comando Total for o terceiro comando em um grupo, os resultados estarão contidos na variável
TOTAL4.
l Se o segundo comando Total for o quinto comando em um grupo, os resultados estarão contidos na
variável TOTAL6.

Variáveis de sistema do Analytics


A tabela a seguir lista as variáveis de sistema criadas pelo Analytics, os comandos que as geram e os valo-
res contidos nas variáveis.
Nota
Se você executar o comando Estatísticas em mais de um campo simultaneamente, as vari-
áveis de sistema conterão valores para o primeiro campo especificado.

Variável do sis-
tema Comando Valor

o Qualquer comando que o O número de registros da tabela de saída


gere uma tabela o O número de erros de validade de dados (Verificar)
o Verificar o O número de erros de sequência (Sequência)
WRITEn o Sequência

o Qualquer comando que O caminho para a pasta do projeto do Analytics no Navegador


gere uma tabela do Analy- que contém a tabela de saída.
tics
Esse é um caminho no estilo DOS que usa o formato /nome_
pasta/nome_subpasta, onde a barra (/) inicial indica o nível raiz
na guia Visão geral.
Dica
Use o comando SET FOLDER para especificar
uma pasta de saída diferente ou para criar uma
OUTPUTFOLDER nova pasta de saída.

o Contagem O número de registros contabilizados.


COUNT n o Estatísticas

ACL_Ver_Major o Exibir versão A versão principal do Analytics em execução no momento.


(Os números de versão do
ACL_Ver_Minor Analytics estão no formato A versão secundária do Analytics em execução no momento.
principal.secundário.patch
ACL_Ver_Patch ) A versão do patch do Analytics em execução no momento.

A edição do Analytics que está atualmente em execução:


o Um valor de '0' indica a edição não Unicode
ACL_Ver_Type o Um valor de '1' indica a edição Unicode

o Avaliar Amostragem por unidades monetárias


Valor do erro mais provável (afirmação incorreta projetada)
MLEn Amostragem por registro

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 961 de 966


Anexo

Variável do sis-
tema Comando Valor

Taxa de frequência de limite de erro superior (taxa de desvio


superior calculada)

Amostragem por unidades monetárias


Valor limite de erro superior (limite de afirmação incorreta supe-
UELn rior)

o Executar O código retornado por um aplicativo ou processo externo exe-


cutado com o comando Execute.
Os códigos de retorno são números gerados pelo aplicativo ou
processo externo e devolvidos ao Analytics para indicar o resul-
tado do processo externo. O Analytics não gera o código de
retorno.
Códigos de retorno típicos são valores em números inteiros que
mapeiam notificações específicas ou mensagens de erro. Por
exemplo, o código de retorno "0" pode significar "A operação foi
concluída com êxito". O código de retorno "2" pode significar "O
arquivo especificado não foi encontrado pelo sistema".
Os códigos de retorno específicos e seus significados podem
variar de acordo com o aplicativo ou processo externo. Listas
de códigos de retorno, também chamados de 'códigos de erro'
ou 'códigos de saída', e de seus significados, podem fre-
quentemente ser encontradas na documentação do aplicativo
externo em questão. Listas de códigos de retorno também
podem ser encontradas na Internet.
A variável RETURN_CODE é criada quando o comando
EXECUTE é usado de forma síncrona, mas não é criada
RETURN_CODE quando o comando é usado de forma assíncrona.

o Falhas O número total de grupos de falhas, duplicidades ou dupli-


o Duplicidades cidades parciais.
GAPDUPn o Duplicidades parciais

SAMPINT n o Tamanho O intervalo de amostra necessário.

SAMPSIZEn O tamanho de amostra necessário.

ABSn o Estatísticas O valor absoluto do primeiro campo especificado.

AVERAGEn O valor médio do primeiro campo especificado.

O quinto valor mais alto no primeiro campo especificado.


O quinto valor mais alto é a configuração padrão. A con-
figuração pode ser alterada usando a opção # de Alto/Baixo na
HIGHn caixa de diálogo Estatísticas.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 962 de 966


Anexo

Variável do sis-
tema Comando Valor

Nota
Quando o Analytics identifica o valor mais alto,
valores duplicados não são eliminados. Por exem-
plo, se os valores em ordem decrescente forem
100, 100, 99 e 98, o terceiro maior valor será 99 e
não 98.

O quinto valor mais baixo no primeiro campo especificado.


O quinto valor mais baixo é a configuração padrão. A con-
figuração pode ser alterada usando a opção # de Alto/Baixo na
caixa de diálogo Estatísticas.
Nota
Quando o Analytics identifica o valor mais baixo,
valores duplicados não são eliminados. Por exem-
plo, se os valores em ordem crescente forem 1, 1,
LOW n 2 e 3, o terceiro valor mais baixo será 2 e não 3.

MAXn O valor máximo do primeiro campo especificado.

MEDIANn O valor médio do primeiro campo especificado.

MINn O valor mínimo do primeiro campo especificado.

O valor que ocorre com mais frequência do primeiro campo


MODEn especificado.

O valor do primeiro quartil (valor de quartil inferior) do primeiro


Q25n campo especificado.

O valor do terceiro quartil (valor de quartil superior) do primeiro


Q75n campo especificado.

A diferença entre os valores máximo e mínimo do primeiro


RANGEn campo especificado.

STDDEVn O desvio padrão do primeiro campo especificado.

o Total A soma total dos valores do primeiro campo especificado.


TOTALn o Estatísticas

Outras variáveis do sistema


As seguintes variáveis são geradas pelo sistema, mas não são criadas por comandos:
l AXRunByUser: disponível em scripts executados no Servidor AX, essa variável armazena o nome
do usuário que executa a análise no formato "domínio\nome_do_usuário"

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 963 de 966


Anexo

l OUTPUTFOLDER: a pasta de saída do projeto atual do Analytics

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 964 de 966


Anexo

Palavras-chave reservadas
O Analytics reserva algumas palavras-chave para finalidades específicas. Não é possível nomear campos
ou variáveis com esses valores chave reservados.
É possível usar uma palavra-chave reservada como nome de campo ou variável adicionando um sufixo a
ela. Por exemplo, o nome "Field" não é permitido, mas "Field_1" ou "Field_2" são permitidos.
Nota
Em alguns casos, também não é possível usar abreviações de palavras reservadas, como
"Can" (CANCEL), "Form" (FORMAT) ou "Rec" (RECORD).

Palavra-chave reser-
vada Propósito no Analytics

ALL Referencia todos os campos definidos anteriormente.

AND O operador lógico AND.

AS Atribui um nome de exibição ao campo ou expressão de saída.

AXRunByUser Uma variável do sistema que armazena o nome de usuário do usuário que executa um script
de análise no Servidor AX no formato "domínio\nome_de_usuário".

CANCEL Cancela o comando atual.

D Especifica ordenação decrescente para a expressão ou nome de campo anterior.

END Conclui o stream de entrada e funciona como uma linha nula.

EXPR O prefixo para o nome de um campo de saída padrão.

F Referencia o valor falso de uma expressão lógica.

FIELD/FIELDS Parte dos comandos EXPORT, EXTRACT, JOIN e SAMPLE.

FORMAT Um nome antigo para um layout da tabela do Analytics.


Não pode ser usado como nome para uma tabela do Analytics.

IF Especifica uma condição.

LINE Usado pelo comando DEFINE COLUMN para especificar se um campo apresenta quebra em
um número especificado de linhas.

NODUPS Suprime valores de exibição duplicados no campo de quebra de um relatório do Analytics.

NOT O operador lógico NOT.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 965 de 966


Anexo

Palavra-chave reser-
vada Propósito no Analytics

NOZEROS Em um campo numérico ou relatório, exibe ou imprime valores zero como brancos.

ON Precede uma lista de campos.

OR O operador lógico OR.

OTHER Indica quais campos ou expressões incluir, mas não subtotalizar, na saída do comando
SUMMARIZE.

PAGE Utilizado pelo comando REPORT criar quebras de página.

PICTURE Especifica um formato para um campo numérico.

PRIMARY Especifica um tipo determinado de associação.

RECORD Referencia o registro de entrada inteiro da forma como é.

RECORD_LENGTH Armazena valores de tamanho de registros para uso em operações de processamento de


registros.

SECONDARY Especifica um tipo determinado de associação.

SUPPRESS Suprime a saída de totais numéricos.

T Referencia o valor falso de uma expressão lógica.

TAPE Referencia um método antigo de acessar dados com o Analytics.


Não pode ser usado como nome para uma tabela do Analytics.

TO Especifica um arquivo de saída para qualquer comando.

WIDTH Altera a largura de impressão padrão de um campo ou expressão especificada.

Publicação 19/06/2019 © 2019 ACL Services Ltd. dba Galvanize

Página 966 de 966

Você também pode gostar