Operadores que produzem um valor

Estão disponíveis os seguintes operadores: sum, product, card, min, max, mean, convert.

Sum

Marca XML:

Sum

Operandos:

exatamente um conjunto de valores

Resumo:

<sum>
<Set of values>
</sum>

Operandos:

Tipos de dados numéricos (LONG, DOUBLE, TIMESPAN, FACTORYTIMESPAN, FREQUENCY, PERCENTAGE)

Resultado:

Valor

Tipo de resultado:

Tipo de dados do conjunto de valores usado, para tipos de dados mistos dentro do conjunto sempre DOUBLE

Descrição:

Cria a soma de todos os elementos no conjunto de valores.

Cálculo (PPM3/PPM4)

Resultado

Soma de valores contidos no conjunto de valores. NULL se o conjunto transferido estiver vazio.

Erro

Se pelo menos um elemento do conjunto de valores for de um tipo de dados inválido.

Exemplo:

-

Produto

Marca XML:

Produto

Operandos:

exatamente um conjunto de valores

Resumo:

<product>
<Set of values>
</product>

Operandos:

Tipos de dados numéricos (LONG, DOUBLE, TIMESPAN, FACTORYTIMESPAN, FREQUENCY, PERCENTAGE)

Resultado:

Valor

Tipo de resultado:

Tipo de dados do conjunto de valores usado, para tipos de dados mistos dentro do conjunto sempre DOUBLE

Descrição:

Cria o produto de todos os elementos do conjunto de valores.

Cálculo (PPM3/PPM4)

Resultado

Multiplicação de valores contidos no conjunto de valores. NULL se o conjunto transferido estiver vazio.

Erro

Se pelo menos um elemento do conjunto de valores for de um tipo de dados inválido.

Exemplo:

-

Cardinalidade

Marca XML:

Card

Operandos:

exatamente um conjunto de valores

Resumo:

<card>
<Set of values>
</card>

Operandos:

Todos os tipos de dados do conjunto de valores especificado

Resultado:

Valor

Tipo de resultado:

sempre LONG

Cálculo (PPM3/PPM4)

Resultado

Calcula o número total de elementos do conjunto de valores. Para um conjunto vazio, o valor de retorno é 0.

Erro

Nenhum

Exemplo:

-

Mínimo

Marca XML:

Min

Operandos:

exatamente um conjunto de valores

Resumo:

<min>
<Set of values>
</min>

Operandos:

Tipos de dados numéricos e TIME (TIMESTAMP, DATE), DAY, TIMEOFDAY

Resultado:

Valor

Tipo de resultado:

Tipo de dados do conjunto de valores

Descrição:

Retorna o valor mais baixo do conjunto de valores.

Cálculo (PPM3/PPM4)

Resultado

NULL se o conjunto de valores estiver vazio

Erro

Nenhum

Exemplo:

-

Máximo

Marca XML:

Max

Operandos:

exatamente um conjunto de valores

Resumo:

<max>
<Set of values>
</max>

Operandos:

Tipos de dados numéricos e TIME (TIMESTAMP, DATE), DAY, TIMEOFDAY

Resultado:

Valor

Tipo de resultado:

Tipo de dados do conjunto de valores

Descrição:

Retorna o valor maior do conjunto.

Cálculo (PPM3/PPM4)

Resultado

NULL se o conjunto de valores estiver vazio

Erro

Nenhum

Exemplo:

-

Mean

Marca XML:

Mean

Operandos:

exatamente um conjunto de valores

Resumo:

<mean>
<Set of values>
</mean>

Operandos:

Tipos de dados numéricos (LONG, DOUBLE, TIMESPAN, FACTORYTIMESPAN, FREQUENCY, PERCENTAGE)

Resultado:

Valor

Tipo de resultado:

Tipo de dados do operando

Cálculo (PPM3)

Resultado

Média de valores numéricos contidos no conjunto. NULL se o operando for igual a um conjunto vazio.

Erro

Se o tipo de dados for inválido ou pelo menos um operando for igual a NULL.

Cálculo (PPM4)

Resultado

Média de valores numéricos contidos no conjunto. NULL se o operando for um conjunto vazio ou igual a NULL.

Erro

Se pelo menos um elemento do conjunto de valores for de um tipo de dados inválido.

Exemplo:

<mean>
<union>
<attribute name="AT_ANZAHL_POS1" nodetype="OT_FUNC"/>
<attribute name="AT_ANZAHL_POS2" nodetype="OT_FUNC"/>
</union>
</mean>

Transformação de tipos de dados

Marca XML:

convert

Operandos:

exatamente um valor

Resumo:

<convert datatype="...">
<value>
</convert>

Operandos:

TEXT ou um tipo de dados numérico, retorna o valor de entrada para a conversão.

Atributo:

O atributo datatype especifica o tipo de dados em que o valor de entrada deve ser convertido.

Resultado:

Valor convertido em o tipo de dados especificado

Tipo de resultado:

LONG, DOUBLE, FREQUENCY, BOOLEAN, TEXT, TIME, TIMESPAN, FACTORYTIMESPAN, DAY, PERCENTAGE

Descrição:

Conversão de um tipo de dados numérico (por exemplo, LONG, DOUBLE, TIMESPAN, FACTORYTIMESPAN, PERCENTAGE) em outro tipo de dados numérico.

Conversão do tipo de dados TEXT em um desses tipos de dados: LONG, DOUBLE, BOOLEAN, TIMESPAN ou FREQUENCY.

Após a conversão, o resultado é gravado em escala de base para o atributo de resultado.
O formato interno do PPM é usado para conversão. Não é possível especificar um formato padrão.

Conversão do tipo de dados LONG para TEXT, sendo removidos os zeros e separadores à direita. O resultado da conversão é um número convertido, sem separadores, em uma cadeia de caracteres. No exemplo abaixo, o valor LONG 000300080191 é convertido no valor de TEXT, 300080191.

<convert datatype="TEXT">
<constant>
<dataitem>
000300080191
<datatype name="LONG"/>
</dataitem>
</constant>
</convert>

É possível converter qualquer tipo de dados em TEXT, por exemplo:

  • CONVERT(DOUBLE(-300080191)) -> TEXT("3.00080191E8")
  • CONVERT(TIME(07.01.1971 00:01)) -> TEXT("7.1.1971 0:01")
  • CONVERT(TIME(07.01.2000)) -> TEXT("07.1.1971")
  • CONVERT(BOOLEAN(1)) -> TEXT("FALSE") (tudo o que não for verdadeiro será falso)

A escala usada para a saída corresponde à que é usada no objeto, por exemplo:

  • convert(<dataitem>1 YEAR<datatype name='TIMESPAN'/></dataitem>) -> TEXT("1.0 YEAR")
  • convert(<dataitem>1 YEAR<datatype name='TIMESPAN'/><scale name='MONTH'/></dataitem>) -> TEXT("12.166666666666666 MONTH") (== 365 days/30 days)

Cálculo (PPM4 apenas)

Resultado

Retorna o valor convertido do operando. NULL se o operando retornar NULL

Erro

Se a conversão falhar

Exemplo:

<convert datatype="LONG">
<filteredattribute name="AT_ABC"
nodetype="PROCESS"/>
</convert>

Um valor assumido de 456 para o atributo AT_ABC do tipo TEXT é convertido em o tipo de dados LONG.