
En el post anterior de esta serie, mencionamos que el modelado basado en datos en Simio puede reducirse a dos pasos clave: introducir los datos en Simio y, a continuación, utilizar los datos para controlar los objetos y procesos del modelo de Simio. En este post, nos centraremos en cómo pueden utilizarse las Tablas de datos de Simio para facilitar el modelado basado en datos y la integración con aplicaciones externas.
Las tablas de datos de Simio almacenan datos tabulares utilizando una estructura estándar de filas y columnas en la que se puede hacer referencia a elementos de datos individuales de forma dinámica utilizando las funciones estándar Tabla[Fila, Columna] o Tabla[Fila].NombreColumna. Sin embargo, el verdadero poder viene con el uso de Referencias de Fila para asignar filas de tabla específicas a Objetos Simio o Fichas. Una vez establecida una Referencia de Fila, los elementos de datos se referencian utilizando Table.ColumnName y la fila específica de la tabla se deduce de la Referencia de Fila. Esto facilita el modelado basado en datos, en el que gran parte de la lógica y las propiedades del modelo se especifican mediante Tablas de datos.
Cómo empezar
Considera un modelo de sistema de atención al cliente en el que los objetos Servidor se utilizan para representar procesos individuales de atención al cliente, las Entidades se utilizan para representar a los clientes, y los tiempos de procesamiento en los Servidores dependen del tipo de cliente y del paso en la secuencia de procesamiento del cliente. Al establecer una Referencia de Fila cuando se crea una Entidad y se conoce el tipo de cliente, el procesamiento posterior en el modelo utiliza la Referencia de Fila para acceder directamente a los datos específicos del tipo de cliente. De este modo, las propiedades del objeto Servidor son independientes del tipo de cliente, ¡ya que los datos específicos del tipo se almacenan en la tabla! Esto elimina la necesidad de utilizar lógica condicional para reaccionar al tipo de cliente en cada Servidor. Además, es sencillo añadir nuevos tipos de cliente y experimentar con diferentes características de procesamiento, tasas de llegada de clientes y la mezcla de tipos de cliente editando las Tablas de Datos en lugar de las propiedades y la lógica del objeto modelo directamente.
Definir la estructura de la tabla
Crear Tablas de datos es un proceso sencillo en el que defines la estructura de la tabla especificando el tipo de datos de cada columna. Simio admite una gran variedad de tipos de datos, incluidos tipos estándar como entero, real, cadena, DateTime y booleano, así como tipos específicos de Simio como Expresión, Referencia a objeto, Referencia a elemento y muchos otros. Por ejemplo, en la tabla de tipos de cliente de nuestro sistema de atención al cliente, podríamos definir el tipo de cliente mediante una columna Referencia a objeto, el tiempo de procesamiento de ese tipo de cliente mediante una columna Expresión, y la prioridad del cliente mediante una columna entera. Aquí, cuando se crea una entidad cliente, el tipo de objeto se especifica en la tabla en lugar de codificarse en el objeto Fuente. Del mismo modo, cuando la entidad llega a un Servidor, la prioridad y el tiempo de procesamiento se leen de la tabla en lugar de estar codificados en el objeto Servidor.
Introducir datos en la tabla
Tras definir la estructura de una tabla, hay tres formas básicas de introducir datos en ella: manualmente, como harías con una hoja de cálculo; utilizando copiar y pegar desde el Portapapeles de Windows (por ejemplo, copiando en el Portapapeles desde una hoja de cálculo de Excel y pegando desde el Portapapeles directamente en una Tabla de Datos de Simio); e importando/exportando datos utilizando un Enlace de Datos. La introducción manual de datos y copiar y pegar son métodos fáciles de usar para añadir/editar cantidades relativamente pequeñas de datos, pero pueden resultar tediosos para grandes cantidades y/o datos que cambian con frecuencia. ¡Aquí es donde brilla el uso de los Enlaces de Datos!
Los enlaces de datos conectan las Tablas de datos de Simio a fuentes de datos externas, como archivos CSV, libros de Excel, bases de datos y URL de API web, para facilitar la importación y la exportación. Un ejemplo de caso de uso con nuestro modelo de centro de atención al cliente podría consistir en vincular una Tabla de Llegadas de Simio a una base de datos de llegadas históricas de clientes y utilizar el modelo de Simio para experimentar con configuraciones alternativas del sistema utilizando los datos reales de llegadas de clientes. Otro caso de uso podría consistir en utilizar un enlace de exportación para escribir los datos de ejecución del modelo en un libro de Excel para realizar un análisis detallado con una herramienta externa de análisis de datos, como PowerBI o Tableau. El uso de Data Bindings simplifica significativamente la entrada/salida de datos y proporciona un conducto para integrar los modelos de Simio con otras aplicaciones de escritorio, empresariales y basadas en la nube.
Por último, las Tablas de Datos de Simio implementan el modelo de datos relacional mediante Columnas Clave y Claves Foráneas. Esto te permite «conectar» tablas relacionadas utilizando campos comunes, de modo que cuando estableces una Referencia de Fila en una tabla, se establecen automáticamente las Referencias de Fila de las filas relacionadas en las tablas conectadas. En nuestro ejemplo del servicio de atención al cliente, la tabla de tipo de cliente podría relacionarse con la tabla de llegada de clientes por tipo de cliente, lo que nos permitiría almacenar los datos de tipo de cliente en una tabla y los datos de llegada de clientes en otra, de modo que no tuviéramos que replicar los datos, pero siguiéramos teniendo acceso directo a todos los datos que necesitáramos para un cliente o tipo de cliente determinado.
Éxito con el modelado basado en datos Modelización
El modelado basado en datos es un paradigma muy potente, y su uso es el procedimiento operativo estándar para todos los modelos que desarrollamos internamente en Simio. Emplear el modelado basado en datos y los datos relacionales sienta las bases para el modelado generado por datos mediante objetos personalizados y plantillas de Simio, de los que hablaremos en futuras entradas.
Para saber más sobre la tecnología de Simio, impulsada por los datos, haz clic aquí.