SELECTS: Como Decodificar Um Valor de Uma Pilha

Como:

A função SELECTS decodifica um valor de uma pilha.


Topo da página

x
Sintaxe: Como Decodificar Um Valor de Uma Pilha
target SELECTS (code, result, code, result, ... [ELSE default])

onde:

Objetivo

É uma expressão válida. Pode ser um nome de campo ou uma variável que se converte em uma célula de pilhas única.

código

É o valor pelo qual o SELECTS pesquisa. Assim que o valor for encontrado, a expressão de entrada será atribuída o resultado correspondente. A vírgula entre o código e o resultado é opcional.

resultado

É o valor atribuído quando a expressão de entrada possuir o código correspondente.

padrão

É o valor a ser atribuído se o código não for encontrado entre a lista de códigos. Se o padrão for omitido, um espaço ou um zero será atribuído aos códigos sem correspondentes.



Exemplo: Como Decodificar Valores com SELECTS

A seguir você encontra valores que calculam um campo definido pelo usuário com base nos valores em uma pilha:

COMPUTE Square = Stk(Cnt).Number SELECTS (1 1, 2 4, 3 9);

Como SELECTS é um operador binário, ele também pode ser utilizado em uma expressão:

COMPUTE Square_Plus = Stk(Cnt).Number SELECTS (1 1, 2 4, 3 9) +1;


Exemplo: Como Decodificar Um Valor de Uma Pilha

O exemplo a seguir utiliza MASK para extrair o primeiro caractere do campo CURR_JOBCODE no arquivo EMPLOYEE. Em seguida, SELECTS cria um valor para o campo JOB_CATEGORY:

MAINTAIN FILE Employee
Case Top
  FOR ALL NEXT EMPINFO.EMP_ID INTO EmpStack;
  COMPUTE
    DEPX_CODE/A1     = MASK(EmpStack().CURR_JOBCODE,'9$$');
    JOB_CATEGORY/A15 = DEPX_CODE SELECTS (A 'ADMINISTRATIVE'
      B 'DATA PROCESSING') ;
EndCase
END

A tabela a seguir exibe valores de exemplo para CURR_JOBCODE e os valores correspondentes para JOB_CATEGORY:

CURR_JOBCODE   JOB_CATEGORY
------------   ------------
A01            ADMINISTRATIVE
A07            ADMINISTRATIVE
A15            ADMINISTRATIVE
A17            ADMINISTRATIVE
B02            DATA PROCESSING
B03            DATA PROCESSING
B04            DATA PROCESSING
B14            DATA PROCESSING

Information Builders