Tableau Clientes

Tag Archives: R y Tableau

Mi experiencia implementando R y Tableau

Mi experiencia implementando R y Tableau

Mi experiencia integrando R y Tableau

Mi nombre es Daniel Jimenez, Analytics Ace de Tableau. En este artículo les cuento mi experiencia al implementar R en Tableau y muestro algunas ventajas y resultados. Si esta interesado en aprender a hacerlo y conocer algunos tips lo invitamos a que observe nuestro artículo Tips y Pasos para Integrar R y Tableau.

Por mi recorrido y formación, tuve la posibilidad de aprender primero R, y luego Tableau, sin embargo, aunque había escuchado que se podía integrar uno dentro de otro, no fue sino hasta que tuve un conocimiento avanzado en ambos programas que me atreví a dar el primer paso y utilizarlos integrados. Desde mi punto de vista, con un conocimiento medio de ambos softwares, ya es posible integrarlos, y aprender a utilizarlos en conjunto.

En la curva de aprendizaje empezar siempre es lo mas complicado, pero los resultados valen la pena. En internet encontrará un montón de videos gratuitos enseñándole R y Tableau, por lo que todo está a su disposición.

En los siguientes artículos oficiales de Tableau podrá investigar más acerca de la parte teórica de por qué implementar R y Tableau: https://www.tableau.com/es-es/learn/whitepapers/using-r-and-tableau , y en el siguiente artículo podrá aprender la forma de hacerlo y como funciona: https://www.tableau.com/es-es/learn/tutorials/on-demand/r-integration.

Como ya se sabe, Tableau es un software de business intelligence y Analytics, con gran capacidad para la conexión, interpretación y manejo de datos (casi por cualquier persona), R, por su parte, es un software estadístico, que le permite manipular los datos y crear una cantidad de modelos y análisis distintos, pero con bastantes falencias visuales, y de manejo (toca escribir código, algo no muy grato para muchas personas), al integrar ambos mundos, puede obtener los mejores análisis, y la mejor forma de presentarlos, teniendo a su disposición, desde mi punto de vista, dos de las mejores herramientas en lo que respecta a análisis de información.

Mi primer ejercicio integrando R con Tableau resulto más a punta de prueba y error, el resultado mostrado a continuación, fue un Dashboard interactivo, en donde se eligen dos países y se realiza una prueba T de diferencia de medias entre las ciudades de estos dos países, en este caso, 34 ciudades Argentinas vs 106 ciudades Mexicanas, ahora puede dejar todo listo para que un usuario que no conoce R realice una prueba estadística fiable, dando así conclusiones mas certeras acerca de la información que se tiene. Si desea observar como se realizó, lo invitamos a que vaya a nuestro artículo Tips y Pasos para Integrar R y Tableau.

RandTableau7

Finalmente, También se puede integrar a nivel de Servidor, se debe configurar Tableau Server para que ejecute los scripts de R usando Rserve() que se está ejecutando desde el Servidor, el resultado es bastante satisfactorio, pues ahora tendrá el poder de realizar cálculos estadísticos en tiempo real y poderlos visualizar desde cualquier parte con Tableau Server.

Acá les mostramos otro ejemplo de integración, ya montado en un servidor, en esta ocación se realiza una clasificación Jerárquica (una alternativa al método de clúster por k-means, ya presente en Tableau), observe que la capacidad de análisis con R se vuelve mucho mayor, pudiendo elegir el país y se agruparán las ciudades de acuerdo con las 3 variables ( Cantidad, Descuento y Ganancia), como se observa, también se puede elegir el número de grupos que se desea crear y el método estadístico para agrupar las ciudades, luego de procesar la información con R, muestro los resultados con Tableau, donde se crea un mapa permitiéndome observar que ciudades se agrupan entre si, y un diagrama de barras, en este caso por ejemplo, se observa que Buenos Aires es distinta a todas las ciudades en Argentina.

RandTableau8

Como conclusión, a pesar de que Integrar R con Tableau puede ser un reto, y sin lugar a dudas requiere una inversión tanto de tiempo como de esfuerzo, tener la posibilidad de utilizar los mas avanzados análisis estadísticos, como lo son las pruebas de hipótesis, diferentes regresiones, análisis multivariados, o series de tiempo, al mismo tiempo que esta usando Tableau, le abrirá un mar de posibilidades al análisis y a su capacidad para entender sus datos, no dude en contactarnos, y con gusto lo asesoraremos en este proceso.

R and Tableau

R and Tableau

Este artículo está enfocado en la forma de implementar R y Tableau desde la parte técnica, además de mostrar una forma sencilla de aprender y algunos tips útiles para quien se inicia en este mundo.

Primero, en la página oficial de Tableau esta publicado el siguiente video en Español o Ingles, https://www.tableau.com/es-es/learn/tutorials/on-demand/r-integration, recomiendo primero verlo completo, ya que en 10 minutos comprenderá gran parte del funcionamiento integrado de ambos Software, además, es buena idea descargar el libro de trabajo (desde la parte inferior de la misma página). También recomiendo el siguiente video para observar como configurar ambos Software.

Requerimientos

  • Conexión a internet
  • Conocimientos medios de Tableau y R
  • Tener ambos Programas instalados

Configurando R y Tableau

Bueno, para empezar nuestra integración, lo primero es instalar R y Tableau, yo por mi parte, luego de instalar R, instalé R Studio (una interfaz más amigable y con más funcionalidades), instalé los paquetes necesarios, tal cual se ve en los videos, luego de instalar Rserve, lo ejecuté (es decir, ejecuté los dos siguientes comandos, library(Rserve), Rserve() ), lastimosamente, es necesario correr ese código siempre que se quiera usar un archivo de Tableau que use R.

