Isochrones o análisis de tiempo de conducción

Dentro de los análisis con datos geográficos que se pueden hacer, uno de los que más me han pedido en los últimos meses es analizar distintos tiempos de conducción a partir de localizaciones determinadas, o isochrones en inglés. Las posibles aplicaciones son bastante amplias: empresas de transporte que quieren conocer el área que pueden abarcar desde ciertas localizaciones, tiendas que quieren conocer el número de clientes en su radio de acción, cobertura de agentes comerciales…

Alteryx cuenta con su propio módulo de tiempo de conducción disponible, pero se trata de un módulo adicional de pago que no siempre está a disposición de los clientes, o los trámites burocráticos para comprar dicho módulo para proyectos concretos cuando el tiempo para realizar el proyecto es corto impiden que se pueda disponer de él a tiempo.

Open Route Service

A través de Dan Farmer, compañero mío en The Information Lab, descubrí https://openrouteservice.org. Una web open source (como deja claro su nombre) que ofrece distintos servicios a través de su API geográficos a través de su API. El uso es gratuito y libre incluso para uso comercial, tan sólo contando un límite de 2,500 solicitudes al día por token y usuario. Cualquiera puede en unos segundos darse de alta en su web, solicitar fácilmente un token para usar la API, y comenzar a utilizar cualquiera de sus servicios: cáculo de rutas, puntos de interés, geocodificación, geocodificación inversa, isochrones o matrices de tiempo y distancia.

Cuenta además con una sección, API playground, muy fácil de usar que permite ver los distintos parámetros disponibles para cada uno de los servicios y ver la query necesaria para utilizarlos.

Usando la API con Alteryx

Estos últimos días he estado trabajando para crear varias macros que puedan utilizarse en Alteryx para cada uno de dichos servicios. La primera de ellas, disponible ya en la galería pública de Alteryx para su uso gratuito en Alteryx, es una macro que precisamente crea isochrones a partir de uno o varios puntos geográficos que definamos. Para ello sólo es necesario conocer la latitud y longitud del lugar de partida, un token o key para utilizar la API y seleccionar los parámetros que queremos.

Entre los parámetros disponibles en la macro, podemos definir si queremos realizar el análisis en base a la distancia o al tiempo, el rango (metros para la distancia o segundos para tiempo) con la posibilidad de añadir varios rangos si es necesario, y el perfil del isochrones, entre los que destacan tiempo de conducción, tiempo de conducción con camiones de alto tonelaje, bicicleta o a pie.

Teniendo como variables tan sólo la latitud y longitud, y conectando esos datos a la macro, podemos obtener tras configurarla un resultado como este.


En este caso particular, al configurar la macro en base al tiempo de conducción, vemos claramente como podemos cubrir áreas que se encuentran más lejos del punto de origen que están conectadas con carreteras de vía rápida o autopistas. Si tenemos información interna en nuestra empresa de clientes, tiendas, localizaciones de interés, etc. podemos así analizar con más detalle posibles rutas, nuevas tiendas que nos interesa abrir, la cobertura que damos a nuestros clientes o nuestro área de influencia si consideramos una distancia o tiempo máximo determinado que potenciales clientes emplearán para desplazarse. Además, la API devuelve una estimación de la población total cubierta por dicho área.

El workflow detrás de la macro

El workflow detrás de la macro no es excesivamente complejo. Cuenta con distintas herramientas de interface para configurar los parámetros, y luego es un proceso bastante usual de generar la estructura de la query, hacer la llamada a la API, obtener la respuesta en formato JSON y preparar y limpiar los datos de respuesta para hacerlos comprensibles. Básicamente, la macro devuelve un punto geográfico con cada punto del área del isonchrone. Se trata en definitiva de obtener todos esos puntos, crear un polígono con los mismos en el orden correcto, y asegurarse de que la estructura es la correcta en caso de que se use la macro no sólo para un punto concreto, sino para toda una serie de puntos geográficos.

¿Cómo obtener la macro?

