21 sept 2010

Motion Chart by Master Excel

Share
Introducción

 
    En el artículo anterior relate sobre la historia, desarrollo y el uso del Grafico Motion Chart; sinceramente me encanto mucho esta aplicación estadista, así que decidí desarrollar una aplicación más completa que emule algunas de las cualidades más significativas de este sistema en ambiente MS Excel.
    En los siguientes temas explicare como alimentar la aplicación con información para poder realizar análisis, así como también sus comandos y funcionamiento.

Motion chart by Master Excel

    Sinceramente la forma en que trabaja esta aplicación es muy sencilla, pero la aportación que da la información al ser exhibida en ambiente gráfico es sumamente interesante, como se podrán cerciorar en la imagen animada de la portada.

Los comandos con los que vamos a trabajar son los siguientes:
  • Lista desplegable escala lineal y logarítmica
  • Lista desplegable ejes "X", "Y" y "burbuja"
  • Barra deslizadora de velocidad de animación
  • Barra deslizadora de tiempo
  • Botón Play / Stop
  • Botón Refresh
  • Lista de ciudades

Lista desplegable escala lineal y logarítmica
    La función de esta lista es la de ajustar los ejes "X" y "Y" de manera lineal o logarítmica, la razón del por qué este ajuste es que hay veces que la información graficada puede tener tintes logarítmicos o exponenciales, que hacen difícil la apreciación de la distribución de los puntos graficados si utilizamos una escala lineal.

Lista desplegable ejes "X", "Y" y "burbuja"
    En esta lista se seleccionará los indicadores de interés a analizar.

Barra deslizadora de velocidad de animación
    Esta barra nos ayuda mucho al momento de querer apreciar un acontecimiento significativo en el gráfico, de forma que podamos disminuir la velocidad de animación para una mejor apreciación y viceversa en el caso de que se suscite una factor no relevante tenemos la opción de aumentar la velocidad de animación.

Barra deslizadora de tiempo
    Esta opción nos facilita desplazarnos a placer al año de nuestra predilección, de manera rápida y cómodamente.

Botón Play / Stop
    Este botón es el responsable de crear la magia de la animación de la gráfica, con el podemos reproducir o parar cuantas veces queramos la animación.

Botón Refresh
    Este botón fue diseñado especialmente para incluir nuevos indicadores en la gráfica, con el fin de ofrecer una gama infinita de opciones para analizar datos.

Lista de ciudades
    En esta lista se visualizan las ciudades concernientes a los indicadores.

 
¿Cómo agregar nuevos indicadores a la aplicación?

    Actualmente la fundación Gapminder (desarrollador del Trendalyzer software system) distribuye de manera gratuita las bases de datos (formato MS Excel) del cual se alimenta el software de estadística motorizada (Motion Chart), para crear sus animaciones estadistas. El software que desarrolle (Motion Chart by Master Excel) está diseñado exclusivamente para alimentarse de estas bases de datos (los indicadores), el método para incluir las bases de datos a la aplicación (Motion Chart by Master Excel) es resumida en unos sencillos pasos.

    Primero descargamos la base de datos de interés desde la pagina http://www.gapminder.org/data/, en el apartado DATA, en el seleccionamos el indicador deseado y descargamos el archivo seleccionando con el mouse el icono de MS Excel.


    Después abrimos el archivo descargado en Ms Excel, consecutivamente nos ubicamos en la pestaña donde se encuentra la base de datos del indicador y le cambiamos el nombre a la pestaña por el nombre del indicador.


    Ahora lo siguiente es trasladar la hoja del indicador a la aplicación (motion chart by Master Excel) previamente abierta, para ello nos volvemos a colocar en la pestaña donde se encuentra la base de datos ya con el nuevo nombre, oprimimos clic derecho y seleccionamos la opción "Mover o copiar…", en la ventana que aparece habilitamos la opción "Crear una copia", después seleccionamos la hoja de interés a trasladar (en este caso la base de datos del indicador), y en la opción "Al libro:" seleccionamos el libro donde deseamos trasladar la hoja, el cual sería el libro donde se encuentra ubicado la aplicación motion chart y aceptamos.


    Por ultimo nos situamos en la aplicación motion chart y oprimimos el botón Refresh para actualizar la base de datos e incluir en nuestro análisis el indicador descargado.



