Filas y celdas
En una tabla de decisiones, los valores de las celdas de una fila definen las condiciones y acciones de una regla.
Puede crear una regla añadiendo una fila a una tabla y especificando valores en las celdas para condiciones y acciones. Cuando ejecuta las reglas en una tabla de decisiones, el motor de decisiones normalmente ejecuta las reglas fila por fila, desde la primera fila hasta la última fila. independientemente del modo de ejecuciónRetePlus, secuencial y Fastpath).
Sin embargo, el orden en el que se ejecutan las reglas puede cambiar si una tabla de decisiones tiene una definición enlazada a la memoria de trabajo o a un generador. Para Fastpath y secuencial, el motor de decisiones ejecuta primero todas las líneas para el primer objeto de la memoria de trabajo y, a continuación, pasa al siguiente objeto. Con RetePlus, el motor ejecuta todas las líneas para todos los objetos que están ordenados por número de fila desde la línea 1 hacia abajo.
| Grado | Importe del préstamo | Seguro requerido | Tasa del 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 |
Particiones
Puede agrupar un conjunto de filas consecutivas que tengan el mismo valor para una condición dada. En este caso, las celdas a la derecha de los valores agrupados forman parte de la misma partición. Todas las celdas de la primera columna de la tabla pertenecen a la misma partición de forma predeterminada.
En Diseñador de reglas, agrupe las celdas fusionándolas.
En la tabla siguiente, la celdas de Grado A de las filas 1 y 2 se han agrupado en una celda. Como consecuencia, las celdas que corresponden al importe del préstamo pasan a formar parte de la misma partición.
| Grado | Importe del préstamo | Seguro requerido | Tasa del seguro | ||
|---|---|---|---|---|---|
| Mín | Máx | ||||
| 1 | A | 100.000 | 300.000 | true | 0.001 |
| 2 | 300.000 | 600.000 | true | 0.003 | |
Puede leer las dos reglas de la siguiente manera:
Regla 1
si todas las condiciones siguientes son true: - el grado del préstamo es A - el importe del préstamo está entre 100000 y 300000 Entonces - set the insurance required to true - set the loan rate to 0.001Regla 2
si todas las condiciones siguientes son true: - el grado del préstamo es A - el importe del préstamo está entre 300000 y 600000 Entonces - set the insurance that is required to true - set the loan rate to 0.003
Una partición no puede derivarse únicamente del hecho de que las filas tengan el mismo valor. En la siguiente tabla, hemos añadido una fila que tiene el mismo valor para el grado que otras filas. Debido a que su valor para el grado no está agrupado con los otros, crea una nueva partición para el importe del préstamo y la partición existente sigue siendo la misma.
| Grado | Importe del préstamo | Seguro requerido | Tasa del seguro | ||
|---|---|---|---|---|---|
| Mín | Máx | ||||
| 1 | A | 50.000 | 100.000 | false | 0.001 |
| 2 | A | 100.000 | 300.000 | true | 0.001 |
| 3 | 300.000 | 600.000 | true | 0.003 | |
El siguiente ejemplo muestra una tabla más grande con varias particiones. CeldasAyBen el archivoGradecada una tiene una partición de celdas en elAmount of loancolumna. Significa que si una solicitud de préstamo tiene un grado A, una de las reglas 1 - 4 podría aplicarse dependiendo de la cantidad del préstamo. Aquí, por ejemplo, los valores posibles para el importe se dividen en los siguientes rangos: igual o inferior a 100000, 100000 - 300000, 300000 - 600000 y más de 600000. Estos rangos se prueban en las celdas a la derecha del grado A.
| Grado | Importe del préstamo | Seguro requerido | Tasa del seguro | ||
|---|---|---|---|---|---|
| Mín | Máx | ||||
| 1 | A | < 100.000 | false | ||
| 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 | false | ||
| 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 fila numerada de la tabla sigue formando una regla. El particionamiento le ayuda a comparar reglas con condiciones similares y encontrar solapamientos y espacios entre los valores de las reglas.
En las columnas de condición, puede cambiar el operador de determinadas celdas. La columna se puede definir con un operador is between <min> and <max> , que se utiliza para la mayoría de las filas, y puede alterar temporalmente este operador para la última fila de una partición para que coincida con todos los valores restantes con un operador more than <min> . Como estos operadores no necesitan el mismo número
de parámetros, la columna puede mostrar un número diferente de subcolumnas según la fila.
Celdas vacías
Una fila puede contener celdas vacías. Si una celda vacía está en una columna de condición y hay al menos una condición en la fila, se ignora la condición asociada a la celda vacía. En este caso, se evalúa la siguiente celda o partición a su derecha, si la hay. Si una fila contiene solo celdas vacías en las columnas de condición, la regla no es aplicable y se ignora toda la fila, incluso si hay acciones en las columnas de acción.
- En la fila 3, la decisión se basa en el grado y en la duración del préstamo. El importe del préstamo se ignora.
- En la fila 4, la decisión se basa únicamente en el grado.
- La fila 5 se ignora porque no contiene ninguna condición.
| Grado | Importe del préstamo | Duración del préstamo | Seguro requerido | Tasa del seguro | ||
|---|---|---|---|---|---|---|
| Mín | Máx | |||||
| 1 | A | 100.000 | 300.000 | 6 | true | 0.001 |
| 2 | A | 300.000 | 600.000 | 24 | true | 0.003 |
| 3 | A | 6 | true | 0.008 | ||
| 4 | B | true | 0.004 | |||
| 5 | false | 0.005 | ||||
Si la celda vacía está en una columna de acción, la celda de acción será ignorada. En la tabla siguiente, la primera regla no establece una tarifa de seguro.
| Grado | Importe del préstamo | Seguro requerido | Tasa del seguro | ||
|---|---|---|---|---|---|
| Mín | Máx | ||||
| 1 | A | < 100.000 | false | ||
| 2 | 100.000 | 300.000 | true | 0.001 | |
| 3 | 300.000 | 600.000 | true | 0.003 | |
| 4 | ≥ 600.000 | true | 0.004 | ||
Celdas De lo contrario
Puede utilizar unOtherwisepara recopilar todos los valores que todavía no están cubiertos en una partición.
El comportamiento de celdas De lo contrario puede cambiar en la presencia de células vacías. No se recomienda utilizar las celdas vacías y De lo contrario en la misma partición porque pueden crear solapamientos y hacer que la tabla sea difícil de entender.
- Si una partición contiene una celda De lo contrario y celdas con valores, la celda De lo contrario se aplica a valores que aún no están cubiertos por otras celdas de la partición.
- Si una partición contiene una celda vacía, celdas con valores y celdas que no contienen valores, se evalúan primero las filas con celdas vacías antes del primer valor, después todas las celdas con valores y, por último, se evalúa la celda que no contiene valores. Finalmente, las filas vacías después de la primera celda con un valor se evalúan después del otherwise.
- Si una partición contiene una celda De lo contrario y ningún otra celda, la celda De lo contrario pasa a ser irrelevante y se ignora.
- Si una partición contiene una celda De lo contrario y todas las otras celdas están vacías se vuelven irrelevantes y se ignoran.
En la tabla siguiente, elOtherwisela celda recopila todos los valores anteriores a 100000 y posteriores a 600000:
| Grado | Importe del préstamo | Seguro requerido | Tasa del seguro | ||
|---|---|---|---|---|---|
| Mín | Máx | ||||
| 1 | A | 100.000 | 300.000 | true | 0.001 |
| 2 | 300.000 | 600.000 | true | 0.003 | |
| 3 | Si no | true | 0.004 | ||
Las tres reglas se leen como sigue:
Regla 1
si todas las condiciones siguientes son true: - el grado del préstamo es A - el importe del préstamo está entre 100000 y 300000 Entonces - set the insurance required to true - set the loan rate to 0.001Regla 2
si todas las condiciones siguientes son true: - el grado del préstamo es A - el importe del préstamo está entre 300000 y 600000 Entonces - set the insurance that is required to true - set the loan rate to 0.003Regla 3
si todas las condiciones siguientes son true: - el grado del préstamo es A - it is not true that the amount of loan is between 300000 and 600000 Entonces - set the insurance that is required to true -establezca la tasa de préstamo en 0.004
La tercera fila es la última fila aplicada. Si las filas 1 y 2 no coinciden con las condiciones, se ejecuta la tercera regla y la tasa del seguro se establece en 0.004.
De lo contrario, con celdas vacías
Esta sección contiene dos tablas con el mismo contenido para mostrar el orden en que se evalúan las filas.
En la primera tabla, la columna Grado tiene una mezcla de filas que no contienen nada (vacías), valores y la condición De lo contrario:
| Grado | Importe del préstamo | Seguro requerido | Tasa del seguro | ||
|---|---|---|---|---|---|
| Mín | Máx | ||||
| 1 | ≤50 000 | false | ⊘ | ||
| 2 | A | < 100.000 | false | ⊘ | |
| 3 | A | 100.000 | 300.000 | true | 0.001 |
| 4 | A | 300.000 | 600.000 | true | 0.003 |
| 5 | B | < 100.000 | false | ⊘ | |
| 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 | Si no | 100.000 | 300.000 | true | 0.05 |
| 10 | Si no | 300.000 | 600.000 | true | 0.07 |
| 5 | C | < 100.000 | true | 0.004 | |
| 6 | C | 100.000 | 300.000 | true | 0.006 |
| 13 | C | 300.000 | 600.000 | true | 0.006 |
| Un 14 | C | ≥600.000 | true | 0.015 | |
| 19 | ≥600.000 | true | 0.016 | ||
- Fila 1, que está vacía. Las filas vacías antes de la primera fila con un valor se evalúan primero.
- Filas 2-7 y filas 11-14, que contienen los valores A, B y C®.
- Filas 9 y 10, que contienen la condición Otherwise.
- Las filas 8 y 15, que están vacías. Se evalúan después de las filas con valores en su orden de aparición, por lo que la fila 8 antes de la fila 15.
La siguiente tabla muestra el orden en que se evalúan las filas de la tabla 1:
| Grado | Importe del préstamo | Seguro requerido | Tasa del seguro | ||
|---|---|---|---|---|---|
| Mín | Máx | ||||
| 1 | ≤50 000 | false | ⊘ | ||
| 2 | A | < 100.000 | false | ⊘ | |
| 3 | A | 100.000 | 300.000 | true | 0.001 |
| 4 | A | 300.000 | 600.000 | true | 0.003 |
| 5 | B | < 100.000 | false | ⊘ | |
| 6 | B | 100.000 | 300.000 | true | 0.003 |
| 7 | B | 300.000 | 600.000 | true | 0.005 |
| 5 | C | < 100.000 | true | 0.004 | |
| 6 | C | 100.000 | 300.000 | true | 0.006 |
| 13 | C | 300.000 | 600.000 | true | 0.006 |
| Un 14 | C | ≥600.000 | true | 0.015 | |
| 9 | Si no | 100.000 | 300.000 | true | 0.05 |
| 10 | Si no | 300.000 | 600.000 | true | 0.07 |
| 8 | ≥600.000 | true | 0.008 | ||
| 15 | ≥600.000 | true | 0.016 | ||