Muy fácil. la macro está disponible en la galería pública de Alteryx. Por lo que se puede descargar de forma gratuita en este enlace: https://gallery.alteryx.com/#!app/Calculate-Isochrones/5c1931b00462d724a455ae28. Una vez descargada, sólo hace falta registrarse y crear un token en Open Route Service. Al ser además la primera versión de la macro, cualquier comentario con ideas para mejorarla, cualquier error inesperado que pueda dar en ciertos escenarioso feedback en general es más que bienvenido.

Tableau Postgres Repository: Como ver los grupos, usuarios y el acceso más reciente de Tableau Server

En los últimos meses he visto cada vez más interés en analizar y obtener valor adicional del PostgreSQ Repository de Tableau Server. La base de datos donde Tablau Server almacena datos de las interacciones de los usuarios, actualizaciones de extractos, workbooks, Sites, projectos, usuarios y mucho más. Si quieres saber más sobre esta base de datos y como poder acceder a ella, echa un vistazo al último blog que escribí al respecto.

Hoy mostraré como podemos crear una fuente de datos que nos devuelva el listado completo de Sites, grupos y usuarios que existen en nuestro Tableau Server así como la fecha del último acceso de cada usuario. Una manera muy útil de gestionar usuarios y llevar un control de aquellos que no están usando el servicio, en el caso de que tengamos un número de licencias limitadas y queramos utilizar dicha información para mover ciertas licencias de unos usuarios, por ejemplo los que no se han conectado en X meses, a otros.

(más…)

Tableau PostgresSQL database: Como monitorizar y analizar Tableau Server

Recientemente hemos estado recibiendo en The Information Lab bastantes preguntas sobre como se puede monitorizar y analizar el uso de Tableau Server, como crear visualizaciones que ayuden gestionar usuarios, grupos y permisos, y en definitiva varias dudas sobre el uso de la base de datos de Tableau Server que permite analizar el uso de Tableau Server.
Se trata de un tema de interés creciente especialmente en empresas con un uso más maduro de Tableau y Tableau Server ya que una vez se dispone de la tecnología y los usuarios empiezan a estar familiarizados con ella es cuando surge la necesidad de saber cómo está funcionando, qué uso se le está dando y cómo se puede mejorar, así como para poder anticipar posibles problemas de rendimiento debido al crecimiento de la plataforma y de ese modo destinar más recursos a Tableau Server.

Tableau Server Repository: PostgreSQL

Uno de los componentes principales de Tableau Server es el Repository. Se trata de una base de datos de PostgreSQL donde se almacenan metadatos del servidor: desde el nombre de los proyectos, workbooks, usuarios, grupos, log ins, acceso a dashboards, suscripciones, procesos de actualizacion de fuentes de datos…. Prácticamente cualquier cosa que sucede en Tableau Server queda almacenada en la base de datos del Repository.
La siguiente pregunta es evidente: ¿Se puede acceder a toda esa información? Si. Por defecto el acceso a la dicha base de datos no está habilitado, pero podemos habilitarlo desde el servidor.

Habilitar acceso al Repository

¿Cómo podemos habilitar el acceso a dicha base de datos? Es bastante sencillo. Basta con, en el servidor de Tableau Server (el primario en el caso de que tengamos una instalación con múltiples nodos), ejecutimos un símbolo de sistema (command prompt en inglés) y ejecutemos los siguientes comandos. En el segundo de los comandos tendremos que especificar si queremos habilitar el usuario tableau o readonly (mi recomendación es habilitar el acceso con el usuario readonly que es el que tiene acceso a todas las tablas) y sustituiremos password por la contraseña que queramos utilizar para acceder a la base de datos con el usuario espeficiado:

  1. cd "C:\Program Files\Tableau\Tableau Server\2018.1\bin"
  2. tabadmin dbpass --username readonly password

A continuación tendremos que reiniciar el servidor con el comando:

tabadmin restart

Acceder al PostgreSQL Repository