Video podcast of motion chart by Master Excel

 

 
Puedes descargar aquí el libro de Microsoft Excel gratis:


 
    Bueno con esto concluyo este artículo esperando que haya sido de su total agrado, me gustaría  que me apoyen a mejorar estos artículos con sus comentarios y sugerencias que son muy importantes para mí.

    Recuerden visitar mi otro blog Excel4Lean, ahí encontrarán técnicas interesantes para análisis y mejoras de procesos productivos.

¿Qué sigue?

    En el siguiente artículo hablaré de cómo crear una lista desplegable que se actualice automáticamente sin utilizar macros.

    Saludos, best regards.

«Disfruta el compartir conocimiento»

6 ago 2010

Motion Chart

Share
Introducción





Tal vez es una de las aplicaciones estadistas más interesantes e innovadores que haya visto; me quede asombrado la primera vez que vi esta aplicación funcionando, pues al analizar sustancialmente la información que se presenta de manera grafica, se me figuro estar viendo el relato de una historia basada números, ahí fue cuando me percate de el verdadero potencial que atesora esta aplicación.
El inventor de la estadística motorizada o "Trendalyzer", fue el sueco Hans Rosling, que actualmente ejerce como profesor de salud internacional en el Instituto Karolinska y es director de la fundación Gapminder. 

    Hans Rosling fue la mente creativa que desarrollo el Trendalyzer software system (sistema software en estadística motorizada), mejor conocido como motion chart. El Motion chart o grafico en movimiento, se podría describir como un gráfico que mezcla las propiedades del grafico de burbuja (bubble chart) y las de un aparato reproductor de video. 


Antes de explicar cómo emular esta aplicación en Excel creo que es imprescindible esclarecer con una breve descripción las características del gráfico de burbuja.

Para los impacientes pueden descargar el archivo de Microsoft Excel gratuitamente aquí:

 
Bubble chart

Este gráfico es una variación del gráfico de dispersión, que se diferencia por tener una tercera variable que representa el tamaño de la circunferencia radial de la burbuja. Este representa una serie de datos como puntos en el espacio definidos por los ejes "X", "Y" y el "tamaño"; en donde dichas coordenadas son alimentadas por 3 diferentes variables. 

Este tipo de graficó está diseñado para encontrar posible correlación en 3 patrones, por sus características este gráfico nos facilita mucho el entendimiento de fenómenos sociales, económicos, médicos o científicos entre otros.

Narrando la historia
   
Imagínense que están analizando varios patrones de una fuente de datos bastante extensa, que contiene información de varios años, y están interesados en conocer la correlación de 3 parámetros así como su tendencia, con el fin de obtener una idea aproximada del comportamiento de dichas muestras a través de los años.

Al parecer suena un tarea bastante laboriosa; pues estamos ablando de analizar mucha información de varios años con más de 2 paramentaros distintos.

Por ejemplo si queremos analizar la correlación que existe en "la tasa de nacimientos de niños por cada mujer" VS "la inflación económica" y "la población total" de 222 países desde el año 1800 hasta el 2009, que suman un total si mis cálculos son correctos de "(222 países *(2009-1800) años * 3 parámetros) = 139,194 datos" , en un tiempo relativamente corto, ¿que pensarían? si les digo que esa información puede ser analizada en cuestión de según con gran exactitud con la ayuda del "Trendalyzer software system" (Motion Chart).

Como ejemplificación figúrense un grafico de burbuja con las propiedades de una video casetera con un botón que dice "play" como aditamento, que al ser activado puede reproducir como una película la evolución de los parámetros a través del tiempo, y tu solo te preocupas por procurar un asiento cómodo y unas palomitas con mantequilla para disfrutar de la función; analógicamente suena como una película de ciencia ficción el divagar en esos criterios superlativos, quizás porque los paradigmas impuestos nos persuaden a discernir la estadística como estática, sin embargo el Profesor Hans Rosling no estaba de acuerdo en ello y propuso esta alternativa.

