Operadores que resultam em um conjunto de valores

Os seguintes operadores estão disponíveis: set, union, intersect, removeduplicates.

Definir criação

Marca XML:

Definir

Operandos:

pelo menos um valor

Resumo:

<set>
<value 1>

...
<value n>
</set>

Operandos:

Todos os tipos de dados, mas é necessário um tipo de dados uniforme da lista de operandos para tipos de dados não numéricos. Diferentes tipos de dados numéricos são convertidos automaticamente no tipo de dados DOUBLE.

Resultado:

Conjunto de valores

Tipo de resultado:

DOUBLE para operandos numéricos mistos, tipo de dados do primeiro operando para tipos de dados não numéricos

Descrição:

Cria um conjunto de valores a partir de valores especificados.

Cálculo (PPM3/PPM4)

Resultado

Conjunto vazio se todos os operandos retornarem NULL, ou seja, o conjunto de resultados nunca contém NULL

Erro

Se pelo menos um operando for de um tipo de dados inválido (conjunto de valores ou tipo de dados não idêntico ao primeiro operando)

Exemplo:

<set>
<constant>
<dataitem value="2">
<datatype name="DOUBLE"/>
</dataitem>
</constant>
<value 1>
<value 2>
<value n>
</set>

União de conjunto

Marca XML:

Union

Operandos:

Pelo menos dois conjuntos de valores (<attribute ... /> ou <set>...</set> ou <union>...</union> ou <intersect>...</intersect>)

Resumo:

<union>
<Set of values 1>
<Set of values 2>
...
<Set of values n>
</union>

Operandos:

todos os tipos de dados, mas não uma mistura de tipos de dados numéricos e não numéricos

Resultado:

Conjunto de valores

Tipo de resultado:

DOUBLE para operandos numéricos mistos, tipo de dados do primeiro operando para tipos de dados não numéricos

Descrição:

Cria a união de conjunto dos conjuntos de valores especificados.

Cálculo (PPM3)

Resultado

Conjunto vazio se todos os operandos forem conjuntos vazios

Erro

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

Cálculo (PPM4)

Resultado

Conjunto vazio se todos os operandos forem conjuntos vazios. NULL se pelo menos um operando for igual a NULL.

Erro

Se pelo menos um operando for de um tipo de dados inválido

Exemplo:

<union>
<attribute name="AT_START_TIME" nodetype="PROCESS"/>
<attribute name="AT_END_TIME" nodetype="PROCESS"/>
<attribute name="AT_START_TIME" nodetype="OT_FUNC"/>
<attribute name="AT_END_TIME" nodetype="OT_FUNC"/>
</union>

Interseção

Marca XML:

Intersect

Operandos:

pelo menos dois conjuntos de valores

Resumo:

<intersect>
<Set of values 1>
<Set of values 2>
...
<Set of values n>
</intersect>

Operandos:

todos os tipos de dados, mas não uma mistura de tipos de dados numéricos e não numéricos

Resultado:

O conjunto de valores contém todos os elementos contidos em todos os conjuntos iniciais

Tipo de resultado:

DOUBLE para operandos numéricos mistos,
tipo de dados do primeiro operando para tipos de dados não mistos

Descrição:

Cria a interseção dos conjuntos de valores especificados.

Cálculo (PPM3)

Resultado

Conjunto vazio se um operando for um conjunto vazio.

Erro

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

Cálculo (PPM4)

Resultado

Conjunto vazio se um operando for um conjunto vazio. NULL se pelo menos um operando for igual a null.

Erro

Se pelo menos um operando for de um tipo de dados inválido

Exemplo:

-

Removedor de duplicados

Marca XML:

Removeduplicates

Operandos:

exatamente um conjunto de valores

Resumo:

<removeduplicates>
<Set of values>
</removeduplicates>

Operandos:

Qualquer tipo de dados

Resultado:

Conjunto de valores

Tipo de resultado:

Tipo de dados do operando

Descrição:

Remove elementos com valores idênticos de um conjunto de valores.

Cálculo (PPM4 apenas)

Resultado

Conjunto de valores contendo todos os elementos contidos no conjunto inicial, mas cada um deles apenas uma vez. Conjunto vazio se um operando for um conjunto vazio.

Erro

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

Exemplo:

Contar as plantas envolvidas no processo:

<card>
<removeduplicates>
<attribute name="AT_WERK" nodetype"OT_FUNC" />
</removeduplicates>
</card>