Una vez se reinicie Tableau Server ya podremos acceder a la base de datos del Repository a través de Tableau Desktop utilizando el conector de PostgreSQL y especificando los detalles de la conexión: la URL será la dirección URL de Tableau Server, el puerto por defecto es el 8060 y la base de datos se llama workgroup. El usuario será el que hayamos habilitado (tableau o readonly) y la contraseña la que hayamos especificado en el paso anterior.

Si hemos realizado los pasos correctamente, veremos la base de datos workgroup con todas las tablas disponibles en el repository de Tableau Server.

Consideraciones al analizar el Repository de Tableau Server

Tenemos que tener en cuenta que se trata de una base de datos con muchísima información y que dependiendo de los análisis que queramos realizar tendremos que dedicar el tiempo suficiente a asegurarnos que estamos realizando las consultas correctas. Para obtener más información sobre qué información está disponible en cada una de las tablas y de los campos de las mismas, recomiendo utilizar el diccionario de datos de Tableau como referencia, disponible en este enlace.
Además, recomendaría utilizar siempre extractos de datos en lugar de conexiones en vivo ya que si realizamos muchas querys sobre la misma podría tener un impacto en el rendimiento de Tableau Server. Si queremos realizar algún informe para monitorizar el uso de Tableau Server y que sea accesible para admnistradores del servidor, lo mejor es que una vez tenemos nuestra fuente de datos preparada, creemos un extracto que se actualice en Tableau Server a horas en las que sepamos que el uso del servidor es bajo.
Los informes disponibles en la pestaña de Status de Tableau Server utilizan esta base de datos, por lo que habilitando el acceso a la misma podremos crear nuestras propias vistas de administrador para monitorizar cualquier aspecto de Tableau Server en el que estemos interesados.

Blogs, libros y cursos para aprender a usar Tableau

Recientemente varias personas me han preguntado a través de emails o Linkedin por formación en Tableau. Por lo que voy a hacer un breve repaso a lo que en mi opinión son los blogs, libros y cursos más interesantes si queremos aprender a usar Tableau desde cero o si queremos llegar al siguiente nivel tras unas semanas o meses de uso.

Mi primer consejo y especialmente al principio, es tratar de usarlo todos los días aunque sea un rato. Lo más importante al principio es sentirse cómodo y entender realmente lo que Tableau hará en base a nuestras acciones con el programa. Si lo usamos al principio un par de días y luego no volvemos a abrir Tableau en un mes, seguramente nos frustraremos porque será como empezar desde cero.
El segundo consejo general es acostumbrarnos a usar Tableau en inglés ¿Por qué? Porque la mayoría (y los mejores) blogs, videos, libros y recursos disponibles para solucionar dudas y aprender a usar Tableau están en inglés y harán referencia a las funcionalidades de Tableau en inglés, por lo que, por poner un ejemplo, siempre será más fácil buscar información sobre Level of Detail expressions o LOD expressions en inglés que utilizando el acrónimo español para Expresiones Nivel de Detalle.

Libros

¿Eres de los que prefieres aprender con un libro que poder seguir? mis tres principales recomendaciones son las siguientes:

Tableau Your Data de Daniel G. Murray.

En mi opinión uno de los libros más completos, y aunque la segunda edición ya tiene aproximadamente un año, para aprender Tableau desde cero y todas sus funcionalidades salvo algunas más recientes de las últimas actualizaciones es un libro más que recomendable.

 

 

 

 

Practical Tableau de Ryan Sleeper.

Uno de los mejores usuarios de Tableau y además el libro cuenta con la ventaja de que se ha publicado muy recientemente. Estupendo para aprender los primeros pasos pero también para ir un paso más allá con consejos y trucos de uno de los usuarios más avanzados de Tableau.

 

 

 

 

Learning Tableau de Joshua Milligan.

Tal vez algo menos actualizado que los otros dos pero sigue siendo una estupenda referencia para comenzar a usar Tableau desde cero y comprender las funcionalidades más importantes. Fácil de seguir y con muy buenas explicaciones.

 

Blogs

Probablemente la principal fuente de información y soluciones para aprender y mejorar en Tableau. Algunos de los mejores en mi opinión son:

