Lectura de datos Excel desde AnyLogic

Lo que realmente se hace es cargar el fichero Excel a una base de datos, y una vez está cargada, ya la podemos leer.

 

Lo primero será escribir una Excel. Por ejemplo, escribimos de un grupo de alumnos, el nombre y la nota del examen de cada uno, en dos columnas distintas, y con el encabezado “Nombre” y “Nota Examen” respectivamente:

1

Seguidamente y muy importante para poder leer los datos, crearemos un rango con los datos que hemos escrito. Esto será necesario, porque para leer la base de datos donde carguemos el fichero hemos de buscar un rango y después ya cogemos los datos que nos interesen del mismo. Para crear el rango seleccionamos todas las celdas en las que hemos introducido datos y después ponemos el nombre del rango en la casilla que está arriba de la columna A:

 

2

 

Guardamos el fichero y ya hemos terminado con la parte del Excel. Lo siguiente ya es con el AnyLogic.

Creamos un modelo nuevo con AnyLogic. En el “main” creamos un “Database” que llamaremos “datosAlumnos”, un “Event”, que llamaremos “cargaDatos”, y un “Collection Variable” que la llamaremos “notaExamen”. El proceso consistirá en cargar los datos de la Excel en “datosAlumnos”, y mediante “cargaDatos” se leerán estos y se copiarán en la variable “notaExamen”.

 

3

 

Seleccionamos “datosAlumnos”, y ponemos en Type: Excel/Access, escribimos la ruta donde hemos guardado el fichero en File, y le damos al botón “Test connection”, entonces debe aparecernos el mensaje “OK”, tal y como muestra la figura siguiente:

 

4

Ahora se creará una clase nueva donde se almacenarán datos de notas, es decir, un tipo de datos que esté compuesto por una cadena de caracteres y un número, para así, con un solo dato se pueda almacenar el nombre y la nota de un alumno. Para ello con el botón derecho del ratón pinchamos sobre el nombre del modelo (en la columna izquierda de la pantalla del AnyLogic), y seleccionamos New → Java Class:

 

5

 

Le ponemos el nombre de “Notas” por ejemplo, y pinchamos en Next para meter el tipo de datos que queremos que contenga. En nuestro caso:

 

6

 

Seguidamente seleccionamos “cargaDatos” y seleccionamos las opciones correspondientes para que se carguen los datos solamente una vez, y en el momento inicial, como sigue:

 

7

Luego, debemos escribir la acción que queramos que haga “cargaDatos”. Para ello y en nuestro caso, hemos de escribir el siguiente código en el espacio “Action”:

 

8

Esto lo que hace es borrar inicialmente el contenido de la variable “notaExamen” si existiese, después selecciona todas las columnas del rango “Alumnos” que habíamos creado en la Excel, y las va leyendo fila a fila y almacenándolas en la variable “notaExamen”. El proceso de lectura de la base de datos que nos hace falta en este caso es muy básico, pero para mayor seguridad se puede consultar el siguiente manual http://www.infor.uva.es/~jvegas/cursos/bd/sqlplus/sqlplus.html

 

Finalmente y para que funcione el modelo, hemos de decir que la variable “notaExamen” sea de tipo “Nota”, que es la clase que hemos creado. Para esto seleccionamos dicha variable y ponemo “Notas” en el campo “Elements Class”.

 

9

 

Ahora ya podemos lanzar el modelo y veremos como se almacenan el nombre de los alumnos y sus respectivas notas en la variable “notaExamen”:

 

10

Anuncios

13 Responses to Lectura de datos Excel desde AnyLogic

  1. jaracohe dice:

    Definitivamente es el mejor blog en Castellano que se puede encontrar.

    • xapuiber dice:

      Muchas gracias JARACOHE, aunque creo que tus publicaciones son más completas que estos pequeños aportes.

  2. jaracohe dice:

    Muy bien Xavi. Buen Post, lo encontré por casualidad en la web.

  3. pepe dice:

    me gustaria saber alguna pagina donde venga un tutorial

    grasiasss…

  4. buyvigrx dice:

    Hello. Great job. I did not expect this on a Wednesday. This is a great story. Thanks!

  5. Extenze dice:

    amazing stuff thanx 🙂

  6. Francisco dice:

    Hola, aprovechando esta misma página, alguien me puede facilitar algún ejemplo simple sobre optimización en AnyLogic. Existen muchos campos que no sé cómo se rellenan y creo que con un simple ejemplo me podré hacer una idea. Puede ser una simulación discreta, un MM2 por ejemplo, Experiment–>optimization.
    Desde ya, muchas gracias.
    Francisco

  7. LnddMiles dice:

    Great post! I’ll subscribe right now wth my feedreader software!

  8. Pretty cool post. I just stumbled upon your blog and wanted to say
    that I have really liked reading your blog posts. Anyway
    I’ll be subscribing to your blog and I hope you post again soon!

  9. Francisco dice:

    Gracias por esta ayuda desinteresada. ¿Es posible realizar consultas acerca de AnyLogic?, estoy aprendiendo a usarlo.
    Desde ya, muchas gracias

    • xavierpuig dice:

      Gracias por tus agradecimientos, me complace que alguien lea estas sencillas instrucciones que cuelgo en el blog.
      Símplemente soy un estudiante de ingeniería, y en lo que respecta a AnyLogic, hace poco tiempo que lo estoy usando, y voy aprendiendo día a día.
      Es posible que no sepa responder a las consultas, pero aún así podrían ser útiles para plantearme nuevas situaciones.

  10. Pilar dice:

    Está genial!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: