Linhas e Células

Em uma tabela de decisão, os valores nas células de uma linha definem as condições e ações de uma regra.

Você cria uma regra adicionando uma linha a uma tabela, e entrando em valores nas células para condições e ações. Ao executar as regras em uma tabela de decisão, o mecanismo de decisão geralmente executa as regras linha por linha, desde a primeira linha até a última linha. independentemente do modo de execuçãoRetePlus, sequencial e Fastpath).

No entanto, a ordem que as regras executam pode mudar se uma tabela de decisão tiver uma definição ligada à memória de trabalho ou a um gerador. Para Fastpath e sequencial, o mecanismo de decisão primeiro executa todas as linhas para o primeiro objeto na memória de trabalho e, em seguida, passa para o objeto seguinte. Com o RetePlus, o mecanismo executa todas as linhas de todos os objetos que são classificados por número de linha, da linha 1 para baixo.

  Classificação Quantia de empréstimo Seguro requerido Taxa de Seguro
Mín. Máx.
1 A 100.000 300.000 true 0.001
2 A 300.000 600.000 true 0.003
3 B 600.000 900.000 true 0.005

Partições

É possível agrupar um conjunto de linhas consecutivas que têm o mesmo valor para uma determinada condição. Nesse caso, as células à direita dos valores agrupados fazem parte da mesma partição. Todas as células na primeira coluna da tabela pertencem à mesma partição por padrão.

Nota: Se você estiver usando o editor com orientação direto-esquerda, a partição consiste nas células à esquerda dos valores agrupados.

Em Rule Designer, você agrupa células ao mesclá-las.

Na tabela a seguir, as células da Classificação A das linhas 1 e 2 são agrupadas em uma célula. Como consequência, as células que correspondem à quantia do empréstimo se tornam parte da mesma partição.

  Classificação Quantia de empréstimo Seguro requerido Taxa de Seguro
Mín. Máx.
1 A 100.000 300.000 true 0.001
2 300.000 600.000 true 0.003

Você lê as duas regras como a seguir:

  • Regra 1

    se
       all of the following conditions are true:
          - the loan grade is A
          - the amount of loan is between 100000 and 300000
    então
       - set the insurance required to true
       - set the loan rate to 0.001
  • Regra 2

    se
       all of the following conditions are true:
          - the loan grade is A
          - the amount of loan is between 300000 and 600000
    então
       - set the insurance that is required to true
       - set the loan rate to 0.003

Uma partição não pode ser derivada somente com base no fato de que as linhas têm o mesmo valor. Na tabela a seguir, incluímos uma linha com o mesmo valor para a classificação das outras linhas. Como seu valor para a classificação não é agrupado com os outros, ela cria uma nova partição para a quantia do empréstimo e a partição existente permanece a mesma.

  Classificação Quantia de empréstimo Seguro requerido Taxa de Seguro
Mín. Máx.
1 A 50.000 100.000 falso 0.001
2 A 100.000 300.000 true 0.001
3 300.000 600.000 true 0.003

O exemplo a seguir mostra uma tabela maior com várias partições. CélulasAeBnoGradecoluna cada um tem uma partição de células noAmount of loancoluna. Isso significa que, se uma solicitação de empréstimo tiver uma classificação A, uma das regras 1 - 4 poderá se aplicar, dependendo da quantia do empréstimo. Aqui, por exemplo, os possíveis valores para a quantia são particionados nos seguintes intervalos: igual a ou menor que 100000, 100000 - 300000, 300000 - 600000 e maior que 600000. Esses intervalos são testados nas células à direita da classificação A.

  Classificação Quantia de empréstimo Seguro requerido Taxa de Seguro
Mín. Máx.
1 A <100.000 falso
2 100.000 300.000 true 0.001
3 300.000 600.000 true 0.003
4 ≥ 600.000 true 0.005
5 B <100.000 falso  
6 100.000 300.000 true 0.0025
7 300.000 600.000 true 0.005
8 600.000 800.000    
9 ≥ 600.000 true 0.0075

Cada linha numerada na tabela ainda forma uma regra. O particionamento ajuda a comparar regras com condições similares e localiza sobreposições e diferenças entre valores das regras.

Nas colunas de condição, é possível alterar o operador para certas células. A coluna pode ser definida com um operador is between <min> and <max> , que você usa para a maioria das linhas, e você pode substituir este operador para a última linha de uma partição para combinar todos os valores restantes com um operador more than <min> . Pelo fato de esses operadores não precisarem do mesmo número de parâmetros, a coluna pode mostrar um número diferente de colunas dependentes na linha.

Células vazias

Uma linha pode conter células vazias. Se uma célula vazia estiver em uma coluna de condição e houver pelo menos uma condição na linha, a condição associada à célula vazia será ignorada. Nesse caso, a próxima célula ou partição à sua direita, se houver, será avaliada. Se uma linha contiver apenas células vazias nas colunas de condição, a regra não se aplicará e a linha inteira será ignorada, mesmo se houver ações nas colunas de ação.

A tabela a seguir ilustra diferentes linhas que contêm células vazias:
  • Na linha 3, a decisão é baseada na classificação e na duração do empréstimo. A quantia do empréstimo é ignorada.
  • Na linha 4, a decisão é baseada somente na classificação.
  • A linha 5 é ignorada, pois não contém uma condição.
  Classificação Quantia de empréstimo Duração do empréstimo Seguro requerido Taxa de Seguro