Cursos

Para los que os guste más el formato tradicional de un aula y si no tienes inconveniente en gastarte algo más de dinero o incluso si estas interesado en formarte no solo tu sino formar también a un equipo, sin duda echaría un vistazo a los cursos de formación oficiales de Tableau. Son una muy buena forma de aprender en un par de días lo que tal vez llevaría varias semanas y además con explicaciones detalladas y evitando los quebraderos de cabeza de tener a veces que buscar nosotros mismos la información. En España se imparten cursos cada trimestre en Madrid y Barcelona, puedes consultar toda la información en esta web. Si estas en Londres, en The Information Lab ofrecemos también un día gratuito en el que impartimos los fundamentos de Tableau pudiendo encontrar más información en este enlace.

Videos

Si lo que nos gusta es aprender a través de videos, hay varios blogs que incluyen para algunos ejemplos videos que son bastante fáciles de seguir. Si queremos algo más estructurado, los videos oficiales de Tableau son una estupenda forma de aprender especialmente al principio. De hecho fueron los que yo utilicé para aprender hace tres años y medio y durante los primeros pasos son una muy buena fuente de referencia. Están estructurados por capítulos y además suelen ser de corta duración, por lo que podemos aprender poco a poco cada día. En este enlace tienes los videos donde puedes aprender a través de videos gratuitos los aspecto fundamentales de Tableau.

En el caso de que te interese algo más detallado y estructurado, tienes también disponible los servicios de elearning oficiales de Tableau, que ofrecen formación similar a los cursos pero más económicos y que te permiten más flexibilidad en cuanto a cuando y como realizar la formación.

Forums

Aunque no están enfocados tanto a formación en sí, son de gran utilidad para buscar información y preguntar dudas a otros usuarios. Son muy útiles cuando quieres contar con el apoyo y consejo de la amplia comunidad de Tableau. También hay un foro dedicado especialmente al grupo de usuarios de Madrid que gestiono junto a Irene Yusta en el que estaremos encantados de echar una mano en todo lo que podamos y es una muy buena forma de empezar a formar parte de la comunidad de Tableau.

Tableau Public y Twitter

Por último aunque desde luego no menos importante, trataría de seguir a la comunidad de Tableau en Twitter, donde muchas veces se encuentran ejemplos, blogs y videos que de otra forma tal vez no descubriríamos. Puedes además hacer preguntas y preguntar dudas sin problema ya que la comunidad de Tableau es de las más amigables y dispuestas a ayudar que he visto.
Y por supuesto no olvidar Tableau Public como fuente de inspiración, ayuda, buscar nuevos retos y aprender nuevos técnicas. Podremos ver visualizaciones que haya realizado cualquier persona, descargarlas y ver cómo han creado un dashboard o un gráfico, los cálculos que han hecho, etc. Y de este modo rehacer lo que otros han hecho para entender mejor las posibilidades de Tableau.

II Tableau User Group en Madrid

El jueves 14 de junio celebramos el II TUG en Madrid. La asistencia es gratuita pero las plazas son limitadas, así que si estáis interesados os recomiendo que reservéis sitio. Aquí está el enlace con todos los detalles:

https://www.eventbrite.com/e/tableau-user-group-madrid-junio-2018-tickets-46434017396.

Primero, Sebastián Rodiguez de Tableau hablará sobre el nuevo modelo de licenciamiento de Tableau y responderá a cualquier pregunta al respecto.

A continuación, Miguel Mengotti y Bernardo Cabaleiro de Intelligence Partner nos hablarán sobre cómo utilizan Google Machine Learning y Tableau para escuchar la voz los clientes y obtener mayor valor de sus datos de una forma diferencial.

¡Nos vemos el 14 de junio!

Cómo usar LODs para calcular medias ponderadas

