Sumário

Search

  1. Prefácio
  2. A Linguagem de Transformação
  3. Constantes
  4. Operadores
  5. Variáveis
  6. Datas
  7. Funções
  8. Criação de funções personalizadas
  9. Referência de API da Função Personalizada

Referência de Linguagem de Transformação

Referência de Linguagem de Transformação

SETMINVARIABLE

SETMINVARIABLE

Define o valor atual de uma variável de mapeamento como o menor de dois valores: o valor atual da variável ou o valor que você especificar. Retorna o novo valor atual. A função SETMINVARIABLE será executada apenas se uma linha estiver marcada como inserir. SETMINVARIABLE ignora todos os outros tipos de linha e o valor atual permanece inalterado.
No final de uma sessão bem-sucedida, o
Serviço de Integração do PowerCenter
salva o valor atual final no repositório. Quando usado com uma sessão que contém várias partições, o
Serviço de Integração do PowerCenter
gera diferentes valores atuais para cada partição. No final da sessão, ele salva o menor valor atual em todas as partições no repositório. A menos que seja substituído, ele usa o valor salvo como o valor inicial da variável para a próxima execução de sessão.
Quando usado com uma variável de mapeamento de string, SETMINVARIABLE retorna a menor string com base na ordem de classificação selecionada para a sessão.
Use a função SETMINVARIABLE somente uma vez para cada variável de mapeamento em um pipeline. O
Serviço de Integração do PowerCenter
processa funções variáveis à medida que as encontra no mapeamento. A ordem em que o
Serviço de Integração do PowerCenter
encontra funções variáveis no mapeamento pode não ser a mesma para cada sessão executada. Isso pode causar resultados inconsistentes quando você usa a mesma função variável várias vezes em um mapeamento.
Use SETMINVARIABLE com variáveis de mapeamento que tenha um tipo de agregação Mín. Use SETMINVARIABLE nas seguintes transformações:
  • Expressão
  • Filtro
  • Roteador
  • Estratégia de Atualização
O
Serviço de Integração do PowerCenter
não salva o valor final de uma variável de mapeamento no repositório quando qualquer uma destas condições for verdadeira:
  • A sessão não é concluída.
  • A sessão é configurada para uma carga de teste.
  • A sessão é uma sessão de depuração.
  • A sessão é executada em modo de depuração e é configurada para descartar a saída da sessão.

Sintaxe

SETMINVARIABLE( $$
Variable
,
value
)
A tabela a seguir descreve os argumentos para este comando:
Argumento
Requerido/
Opcional
Descrição
$$
Variável
Requerido
Nome da variável de mapeamento que você deseja definir. Use com variáveis de mapeamento com um tipo de agregação Mínimo.
valor
Requerido
O valor que você deseja que o
Serviço de Integração do PowerCenter
compare em relação ao valor atual da variável. Você pode inserir qualquer expressão de transformação válida avaliada como um tipo de dados compatível com o tipo de dados da variável.

Valor de Retorno

O menor dos dois valores: o valor atual da variável ou o valor que você especificou. O valor retornado é o novo valor atual da variável.
Quando o
valor
é NULL, o
Serviço de Integração do PowerCenter
retorna o valor atual de
$$Variable
.

Exemplo

A seguinte expressão compara o preço de um item a uma variável de mapeamento $$MinPrice. Ela define $$MinPrice como o menor dos dois valores e retorna o preço de item historicamente mais baixo para a porta MIN_PRICE. O valor inicial de $$MinPrice da execução de sessão anterior é 22.50.
SETMINVARIABLE ($$MinPrice, PRICE)
DATE
PRICE
MIN_PRICE
05/01/2000 09:00:00
23.50
22.50
05/01/2000 10:00:00
27.00
22.50
05/01/2000 11:00:00
26.75
22.50
05/01/2000 12:00:00
25.25
22.50
05/01/2000 13:00:00
22.00
22.00
05/01/2000 14:00:00
22.75
22.00
05/01/2000 15:00:00
23.00
22.00
05/01/2000 16:00:00
24.25
22.00
05/01/2000 17:00:00
24.00
22.00
No final da sessão, o
Serviço de Integração do PowerCenter
salva 22,00 no repositório como valor mínimo atual de $$MinPrice. Na próxima execução da sessão, o
Serviço de Integração do PowerCenter
avaliará o valor inicial de $$MinPrice como 22,00.
Se a mesma sessão contiver três partições, o
Serviço de Integração do PowerCenter
avaliará $$MinPrice para cada partição. Em seguida, ele salvará o menor valor no repositório. Por exemplo, o último valor avaliado para $$MinPrice em cada partição é o seguinte:
Partition
Final Current Value for $$MinPrice
Partition 1
22.00
Partition 2
22.50
Partition 3
22.50