Mín. Máx.
1 A 100.000 300.000 12 true 0.001
2 A 300.000 600.000 24 true 0.003
3 A   12 true 0.008
4 B       true 0.004
5         falso 0.005

Se uma célula vazia está em uma coluna de ação, a célula de ação é ignorada. Na tabela a seguir, a primeira regra não configura uma taxa de seguro.

  Classificação Quantia de empréstimo Seguro requerido Taxa de Seguro
Mín. Máx.
1 A <100.000 falso
2 100.000 300.000 true 0.001
3 300.000 600.000 true 0.003
4 ≥ 600.000 true 0.004

Células Otherwise

Você pode usar umOtherwisecélula para coletar todos os valores que já não estão cobertos em uma partição.

O comportamento das células otherwise pode mudar na presença de células vazias. O uso de células otherwise e vazias na mesma partição não é recomendado, pois isso pode criar sobreposições e tornar a tabela algo de difícil entendimento.

O significado de células otherwise segue estes princípios:
  • Se uma partição contiver uma célula otherwise e células com valores, a célula otherwise se aplicará aos valores que ainda não são cobertos por outras células na partição.
  • Se uma partição contiver uma célula de outra forma, células vazias e células com valores, as linhas com células vazias antes do primeiro valor serão avaliadas primeiro, todas as células com valores em segundo lugar e, em seguida, a célula de outra forma será avaliada. Por fim, as linhas vazias após a primeira célula com um valor são avaliadas após o contrário.
  • Se uma partição contiver uma célula otherwise e nenhuma outra, a célula otherwise se tornará irrelevante e será ignorada.
  • Se uma partição contiver uma célula otherwise e suas outras células estiverem vazias, a célula otherwise se tornará irrelevante e será ignorada.

Na tabela a seguir, oOtherwisecélula coleta todos os valores antes de 100000 e depois de 600000:

  Classificação Quantia de empréstimo Seguro requerido Taxa de Seguro
Mín. Máx.
1 A 100.000 300.000 true 0.001
2 300.000 600.000 true 0.003
3 Caso contrário true 0.004

Você lê as três regras da seguinte forma:

  • Regra 1

    se
       all of the following conditions are true:
          - the loan grade is A
          - the amount of loan is between 100000 and 300000
    então
       - set the insurance required to true
       - set the loan rate to 0.001
  • Regra 2

    se
       all of the following conditions are true:
          - the loan grade is A
          - the amount of loan is between 300000 and 600000
    então
       - set the insurance that is required to true
       - set the loan rate to 0.003
  • Regra 3

    se
       all of the following conditions are true:
          - the loan grade is A
          - it is not true that the amount of loan is between 300000 and 600000
    então
       - set the insurance that is required to true
       -configurar a taxa de empréstimo para 0.004 .

A terceira linha é a última linha aplicada. Se as linhas 1 e 2 não corresponderem às condições, a terceira regra será executada e a taxa do seguro será configurada como 0.004.

Caso contrário, com células vazias

Esta seção contém duas tabelas com o mesmo conteúdo para mostrar a ordem em que as linhas são avaliadas.

Na primeira tabela, a coluna Grade tem uma mistura de linhas que não contêm nada (vazias), valores e a condição Otherwise:

  Classificação Quantia de empréstimo Seguro requerido Taxa de Seguro
Mín. Máx.
1     ≤50,000 falso
2 A   <100.000 falso
3 A 100.000 300.000 true 0.001
4 A 300.000 600.000 true 0.003
5 B   <100.000 falso
6 B 100.000 300.000 true 0.003
7 B 300.000 600.000 true 0.005
8     ≥600.000 true 0.008
9 Caso contrário 100.000 300.000 true 0.05
22 Caso contrário 300.000 600.000 true 0.07
11 C   <100.000 true 0.004
12 C 100.000 300.000 true 0.006
13 C 300.000 600.000 true 0.006
14 C   ≥600.000 true 0.015
15     ≥600.000 true 0.016
As linhas são processadas na seguinte ordem, com base no conteúdo das células da coluna Grade (Nota):
  1. Linha 1, que está vazia. As linhas vazias antes da primeira linha com um valor são avaliadas primeiro.
  2. Linhas 2-7 e linhas 11-14, que contêm os valores A, B e C®.
  3. Linhas 9 e 10, que contêm a condição Otherwise.
  4. Linhas 8 e 15, que estão vazias. Elas são avaliadas após as linhas com valores em sua ordem de ocorrência, portanto, a linha 8 antes da linha 15.

A tabela a seguir mostra a ordem em que as linhas da tabela 1 são avaliadas:

  Classificação Quantia de empréstimo Seguro requerido Taxa de Seguro
Mín. Máx.
1     ≤50,000 falso
2 A   <100.000 falso
3 A 100.000 300.000 true 0.001
4 A 300.000 600.000 true 0.003
5 B   <100.000 falso
6 B 100.000 300.000 true 0.003
7 B 300.000 600.000 true 0.005
11 C   <100.000 true 0.004
12 C 100.000 300.000 true 0.006
13 C 300.000 600.000 true 0.006
14 C   ≥600.000 true 0.015
9 Caso contrário 100.000 300.000 true 0.05
10 Caso contrário 300.000 600.000 true 0.07
8     ≥600.000 true 0.008
15     ≥600.000 true 0.016