Seguro que no soy el único que al que le costó tiempo perderles el miedo a los cáculos LOD en Tableau cuando aparecieron por primera vez. Me llevó un tiempo considerable acostumbrarme a utilizarlos en el día a día y sacarles partido pero ahora soy cada día más fan y les encuentro más y más usos. No solo porque te permiten hacer cosas en Tableau que antes no podías, que también, pero sobre todo porque permiten realizar cosas mucho más rápido y sencillo que anteriormente. Hoy voy a compartir un ejemplo de estos últimos de como usar un cálculo LOD usando la función EXCLUDE para obtener el mismo cálculo que en una media ponderada.

He estado trabajando los últimos dos días en una visualización sobre la polución en Madrid usando datos públicos del Ayuntamiento (puedes consultar los datos en este enlace). Concretamente datos de la presencia de dióxido de nitrógeno en la atmósfera en distintas areas de Madrid. Cada registro en la base de datos contiene las medidas de las 24 horas del día para cada día del año y cada estación de medición. Tras una rápida preparación de los datos en Alteryx para darles una estructura más fácil de usar en Tableau (cada hora no en distintas columnas sino en una fila distinta), dar un formato a la fecha y añadir varios campos de referencia como la latitud y longitud de la estación remota, el nombre de la misma, la unidad de medida del dióxido de nitrógeno, etc. Y tras un par de dias trabajando en la visualización, este es el resultado final.

Pero para este post quiero centrarme en una parte concreta del dashboard. Esta en concreto:

El gráfico muestra la media de dióxido de nitrógeno en Madrid cada hora (de 12 de la madrugada a 11 de la noche – de izquierda a derecha -) los días de diario (círculos negros) y fines de semana (círculos verdes). La línea conectando ambos puntos es símplemente para resaltar la diferencia entre ambos valores y la línea horizontal es la media a dicha hora. Se puede ver que la media de cara hora es siempre más cercana a los valores de los dias de diario debido a que cada semana tiene 5 dias de diario y 2 de fines de semana. La media por tanto no es solo el la suma de los dos puntos divida entre dos, sino que es una media ponderada en base al número de días en cada marca ¿Cómo podemos crear ese cálculo de una manera rápida y sencilla?

Antes de explicar el sencillo cálculo que requiere, voy a explicar brevemente cómo crear el gráfico:

  1. Usando la fecha disponible (la fecha de la medición de contaminación) para crear un nuevo campo que me devuelva el día de la semana. Hacemos click derecho en el campo > Create > Custom Date y seleccionamos Weekdays como date part.
  2. Creamos un nuevo campo agrupando los valores del campo que acabamos de crear. El primer grupo correspondería a los días entre semana (lunes a viernes) y el segundo a los fines de semana (sábado y domingo).
  3. Ahora queda construir el gráfico, que es bastante sencillo. Incluimos la hora de nuestra fecha en columnas, nuestro valor en filas dos veces, uno con el tipo de marca = línea y el segundo con el tipo de marca = círculos con el campo que hemos creado en el paso número 2 en la tarjeta de Color.

Tenemos casi la visualización que queremos. Pero si añadimos una línea de referencia que sea la media para cada celda desde el menú de Analytics, obtenemos lo siguiente:

¿Es correcto? bueno, parece que Tableau lo que está haciendo en este caso es sumar el valor de los días entre semana y el de los fines de semana, y dividiendo dicha suma entre 2 ¿Pero es esa realmente la media real de dióxido de nitrógeno de cada hora? Vamos a crear otro gráfico para ver la media en cada hora y comprobarlo.

Los valores son parecidos… pero no exactamente iguales ¿Por qué? Porque hay 5 días entre semana y 2 días de diario, por lo que la media de todos los días de la semana no es la que Tableau realiza por defecto cuando incluimos la media directamente como línea de referencia. Queremos tener en cuenta el hecho de que existe un mayor número de días de diario en la semana a la hora de calcular la media. Es decir, si tenemos los valores para dias de diario y fines de semana, queremos la media ponderada por el número de días en cada una de esas dos categorías.

