Altova MapForce 2026 Enterprise Edition

Una tabla de decisiones es un conjunto de reglas que evalúan una o más condiciones de entrada y proporcionan el valor o valores de salida correspondientes. Una tabla de decisiones tiene las siguientes características:

 

Cada fila de una tabla de decisiones representa una regla.

Cada regla consta de condiciones (entradas) y acciones (salidas).

Si todas las condiciones de entrada de una regla son verdaderas, se realizará la acción correspondiente si cumple con la política de aciertos.

Para cada tabla de decisiones, existe una política de aciertos que define qué reglas se implementan y qué resultados se generan. Para más detalles, consulte Política de aciertos más abajo.

 

Las tablas de decisiones suelen utilizarse en sistemas de automatización de procesos y gestión de decisiones para:

 

simplificar una lógica de toma de decisiones compleja, dividiéndola en reglas manejables

garantizar la coherencia en diferentes situaciones mediante el uso de un conjunto de reglas centralizado

facilitar a los usuarios que carecen de conocimientos técnicos el proceso de definición y gestión de la lógica sin necesidad de programar código

 

Cómo agregar una tabla de decisiones a una asignación de datos

Para agregar un componente Tabla de decisiones a su asignación de datos, siga uno de los pasos que se indican a continuación:

 

Haga clic en el comando de menú Insertar | Tabla de decisiones.

Haga clic en el comando ic-DecisionTable de la barra de herramientas.

Seleccione el componente Tabla de decisiones en la pestaña Procesamiento de la Galería de componentes (se abre con el comando ic-AddCompFromGallery de la barra de herramientas).

 

Independientemente del método elegido, el componente Tabla de decisiones aparecerá en la asignación de datos (imagen siguiente).

MF_DecisionTableComponent

 

Estructura de una tabla de decisiones

Al hacer doble clic en el título de una tabla de decisiones, se abren las propiedades de este componente (imagen siguiente). Observe la organización del cuadro de diálogo:

 

La mitad superior del cuadro de diálogo Propiedades de la tabla de decisiones describe la sintaxis y ofrece ejemplos de varias condiciones (botón Mostrar/Ocultar condiciones de muestra).

La mitad inferior del cuadro de diálogo sirve para configurar los valores de entrada y salida que constituirán las reglas.

mf_decisiontableproperties_zoom50

Definir entradas/salidas

De forma predeterminada, hay una columna de entrada (input) y una columna de salida (output). Para agregar más entradas y/o salidas:

 

1.Vuelva al componente Tabla de decisiones y haga clic en el icono correspondiente ( gui_add_function_parameter ).

2.Edite la entrada/salida recién creada según sea necesario en el cuadro de diálogo Propiedades de la tabla de decisiones.

 

Para cada entrada y salida, establezca un tipo de datos adecuado. Para ello, elija el tipo de datos deseado en la lista desplegable de cada entrada/salida (imagen siguiente). También puede cambiar el nombre de las columnas haciendo clic en el icono del lápiz o haciendo doble clic en el título de la columna correspondiente. Para agregar o editar un valor, haga doble clic en la celda correspondiente e introduzca el valor.

 

Menú contextual de las celdas de salida

Al hacer clic con el botón derecho en una celda de la columna de salida (en nuestro caso, Discount), se abre el menú contextual de la celda (imagen siguiente). Con este menú, puede hacer lo siguiente:

 

introducir un valor fijo en una celda de salida (Valor literal).

fijar un valor de salida en NULL

pasar los valores de las columnas de entrada existentes si los tipos de datos son compatibles

MF_DecisionTableContextMenu

 

Botones para administrar los datos de la tabla

En esta tabla puede ver los botones que están disponibles para administrar los datos de la tabla de decisiones.

 

Botón

Descripción

ic-InsertRow

Inserta una fila encima de la fila seleccionada.

ic-DeleteRow

Elimina la fila seleccionada de forma permanente.

ic-undo

Revierte la acción anterior.

ic-redo2

Restaura la última acción deshecha.

ic-Cut

Elimina la fila seleccionada y la copia en el portapapeles.

ic-Copy

Copia las celdas seleccionadas en el portapapeles.

ic-PasteTable

Pega la tabla copiada del portapapeles.

 

Política de aciertos

La política de aciertos determina cómo gestionar las entradas que coinciden con varias reglas y especifica qué salidas devolver.

 