Para que conozcan el verdadero poder del "Motion Chart" les presento este video donde el profesor Hans Rosling imparte una conferencia en Monterrey California acerca de la salud mundial.


    Después de ver este video, simplemente quede fascinado; cuando el Profesor Hans Rosling mostro su sistema estadístico por primera vez, contemple con gran asombro y lucidez el potencial de este sistema, es como si al ver la gráfica moverse autónomamente, sola estuviera narrando su propia historia, fue algo asombroso en donde nunca antes había visto la estadística de esta manera, fue muy interesante, divertida y sencilla de entender.

Actualmente la fundación Gapminder distribuye un software gratuito para análisis exclusivo de sus bases de datos.

    El link para bajarlo se encuentra aquí: http://www.gapminder.org/downloads/.
    
Procedimiento para crear un gráfico motorizado (motion chart)

    Para poder crear el efecto cuadro por cuadro como un reproductor de video procesa las imágenes, se necesita crear una macro que modifique un valor en cierta fracción de tiempo, esto es posible con una subrutina que contiene la librería "kernel32" llamada sleep, en la siguiente imagen se muestra la macro con la subrutina.


    Esta subrutina la utilizaremos más adelante, primero necesitamos crear la tabla donde se va a alimentar nuestra gráfica.

    Ya terminada nuestra tabla el siguiente paso es crear una clave que consolide los valores de los campos "Fecha" y "Concepto" en uno solo, esto se resuelve concatenando los valores de los dos campos, como se ilustra en la imagen siguiente.


    Esta clave nos ayudará a localizar el valor de la fecha y el concepto con la función "=buscarv()" (=vlookup()), después procederíamos a crear la formula donde se colocará la fecha (celda K1) que nos ayudará a definir los valores de cada concepto, la formula debe de hacer referencia con el primero valor que contiene el campo "Fecha" (celda A2) mas el valor que contiene la celda del "numero pivote" (celda I1), la formula seria "=$A$2+I1".


    Para realizar una búsqueda de los valores que alimentarán la gráfica, no apoyaremos en la formula "=buscarv(valor_buscado,matriz_buscar_en,indicador_columna,[ordenado])"; el procedimiento es el siguiente, primero nos ubicamos en la primera celda de la tabla creada previamente (celda I4) ahí introducimos la función =buscarv(), en la sección valor buscado de dicha función, introducimos la fórmula para concatenar los valores de concepto y fecha ("$K$1&$H4"), en la sección matriz a buscar escribiremos el rango que contiene los valores a graficar junto con el campo clave ("$C$2:$F$247"), en la sección indicador de columna escribiremos el numero de la columna donde se encuentran los valores de interés a buscar, en este caso nos interesa los valores del campo "X" que sería el numero 2, y por ultimo concluimos con el valor 0 para encontrar la coincidencia exacta, la función sería "=BUSCARV($K$1&$H4,$C$2:$F$247,2,0)" . El mismo procedimiento se realizaría con los demás campos solo cambiaria el numero de indicador de columna si se quiere hacer referencia a los campos "Y" y "Tamaño".
  • X = BUSCARV(concepto&Fecha,Datos,2,0)
  • Y = BUSCARV(concepto&Fecha,Datos,3,0)
  • Tamaño = BUSCARV(concepto&Fecha,Datos,4,0


    Lo siguiente es crear la gráfica, en este caso utilizaremos la gráfica de burbuja, insertamos gráfico del menú "Insertar > Otros gráficos > burbuja", en la versión 2003 la ruta es "Insertar > gráficos > burbuja", después seleccionamos los datos a graficar encontrados en la tabla, en la opción seleccionar datos.
    Por ultimo procedemos creando un botón asignándole la macro referida anterior mente con el nombre "Button_Play" y a disfrutar de la función.

    Puedes descargar aquí el libro de Microsoft Excel gratis:


    Con esto concluimos otro artículo más de su blog Master Excel espero que les haya sido de su agrado, recuerden visitar mi otro blog Excel4Lean, ahí encontrarán técnicas interesantes para análisis y mejoras de procesos productivos.

¿Que sigue?

    En el próximo capítulo publicaré un artículo sobre un desarrollo más completo del Motion Chart en Excel, ahí explicare la forma de utilizarlo, así como también como realizar análisis con esta herramienta tan fabulosa.

    Saludos, best regards.

15 jul 2010

Diseño de una Base de datos confiable

Share
El inicio


Bueno este es el primer artículo de mi blog; y una de las razones por cual escogí este tema es porque creo que el diseño de una base de datos confiable es fundamental para cualquier buen desarrollo, y para lograr esto se necesita sustentar bases firmes desde sus raíces.


Al existir una organización de la información bien estructurada desde su razón de ser, nos ayudará a obtener una proyección más detallada de la misión que debe cumplir dicho desarrollo; pero antes de adentrarnos más en el tema, primero debemos de comprender lo importante que es almacenar información vital de las empresas en un base de datos confiables.


¿Que será un Base de datos?; la Real Academia Española define que una base de datos es un “conjunto de datos organizado de tal modo que permita obtener con rapidez diversos tipos de información”, y ¿que será “información”?; la Real Academia dice: “ es la comunicación o adquisición de conocimientos”; ¿conocimientos?..., creo que había escuchado esa palabra antes, mm… si ya me acorde, esa palabra es muy popular en academias y universidades de todo el mundo, que cobran una significativa cantidad de dinero por transferir solo conocimiento, y muchas personas de todo el mundo están dispuestos a pagar ese dinero solo por obtenerlo.


Imagínense a una estudiante ejemplar que se titulo con excelencia académica de la Universidad y se graduó con honores, el tiene 24 años y prácticamente toda su vida a estudiado, imagínense que su memoria es la base de datos de su conocimiento, en donde se almacena toda la información que estuvo adquiriendo prácticamente desde toda su infancia, el pago o más bien sus padres, sumas extraorbitantes para sus estudios, pero ¿por que la gente paga por estudios?, algunos dicen para llegar a ser algo en la vida, otros dicen simplemente para buscar chamba, y otros dicen para ser más competitivos.


Y para ¿que adquirimos conocimientos?, pues para generar más y nuevos conocimientos, que se resumen en técnicas y metodologías que nos ayudan a transformar nuestro entorno material, espiritual y social; Y la gente paga mucho por ello, la gente paga por satisfacer sus necesidad, que ellos por si mismos no pueden satisfacerlas, por simple falta de conocimiento.


Entonces qué pasaría si el estudiante graduado con honores tiene una entrevista en una empresa prestigiosa, donde está compitiendo el puesto con otro joven; pero este joven no pudo terminar sus estudios, ¿a quien creen que la empresa le daría el puesto?, ¡recuerden!, las empresas pagan por conocimientos que les ayudan a satisfacer sus necesidades.


Regresando a las Bases de datos confiables, ¿Que pasaría? si dos empresas están compitiendo por una buena oportunidad de negocio, la primera, es algo desorganizada, no guarda información histórica de sus procesos productivos, ni financieros, simplemente vive al día, el costo de su producto es simplemente un veredicto de la gerencia.

Por otra parte la segunda empresa, guarda información vital en bases de datos donde se encuentra historial de sus procesos productivos y financieros, ellos saben perfectamente el costo de sus productos, y desarrollan constantemente proyectos de reducción de costos para mejorar sus precios.


A la hora de dar el precio de su producto al cliente, la empresa que no guarda información histórica de sus procesos, se le ocurre dar un precio de su producto muy por debajo de la competencia.


Obviamente el cliente analiza sus necesidades y se inclina por el precio mas bajo. Aparentemente la empresa desorganizada fue la mejor, pero no es así, esta empresa en un futuro próximo experimentará conflictos con sus costos operativos, el flujo de efectivo experimentará un retroceso en su retorno, su costos totales estarán por debajo de su punto de equilibrio, la empresa con el afán de reducir costos, lo primero que se le ocurre es reducir el número de sus recursos humanos, pero esa estrategia no genera alguna mejora, no saben por dónde empezar, y no saben cuál es la falla, ellos no cuentan con algún historial, y por ello no pueden con certeza saber dónde empezar a reducir costes.


La empresa discierne su error expresándole al cliente que no puede con el compromiso y opta por abortar su convenio.


Cada año de 100,000 solicitudes de creación de nuevas empresas, solo sobrevive el 20%, y de ese 20% la mayoría cierra sus puertas en el transcurso de un lustro.


Este fenómeno se debe a la causa de la escases de cultura empresarial aquí en México, que se resume en no tener una estrategia concreta basada en metas y objetivos, y al no tener metas y objetivos es imposible tener una noción de que indicadores generar para dar seguimientos a dichos objetivos y medir el avance de los mismos, y si no hay indicadores específicos es imposible generar una base de datos confiable que satisfaga las necesidades de nuestras metas y objetivos.


Como diseñar una base de datos.


Antes de empezar a diseñar una base de datos confiable, lo primero que debemos de hacer es saber que necesidades satisfará dicha base de datos, que soluciones ofrecerá la base de datos. Para eso debemos saber el objetivo que tiene como meta la empresa y que indicadores necesita medir para conocer y controlar el estado actual de sus objetivos, para ello recitaré un ejemplo con el fin de que queda claro este concepto.

La empresa “LETRAS” es una empresa prestigiosa que factura millones de pesos al año, se dedica a la manufactura de símbolos y figuras que representa gráficamente los sonidos o fonemas de un lenguaje.


Pero en los pasados meses a tenido un retroceso en la venta de su producto estrella, al parecer dicho producto está teniendo problemas en la calidad de su fabricación y eso a dio pie a que no se cumplan las metas de producción semanal establecidas. La empresa “LETRAS” Al ver este acontecimiento funesto, se dio la tarea de crearse una meta para mejorar la calidad de su producto estrella y recuperar el prestigio como marca líder en la manufactura de símbolos y letras.
La meta establecida fue “incrementar la producción de su producto estrella en un 10% en 5 meses”.


Al ver la meta y objetivo que impuso gerencia, el equipo de mejora continua tomo manos a la obra para lograr esa meta antes de 5 meses.


Lo primero que se realizo fue generar una junta para planear el alcance de la meta establecida por gerencia, en dicha junta llegaron a varios acuerdos unos de ellos fue como monitorear la producción de productos con la calidad y decidieron desarrollar bases de datos para monitorear las mejoras productivas; las cuales fueron las siguientes:


  1. Generar una base de para dar seguimiento del estatus de la producción.
  2. Generar una base de datos para dar seguimiento a los defectos de dicho producto.
  3. Generar una base de datos para visualizar el estado de la línea de producción.


Esos fueron algunos acuerdos a los que llegaron, pero como estamos hablando de cómo diseñar una base de datos confiable, hablaremos del diseño de la misma. Qué les parece si seleccionamos la “base de datos de producción”.


Antes de continuar primero veremos la estructura de la que está compuesta una base de datos.


Para que una base de datos sea reconocida como tal, debe de cumplir con las siguientes necesidades.



  1. Guardar información.
  2. Recuperar información mediante una consulta datos.
  3. Ver o introducir datos mediante un formulario.
  4. Visualizar o imprimir datos mediante un informe.


La estructura de una base de datos es la siguiente:


  1. Campo.
  2. Encabezado.
  3. Cuerpo.
  4. Información.


Campo:


El campo es un parte de información de la cual está compuesta una base de datos; cada campo está directamente relacionado con los campos adyacentes de la base de datos.


Un campo en si no proporciona información legible, pero el conjunto de campos relacionados entre si, encabezan un cumulo de información importante para los fines por el cual fue creada dicha base de datos.


Encabezado:


El encabezado simplemente es el nombre por el cual fue bautizado el campo. Es importante escribir un nombre que describa en lo posible y con el mínimo de texto requerido la información que lleva dicho campo; pues nos ayudaría a saber qué tipo de información estamos tratando.


Cuerpo:


El cuerpo, es la estructura visual que está compuesta de uno o varios campos, en este mismo se guarda información que esta descrito por el encabezado, como puede ser fechas, descripciones, cantidades, etc...


Información:


Tal vez esta es la parte mas importante de una base de datos, pues con la información se puede generar reportes, gráficos, filtros, transformación de información. etc., que modifican el modo de interpretar los datos guardados; y con eso se puede tener una visión clara del estatus del objetivo que se está monitoreando.


Existen algunas reglas que se tiene que seguir al pie de la letra cuando se guarda información en una base de datos.


  1. No mezclar texto y números en un mismo campo.
  2. No mezclar información diferente de la cual está diseñado cada campo.
  3. No repetir información en la base de datos.
  4. No guardar información no necesaria para los fines por el cual se diseño la base de datos.
  5. Eliminar, o no guardar información basura (caracteres raros sin razón de ser).


Ya aclarados previamente estos conceptos, podemos proseguir con la incógnita que tienen nuestros ingenieros de mejora continua.


Para diseñar la base de datos de producción primero debemos contestarnos las siguientes preguntas.


  1. ¿Qué vamos a monitorear con la base de datos?
  2. ¿Qué unidades de medidas se utilizarán para interpretar el indicador (pzs, mtrs, %,$, etc.)?
  3. ¿La información sufrirá alguna transformación para ser monitoreada?
  4. ¿Se utilizarán subgrupos para el monitoreo?
  5. ¿Con que frecuencia se guardará la información?
  6. ¿Qué tipo de gráfico se utilizará para la interpretación del indicador?


De acuerdo a las previas preguntas las respuestas son las siguientes:


  1. Se deberá monitorear la producción por semana de la línea producto estrella.
  2. Las unidades de medida son las siguientes, producción diaria de piezas producidas x semana y porcentaje de producción real vs. Meta diario por semana.
  3. para sacar el promedio diario de pieza por semana, se deberá promediar el número de piezas producidas semanalmente entre 7 y para el porcentaje, se dividirá el promedio diario de piezas por semana entre la meta diaria.
  4. Se interesa monitorear por tipo de producto, por lote y por turno de trabajo.
  5. La información se guardará cada hora.
  6. Se utilizara una grafico de tendencia.


Después de haber contestado las preguntas, podemos saber con seguridad el numero de campos y el tipo de cada uno, que satisfará el indicador que queremos medir.


La base de datos quedaría de la siguiente forma:




Fecha: Con el campo fecha será posible monitorear la tendencia del indicador de producción por hora de manera semanal y diaria.


Hora: Con la hora podemos tener un control de la hora en que se guardo el último registro cada hora de producción.


Turno: Con el campo turno podemos realizar un monitoreo de la producción por Turno.


Lote: Con el campo turno podemos realizar un monitoreo de la producción por Lote.


Producto: Con el campo turno podemos realizar un monitoreo de la producción por producto.


Descripción: El campo descripción solo se propuso para saber con que tipo de producto estamos tratando, el campo descripción al parecer no nos aporta algún dato importante para desarrollar nuestro indicador y se puedo juzgar como si fuera un campo no necesario para los fines por la que fue echa nuestra base de datos, pero en estos casos es importante incluir algún campo que nos pueda ayudar a definir la información con la que estamos tratando; si es necesario incluir un campo de descripción para el turno, o el lote que nos pueda facilitar a definir los lotes se puede incluir, y eso se deja a criterio del diseñador de la base de datos.


Producción x Hr: Este campo es de suma importancia, pues es el campo por el cual se diseño dicha base de datos; con este campo podremos transformar la información en los indicadores que Gerencia necesita (producción diaria de piezas producidas x semana, porcentaje de producción real vs. Meta diario por semana).


Y con la base de datos, no será posible crear un reporte detallado del estatus de nuestros indicadores, junto con el gráfico requerido que en este caso es el gráfico de tendencia.


En el siguiente articulo se hablara del tema de seguridad de información en base de datos, ¿Cómo podemos asegurar que la información capturada es realmente confiable?.