¿Cómo podemos hacer esto en Tableau? Antes de existir los cálculos LOD tendríamos que calcular el número de días dentro de cada grupo, y utilizarlo como divisor por ejemplo. Pero existe una manera mucho más elegante, rápida y sencilla con un LOD usando EXCLUDE. si creamos un campo calculado excluyendo el campo agrupado que hemos creado anteriormente y calculamos la media de dicho valor así:

AVG({EXCLUDE [Weekdays Group] : AVG([Value])})

Incluímos dicho cálculo en el campo de detalle de la visualización y utilizamos dicho campo como una línea de referencia, obtenemos lo siguiente:

Si comparamos los valores de esta línea de referencia con los del gráfico de barras que hemos creado anteriormente, veremos que son iguales. El cálculo LOD, en lugar de calcular la media de dióxido de nitrógeno al nivel de agregación que tenemos en la visualización (el tipo de día de la semana) está excluyendo dicho nivel y calculando la media a un nivel menos agregado. Es decir, está comportándose como si realizaramos una media ponderada, por lo que la línea de referencia se encuentra más cercana a los valores de los días entre diario al tener 5 de los 7 días de la semana y obtenemos el valor que queríamos de una manera sencilla y rápida.

Gráficos en ventanas emergentes

Recien llegado a Londres de nuevo tras una semana en la conferencia de Tableau en Las Vegas (el año que viene será en Nueva Orleans) desde se presentaron algunas de las novedades que tendrán las futuras novedades de Tableau. Una de las más interesantes y que mucha gente llevaba tiempo esperando es la posibilidad de incluir gráficos en ventanas emergentes y que se puede ya probar desde la versión beta disponible.

Cómo añadir gráficos en ventanas emergentes

Lo mejor de todo es que no podría ser más sencillo. Supongamos que queremos analizar tenemos una empresa de venta de todo tipo de productos (si, vamos a utilizar otra vez el fichero de datos Superstore de Tableau), y queremos visualizar un mapa con el beneficio en cada Estado.

 

Pero quedemos añadir un gráfico adicional, de forma que cuando pasamos el ratón sobre cada Estado, podamos ver un gráfico en el que analicemos el beneficio por categoría de producto para ese Estado concreto.

Lo primero que tenemos que hacer es crear dicho gráfico como lo haríamos normalmente, visualizando el beneficio por categoría para el conjunto de datos.

A continuación, vamos a nuestro primer gráfico, y hacemos click en la ventana emergente (tooltip). En el menú desde donde podemos añadir campos a nuestra ventana emergente hay ahora una nueva opción llamada sheets donde podemos añadir cualquier visulización que hayamos creado.

Si volvemos al gráfico de beneficio por categoría, veremos que Tableau ha creado automáticamente un nuevo tipo de filtro basado en dicha ventana emergente.

Ahora, cuando pasemos el ratón sobre cualquier estado, veremos el beneficio por categoría que se filtrará automáticamente para dicho Estado.

No solo eso, sino que puedes añadir más de un gráfico en la ventana emergente y todavía más información adicional, que tal vez no quieras incluir en el cuadro de mando pero que si resulte interesante para contextualizar nuestro análisis.

LODs para filtrar dos niveles distintos de detalle o agregación

Por defecto, en ocasiones los filtros en Tableau no funcionan como podríamos en principio esperar. Un claro ejemplo en este sentido y que me he encontrado en varios clientes es cuando queremos filtrar, en base a una medida agregada, dos gráficos con distintos niveles de detalle. Vamos a ver como podemos solucionar esto con un sencillo cálculo LOD.

Ejemplo

Veamos un ejemplo para que quede más claro. Tenemos un dashboard con dos gráficos. Uno muestra el beneficio, las ventas y el margen de beneficio (la suma del beneficio – SUM([Profit]) – dividido por la suma de ventas – SUM([Sales]) -)  de nuestra empresa para cada una categoría de producto disponible. El segundo, muestra esas mismas variables en una tabla, pero para cliente de la empresa.

Ahora supongamos que queremos filtrar el dashboard en base al margen de beneficio de cada cliente. Tal vez queramos analizar los datos sólo de clientes con un margen positivo, o un margen negativo. Si incluimos el margen de beneficio en filtros y aplicamos dicho filtro a los dos gráficos ¿Qué ocurre?

 

 