Primera regla de coincidencia

La política de la primera regla de coincidencia significa que:

 

La tabla de decisiones evalúa las reglas de arriba abajo.

Solo se ejecuta la primera regla de coincidencia.

Las demás reglas de coincidencia se ignoran.

 

Esta política está indicada cuando las reglas son mutuamente excluyentes o cuando la prioridad es importante.

 

 

Todas las reglas de coincidencia

La política de todas las reglas de coincidencia funciona así:

 

La tabla de decisiones evalúa todas las reglas.

Se ejecutan todas las reglas de coincidencia y los resultados se devuelven en forma de secuencia.

 

Esta política ha de utilizarse cuando se deban aplicar varias reglas simultáneamente.

 

 

Ejemplo

Un banco quiere decidir qué prestaciones conceder a un solicitante de un préstamo basándose en dos condiciones:

 

Puntuación crediticia

Nivel de ingresos

 

Las reglas son las siguientes:

 

Puntuación crediticia

Nivel de ingresos

Acción

≥ 750

≥ 50 000

Tipo de interés más bajo

≥ 700

≥ 40 000

Límite de préstamo más alto

≥ 650

≥ 30 000

Bonificación en efectivo

 

Por ejemplo, un cliente tiene una puntuación crediticia de 760 y unos ingresos de 60 000.

 

Primera regla de coincidencia

Las reglas se evalúan de arriba abajo.

Solo se aplica la regla 1: Tipo de interés más bajo.

 

Todas las reglas de coincidencia

Se aplican todas las reglas que cumplan las condiciones.

Los datos del cliente cumplen todas las reglas.

El resultado incluye la siguiente secuencia: Tipo de interés más bajo., Límite de préstamo más alto, Bonificación en efectivo.

 

Caso de uso: Reglas de descuento para clientes

El ejemplo descrito en este apartado muestra cómo una empresa minorista aplica descuentos en función del tipo de cliente y del importe de la compra.

 

Asignación

Hemos creado la asignación de datos que aparece más abajo para ilustrar el uso del componente Tabla de decisiones.

MF_OrderDiscountsMapping

Origen

El componente de origen es un archivo CSV que contiene una lista con los detalles del pedido:

 

order_id,customer_id,customer_type,purchase_amount

ORD-1001,CUST-501,VIP,600.00

ORD-1002,CUST-502,Regular,450.00

ORD-1003,CUST-503,New Customer,250.00

ORD-1004,CUST-504,VIP,180.00

ORD-1005,CUST-505,Regular,520.00

ORD-1006,CUST-506,New Customer,150.00

 

Tabla de decisiones

La tabla de decisiones aplica reglas de descuento basadas en el tipo de cliente (customer_type) y el importe de la compra (purchase_amount). En la imagen siguiente puede ver cómo se han definido las reglas de descuento en la tabla de decisiones. La política de aciertos elegida es Primera regla de coincidencia. El signo «-» representa cualquier valor.

MF_OrderDiscountsDecisionTable

Las reglas se evalúan de la siguiente manera:

 

Si el importe de la compra de un cliente VIP es igual o superior a 500, este cliente recibe un descuento del 30 %.

Si el importe de la compra de cualquier cliente es igual o superior a 500, este cliente recibe un descuento del 20 %.

Si el importe de la compra de un cliente VIP es igual o superior a 300, este cliente recibe un descuento del 20 %.

Si el importe de la compra de cualquier cliente es igual o superior a 300, este cliente recibe un descuento del 10 %.

Si ninguna de las reglas anteriores es aplicable, se muestra el valor null.

 

Destino

El componente de destino es una base de datos SQLite denominada Orders que almacena información sobre los pedidos de los clientes. Cada fila representa un pedido individual y contiene el identificador del pedido, el cliente, el tipo de cliente, el importe de la compra y el descuento aplicable. El campo discount_percentage admite valores NULL, almacena el descuento calculado por la tabla de decisiones y representa el porcentaje del importe de la compra que se debe deducir del pedido.

 

Resultados

Después de ejecutar la asignación de datos y de escribir los datos en la base de datos, obtenemos el siguiente resultado:

MF_OrderDiscountsOutput

Dado que los pedidos 1003, 1004 y 1006 no cumplen ninguna condición de entrada en la tabla de decisiones, los valores de discount_percentage para estos pedidos se han fijado en NULL.

 

© 2019-2025 Altova GmbH