Posteriormente, como la forma más sencilla de aprender es viendo como otros lo hicieron, descargué el libro de trabajo del tutorial y configuré R con el servicio de Rserve().

Probablemente le toque hacer esto mas de una vez cuando abra un archivo de Tableau con script de R, algo un poco agotador pero que no toma mucho tiempo. La forma de configurarlo localmente es : Menú ayuda>configuración de rendimiento>Administrara conexión del servicio externo, y posteriormente elegir localhost, probar la conexión y aceptar.

RandTableau1

RandTableau2

Integrando R y Tableau

Ahora, Tableau está conectado con R Server y los cálculos que se realizaban en las hojas de trabajo del libro que se descarga de la página de Tableau, ya se están ejecutando (la mayoría, en mi caso no pude instalar algunas librerías de R), como lo muestran los tutoriales, usted descubrirá que la forma en la que se empieza a trabajar con R seria la siguiente:

  1. Se crea una vista, con los niveles de agregación requeridos (puede ser en detalle).
  2. Se crea un campo calculado, para ello se utilizan las funciones (SCRIPT_BOOL, _INT,_REAL,_STR), el campo calculado es un cálculo de tabla, el cual se lleva a la hoja que se realizó en el primer paso.
  3. Se edita el cálculo de tabla para decirle que se calcule teniendo en cuenta las dimensiones necesarias.

Hay que tener en cuenta que cada uno de estos pasos es flexible y tienen algunos trucos, por lo cual, entendiendo como funciona la conexión de Tableau con R, se puede trabajar mejor. Ahora que entendemos cómo funciona R y Tableau haremos un ejemplo, en el siguiente campo calculado, se escribió la función SCRIPT_REAL, lo cual significa que lo que R me va a devolver, va a ser un dato de tipo Real, luego está el código que voy a enviar a R para que ejecute (escrito entre comillas), en este código están también los argumentos que voy a enviar desde Tableau, por ejemplo, en el siguiente caso, enviaré dos medidas agregadas, .arg1 que es ATTR([Pais 1 Ganancia por ciudad]) y .arg2 que sería ATTR([Pais 2 Ganancia por ciudad]).

RandTableau3

En definitiva, hay muchas formas de enviarle información a R, pero siempre tiene que ser una medida agregada, y adicionalmente, debe tenerse mucho cuidado con el nivel de marcas que estamos poniendo en la vista, para enviar la información correcta, y acá está el primer truco, siempre se debe tener el nivel de marcas necesarias en la vista para que se realice el cálculo correctamente. Pero acá surge un problema, ¿qué pasa si quiero mostrar solamente un valor? Por ejemplo, en el ejercicio que acabamos de hacer, un test T de diferencia de medias (una de las primeras cosas que cualquier usuario de R aprende a hacer) obtuvimos un p-valor, pero Tableau, por defecto, entiende que se devolvió este valor para todas las filas agregadas (marcas) que enviamos a R, como se observa a continuación, cada 0,000009, representaría una ciudad.

RandTableau4

La solución podrá ser sencilla para algunos, es utilizar un rank o índice, y elegir solo 1, luego de personalizar todo y en nuestro caso, poder elegir el país mediante un parámetro, se dejaría un resultado más ameno, como el siguiente:

RandTableau5

Así, se logra obtener un p-valor de acuerdo a la información suministrada a R por Tableau, observe que para que sea interactivo, se crearon varios parámetros para que el usuario final pudiera cambiar los países y ciudades con los que se realizaba la prueba.

En todo lo anterior, es necesario tener un conocimiento medio de ambos softwares, por varias razones, en el caso de Tableau, es necesario saber que es una medida agregada, como funciona un cálculo de tabla y como utilizar un parámetro. En el caso de R, es necesario saber los tipos de datos que existen y como llamar diferentes valores de una función.

En este ejercicio integrando ambos Softwares, el resultado fue un Dashboard interactivo, en donde se eligen dos países y se realiza una prueba T de diferencia de medias entre las ciudades de estos dos países, en este caso, 34 ciudades Argentinas vs 106 ciudades Mexicanas, ahora puede dejar todo listo para que un usuario que no conoce R realice una prueba estadística fiable, dando así conclusiones más certeras acerca de la información que se tiene.

RandTableau6

Tips Adicionales

  1. A pesar de utilizar expresiones LOD, como FIXED, es necesario llevar ciertas dimensiones a detalle para obtener el tipo de marcas requerido que se desea enviar a R.
  2. Siempre se requerirá una medida agregada, en el cálculo que se envíe a R.
  3. Si entiende el uso correcto de los parámetros, estos se volverán su mejor herramienta para que sus trabajos en R sean dinámicos, permitiéndole al usuario final interactuar con la información, desde mi punto de vista, acá es donde la integración toma valor.
  4. Para utilizar parámetros como argumentos dentro del script de R debe escribirlos como .arg4[1] (en este caso el parámetro sería el cuarto argumento si fuera el tercer argumento .arg3[1]).
  5. Para utilizar ciertas funciones en el script que se envía al R Serve, es necesario instalar el paquete al que estas pertenecen desde R o R Studio, algo un poco abrumador pero que se deberá realizar solamente una vez.
  6. Finalmente, También se puede integrar a nivel de Servidor, se debe configurar Tableau Server para que ejecute los scrpits de R en el R server que se está ejecutando desde el Servidor, el resultado es bastante satisfactorio, pues ahora tendrá el poder de realizar cálculos estadísticos en tiempo real y poderlos visualizar desde cualquier parte con Tableau Server.

Si deseas descargar el libro de trabajo, llena la siguiente forma


Descargue Tableau Gratis

Contáctenos

Descargue Tableau