Como podemos ver en la imagen de arriba si nos fijamos en los totales includos en la parte superior de cada gráfico, no estamos obteniendo los mismos resultados ¿Por qué? Al fin y al cabo estamos utilizando el mismo filtro para ambos gráficos.

El motivo es el distinto nivel de detalle de cada uno. Nuestro filtro Profit Ratio utiliza el cálculo SUM([Profit]) / SUM([Sales]). Pero para el gráfico de barras el nivel de detalle es la subcategoría (es decir, Profit Ratio nos devuelve dicha medida para cada una de las subcategorías), mientras que la tabla el nivel de detalle es el cliente (Profit Ratio por cliente).

Por tanto, cuando filtramos valores con un Profit Ratio de menos del 10%, estamos filtrando por un lado categorías con un Profit Ratio inferior a dicha cifra, mientras que en la tabla estamos filtrando clientes con un Profit Ratio inferior a dicha cifra. Los resultados, por tanto, no tienen nada que ver.

Utiliza un cálculo LOD

No contamos con la dimensión cliente en nuestro gráfico de barras, y además si lo incluimos en el nivel de detalle, no tendremos una barra para cada subcategoría, sino que cada una de estas se dividirá, mostrando una marca para cada uno de los clientes ¿Cómo podemos solucionar esto y filtrar, para ambos gráficos en base al margen de beneficio de los clientes?

 

Aquí es cuando utilizar LOD es extremadamente útil ya que lo que queremos no es filtrar en base al margen de beneficio. Queremos filtrar en base al margen de beneficio de cada cliente. Es decir, lo que queremos es una variable que fije el cálculo del margen de beneficio para cada cliente independiente del nivel de detalle que tengamos en la visualización. Es decir:

 

Profit Ratio by Client = { FIXED [Customer Name] : [Profit Ratio] }

 

Recordad que al utilizar un cálculo LOD debemos utilizar una medida agregada – SUM([Sales]) o AVG([Sales]) por ejemplo – pero en este caso particular, al ser Profit Ratio un cálculo ya agregado – SUM([Profit]) / SUM([Sales]) – nuestro nuevo cálculo funcionará perfectamente.

 

Perfecto, ahora ya tenemos un cálculo que nos devuelve el margen de beneficio a nivel de cliente. Por lo que utilizaremos este nuevo cálculo como filtro. Pero ojo, porque si simplemente arrastramos el nuevo cálculo a filtros, por defecto estará filtrando utilizando la SUMA del nuevo cálculo. Lo cual funcionará sin problemas en nuestra tabla con el nivel de detalle del cliente, pero no en nuestro gráfico de barras, ya que lo que hará será sumar el margen de beneficio de cada uno de los clientes incluidos en las ventas de esa categoría.

 

Para asegurarnos de que el filtro funciona correctamente, arrastamos haciendo click con el botón derecho del ratón nuestra nueva medida a filtros, y seleccionamos ‘All Values’ para que el filtro muestre valores sin agregarlos al nivel de la subcategoría.

 

 

Comprobando los resultados

Si ahora utilizamos este filtro en los dos gráficos, los totales coinciden, porque estamos especificando a Tableau que el cálculo del margen de beneficio sea siempre al nivel de detalle del cliente, y estamos utilizando dicho filtro para ambos gráficos.

 

 

Ahora, incluso aunque filtremos valores inferiores al 10%, vemos que contamos aun con categorías con un margen de beneficio menor. Ya que Tableau no está filtrando para el gráfico de barras las categorías que, en total, tienen un margen de beneficio menor al 10%, sino que está filtrando los clientes con un margen de beneficio superior al 10% que tienen alguna venta de la subcategoría en cuestión.

Vemos además como las cifras totales de beneficio, ventas y margen de beneficio cuadran en ambos gráficos, lo que demuestra que estamos filtrando exactamente los mismos datos en ambos casos.