designing efficient workbooks ii es es 0

64
1 Prácticas recomendadas para el diseño de libros de trabajo de Tableau eficaces Segunda edición Alan Eldridge Tableau Software 15 de abril de 2014

Upload: guillermo-mosso

Post on 12-Jan-2016

16 views

Category:

Documents


1 download

DESCRIPTION

Designing Efficient Workbooks II Es Es 0

TRANSCRIPT

Page 1: Designing Efficient Workbooks II Es Es 0

1

Prácticas recomendadas para el diseño de libros de trabajo de Tableau eficaces Segunda edición

Alan Eldridge

Tableau Software

15 de abril de 2014

Page 2: Designing Efficient Workbooks II Es Es 0

2

Prefacio Una vez más, cabe aclarar que este documento es una síntesis del material escrito por diferentes

autores. Lo que yo hice fue recopilarlo en un documento único y tratar de aplicarle cierta estructura.

Muchas personas que lean esto reconocerán su huella en varias secciones (de hecho, algunas

reconocerán fragmentos enteros de texto). Agradezco a todas ellas porque sin su excelente trabajo y su

falta de declaraciones de violación de derechos de autor, yo aún seguiría investigando y escribiendo.

Este documento se actualizó para que refleje las capacidades de Tableau 8.1, y se incluyeron

comentarios acerca de cambios que se esperan en Tableau 8.2. Versiones futuras de Tableau

proporcionarán características y capacidades nuevas que pueden cambiar algunas de estas pautas.

Page 3: Designing Efficient Workbooks II Es Es 0

3

Índice Prefacio ..................................................................................................................................................... 2

¿Qué es la eficacia? ................................................................................................................................... 5

¿Por qué nos importa? .......................................................................................................................... 5

Principios básicos .................................................................................................................................. 5

Parte 1: ¿Es el diseño del libro de trabajo? .............................................................................................. 7

¿Para qué sirve Tableau? ...................................................................................................................... 7

¿Para qué no está preparado Tableau? ................................................................................................ 8

Enfoques de diseño: malos vs. buenos ................................................................................................. 8

Parte 2: ¿Es la conexión de datos? ......................................................................................................... 13

Archivos ............................................................................................................................................... 13

Relacionales ........................................................................................................................................ 15

Hadoop ................................................................................................................................................ 18

OLAP .................................................................................................................................................... 18

Nube .................................................................................................................................................... 19

Servidor de datos ................................................................................................................................ 20

Extracciones ........................................................................................................................................ 21

Parte 3: ¿Es la consulta? ......................................................................................................................... 30

Comprensión de las consultas ............................................................................................................ 30

Registros del rendimiento ................................................................................................................... 30

Selección de uniones ........................................................................................................................... 32

Combinación ....................................................................................................................................... 33

Filtrado ................................................................................................................................................ 39

Parte 4: ¿Son los cálculos? ...................................................................................................................... 48

Cálculos básicos y agregados .............................................................................................................. 48

Cálculos de tablas ................................................................................................................................ 48

Cálculos vs. características nativas ..................................................................................................... 49

Impacto de los tipos de datos ............................................................................................................. 49

Técnicas de rendimiento ..................................................................................................................... 50

Parte 5: ¿Es una cuestión de escritorio vs. servidor? ............................................................................. 54

Pautas generales ................................................................................................................................. 54

Page 4: Designing Efficient Workbooks II Es Es 0

4

Configuración ...................................................................................................................................... 54

Monitoreo de Tableau Server ............................................................................................................. 55

Almacenamiento en caché .................................................................................................................. 55

Parte 6: ¿Hay otros factores que considerar? ........................................................................................ 60

Entorno ............................................................................................................................................... 60

Anexo A: Recursos relacionales vs. OLAP ................................................................................................... 61

Page 5: Designing Efficient Workbooks II Es Es 0

5

¿Qué es la eficacia? Existen varios factores que hacen que un libro de trabajo sea "eficaz". Algunos de estos factores son

técnicos, y otros se centran más en el usuario; pero, en general, un libro de trabajo eficaz es:

Un libro de trabajo que aprovecha los "principios del análisis visual" para comunicar el mensaje del

autor y los datos con eficacia, posiblemente, atrayendo al usuario con una experiencia interactiva.

Un libro de trabajo que responde de manera oportuna. Esta medida puede ser algo subjetiva,

pero, en general, se espera que el libro de trabajo proporcione una visualización inicial de la

información y una respuesta a las interacciones del usuario en pocos segundos.

La primera parte de este documento se centra en el primer punto y trata, principalmente, sobre el

diseño de libros de trabajo. La segunda parte se enfoca en los factores que afectan el rendimiento de los

libros de trabajo. Usted descubrirá que existen muchos factores que contribuyen al rendimiento de los

libros de trabajo, entre los que se incluyen:

la conexión de datos;

la consulta;

los cálculos;

el diseño de visualización;

algunas diferencias entre Tableau Desktop y Tableau Server.

¿Por qué nos importa? De acuerdo con nuestra vasta experiencia, la mayoría de los problemas de rendimiento que

experimentan los clientes están relacionados con los libros de trabajo. Si los resolvemos (o mejor aún,

los prevenimos mediante la educación) y tenemos libros de trabajo óptimos y eficaces, entonces

solucionaremos los problemas.

Principios básicos Antes de sumergirnos en los detalles técnicos de las distintas características que afectan el rendimiento

de los libros de trabajo, presentamos tres principios generales que lo ayudarán a crear dashboards y

vistas eficaces:

Todo con moderación

Como en todos los aspectos de la vida, demasiado de algo bueno puede ser malo. No intente incluir

absolutamente todo en un libro de trabajo único y monolítico. Si bien un libro de trabajo de Tableau

puede tener 50 dashboards, cada uno con 20 objetos gráficos, y comunicarse con 50 fuentes de datos

diferentes, casi con seguridad será muy lento.

Si se encuentra con un libro de trabajo de este tipo, considere dividirlo en varios archivos distintos. Esto

es mucho más fácil de hacer en la versión 8.1, ya que esta permite copiar dashboards entre libros de

trabajo. Si sus dashboards son extremadamente complejos, considere simplificarlos y usar interacciones

para guiar a los usuarios finales de una vista a otra. Recuerde que no fijamos el precio de nuestro

software por cantidad de documentos, así que distribuya los datos con tranquilidad.

Page 6: Designing Efficient Workbooks II Es Es 0

6

Si no es rápido en la base de datos, no lo será en Tableau

Si su libro de trabajo de Tableau está basado en una consulta que se ejecuta lentamente en cualquier

herramienta que use para procesarla, el libro de trabajo también será lento.

En las secciones siguientes ofreceremos sugerencias para ajustar sus bases de datos, a fin de contribuir a

reducir el tiempo de ejecución de las consultas. Además, analizaremos cómo usar el veloz motor de

datos de Tableau para mejorar el rendimiento de las consultas.

Si no es rápido en Tableau Desktop, no lo será en Tableau Server

Los libros de trabajo que sean lentos en Tableau Desktop no serán más rápidos si los publica en Tableau

Server. En general, los libros de trabajo serán ligeramente más lentos en Tableau Server porque a) varios

usuarios comparten los recursos del servidor para generar libros de trabajo simultáneamente y b) el

servidor debe generar los dashboards y los gráficos en vez de que estos se creen en la estación de

trabajo del cliente.

La excepción a esta regla sucede si Tableau Desktop se encuentra con limitaciones de recursos que no existen

en el servidor; por ejemplo, si su computadora no tiene suficiente RAM para admitir el volumen de datos que

desea analizar. Algunos usuario se encuentran con un rendimiento reducido o, incluso, con errores por "falta

de memoria" cuando trabajan con conjuntos de datos en estaciones de trabajo con especificaciones básicas

de 2 GB de RAM; pero consideran que el funcionamiento del libro de trabajo publicado es aceptablemente

rápido porque el servidor tiene mucha más memoria y poder de procesamiento.

Page 7: Designing Efficient Workbooks II Es Es 0

7

Parte 1: ¿Es el diseño del libro de trabajo? Trabajar con Tableau es una experiencia nueva para muchos usuarios, y existen técnicas y prácticas

recomendadas que estos deben aprender para crear libros de trabajo eficaces. Sin embargo, hemos

notado que muchos usuarios nuevos intentan aplicar enfoques de diseño antiguos con Tableau

y obtienen resultados fútiles. En este documento se intenta desarrollar y promover prácticas

recomendadas para el uso de una nueva categoría de análisis de datos empresariales y una nueva

categoría de herramientas de análisis de datos.

¿Para qué sirve Tableau? En Tableau Software, queremos cambiar la manera en que las personas ven y comprenden los datos

y cómo interactúan con ellos. Como resultado, no intentamos ofrecer el mismo tipo de experiencia que

ofrecen las plataformas de BI empresariales tradicionales. Tableau funciona mejor cuando se usa para

crear libros de trabajo que sean:

Visuales: hay muchísima evidencia que muestra que para los seres humanos la manera más

eficaz de entender conjuntos de datos grandes y complejos es mediante representaciones

visuales. El procedimiento predeterminado de Tableau consiste en presentar los datos a través

de gráficos, diagramas y dashboards. Las tablas y las tabulaciones cruzadas tienen su lugar (y se

admiten), y hablaremos sobre cómo aprovecharlas más adelante.

Interactivos: los documentos de Tableau están diseñados principalmente para proporcionar resultados

con los que los usuarios puedan interactuar, tanto en sus escritorios como en la Web y en dispositivos

móviles. A diferencia de otras herramientas de BI que producen, principalmente, resultados de

impresión (ya sean para papel o para documentos, por ejemplo, pdf), el objetivo es diseñar experiencias

útiles e interactivas que permitan a los usuarios explorar los datos y resolver consultas de negocios.

Iterativos: el descubrimiento es un proceso cíclico por naturaleza. Tableau está diseñado para acelerar

el ciclo de consulta-entendimiento-consulta para que los usuarios puedan desarrollar hipótesis

rápidamente, probarlas con los datos disponibles, corregirlas, volverlas a probar y así sucesivamente.

Rápidos: históricamente, el proceso de BI ha sido lento. Ha sido lento para instalar y configurar

software, lento para poner los datos a disposición para el análisis y lento para diseñar e

implementar documentos, informes, dashboards, etc. Tableau permite a los usuarios instalarlo,

conectarse y crear documentos más rápido que nunca y, en muchos casos, reduce el tiempo de

respuesta a las consultas de meses o semanas a horas o minutos.

Sencillos: las herramientas de BI empresariales tradicionales suelen exceder las capacidades de la

mayoría de los usuarios profesionales debido a su costo o a su complejidad. En muchos casos, los

usuarios necesitan asistencia de TI o de algún usuario avanzado para crear las consultas y los

documentos que desean. Tableau ofrece una interfaz intuitiva para que los usuarios sin

conocimientos técnicos puedan hacer consultas y análisis de datos complejos sin necesidad de

convertirse en expertos en bases de datos u hojas de cálculo.

Bonitos: dicen que la belleza depende de los ojos con que se la mire, pero en el mundo de la

comunicación visual existen prácticas recomendadas que deben respetarse. Mediante funciones

como "Mostrarme", Tableau guía a los usuarios sin conocimientos técnicos en la creación de

gráficos eficaces y comprensibles basados en los datos que se usen.

Page 8: Designing Efficient Workbooks II Es Es 0

8

Ubicuos: cada vez es menos frecuente que los usuarios creen documentos para una única

plataforma de trabajo. Ellos necesitan ver los datos e interactuar con estos en sus escritorios, en

la Web y en dispositivos móviles, además de insertarlos en otras aplicaciones y documentos, y

más. Tableau permite publicar documentos y, después, usarlos en todas estas plataformas sin

necesidad de migración ni rediseño.

¿Para qué no está preparado Tableau? Tableau es una herramienta sofisticada y eficaz, pero se debe comprender desde el principio que

probablemente no sea la mejor solución para resolver ciertos problemas. Esto no significa que no pueda

usarse la herramienta: Tableau puede manipularse para que realice muchas tareas para las que no fue

diseñado originalmente. Lo que queremos decir es que si usa Tableau para tratar de resolver problemas

para los cuales la herramienta no está diseñada, la relación entre esfuerzo y recompensa

probablemente no será favorable, y la solución resultante puede ser poco o nada satisfactoria.

Sugerimos que piense en modificar sus requisitos o considere otro enfoque si:

Necesita un documento que esté diseñado para el papel, no para la pantalla. Con esto nos referimos

a los casos en los que necesite controlar diseños de página complejos; deba incluir características

como encabezados o pies de página, sección o grupo, o requiera un formato WYSIWYG preciso.

Tableau puede generar informes de varias páginas, pero estos carecen del nivel de control de formato

que está disponible en las herramientas dedicadas de generación de informes con bandas.

Necesita un mecanismo instantáneo complejo para documentos personalizables (también llamado

"envío en ráfaga") que se envíen con distintos modos de entrega. Se puede usar Tableau para crear

sistemas instantáneos, pero esta no es una característica nativa de Tableau. Se debe desarrollar una

solución personalizada basada en la utilidad TABCMD. Tableau 8 presentó el concepto de suscripción

a informes, pero este es un modelo de búsqueda por usuario, no una ráfaga de informes.

El caso de uso principal para el lector es exportar los datos en otro formato (frecuentemente un

archivo CSV o de Excel). Por lo general, se requieren informes tabulares con muchas filas de datos

detallados. Debe quedar claro que Tableau permite a los usuarios exportar los datos de una vista o un

dashboard a Excel, tanto en resumen como de manera detallada. Sin embargo, cuando el caso de uso

principal es exportar, el proceso consiste en extraer, transformar y cargar (ETL) copias. Existen

soluciones mucho más eficaces que una herramienta de generación de informes para lograr esto.

Necesita documentos de tabulación cruzada muy complejos que, quizás, imiten informes de hoja

de cálculo existentes con cálculos de subtotales difíciles, referencias cruzadas complicadas, etc.

Los ejemplos más comunes de esto son los informes financieros, como estados de resultados,

balances generales, etc. Además, puede tener la necesidad de realizar modelos de situaciones,

análisis "qué pasaría si" e, incluso, modificaciones de datos supuestos. Si los datos minuciosos

subyacentes no están disponibles o si la lógica para generar informes se basa en "referencias de

celdas", en vez de combinar los registros y calcular totales, puede ser apropiado continuar

usando una hoja de cálculo para este tipo de informes.

Enfoques de diseño: malos vs. buenos Con Tableau, usted crea una experiencia interactiva para sus usuarios finales. El resultado final que

proporciona Tableau Server es una aplicación interactiva que permite a los usuarios explorar los datos,

Page 9: Designing Efficient Workbooks II Es Es 0

9

en lugar de solo verlos. Por lo tanto, para crear un dashboard de Tableau eficaz, necesita dejar de pensar

como si estuviera desarrollando un informe estático.

Veamos un ejemplo de un tipo de dashboard que muchos novatos crean, especialmente si antes trabajaron

con herramientas como Excel o Access, o si tienen experiencia en el uso de herramientas "tradicionales" de

generación de informes. Comenzamos con un informe tabular que muestra "todo" y una serie de filtros que

permiten al usuario restringir la tabla hasta que muestre los registros que le interesan:

Este no es un "buen" dashboard de Tableau (de hecho, no es nada "bueno"). En el peor de los casos, es

un proceso de extracción de datos glorificado porque el usuario desea llevar los datos a otra

herramienta, como Excel, para hacer análisis y gráficos adicionales. En el mejor de los casos, indica que,

en realidad, no entendemos cómo el usuario final desea explorar los datos, de modo que tomamos el

siguiente enfoque: "En función de su criterio inicial, le proporcionamos todo... e incluimos algunos filtros

para que pueda restringir el conjunto de resultados y encontrar lo que realmente busca".

Ahora, considere el siguiente reprocesamiento con los mismos datos. Comenzamos con el nivel de

agregación más alto:

Page 10: Designing Efficient Workbooks II Es Es 0

10

Si seleccionamos uno o más elementos, se muestra el siguiente nivel de detalle:

Continuamos haciendo esto y revelamos cada vez más detalles:

Finalmente, llegamos a revelar el máximo nivel de datos, los mismos datos que se mostraron en el

dashboard de tabulación cruzada de arriba.

Page 11: Designing Efficient Workbooks II Es Es 0

11

No se concentre en la presentación de los datos (es un tema importante, pero lo trataremos más

adelante). En lugar de eso, reflexione acerca de la experiencia de usar este dashboard. Observe cómo

fluye naturalmente, de izquierda a derecha, de arriba a abajo. Este ejemplo puede tener muchos datos

subyacentes, pero el dashboard guía al usuario final a explorar en profundidad y de manera gradual para

que pueda encontrar el conjunto de registros detallados y precisos que busca.

La diferencia principal de los dos ejemplos es el modo en que se guía al usuario final en el proceso de

análisis. El primer ejemplo arroja un resultado inicial extenso (muestra todos los registros posibles) y

permite al usuario final reducir la cantidad de registros que se muestran mediante la aplicación de

filtros. Pero existen problemas inherentes a esta técnica:

La consulta inicial que debe ejecutarse antes de que se muestre algo al usuario final es,

básicamente, la consulta más general que se puede hacer: "deme todos los registros". Con

cualquier conjunto de datos real, ejecutar esta consulta y transmitirla de vuelta al motor de

Tableau llevaría un tiempo considerable. La experiencia del "contacto inicial" es fundamental

para establecer la percepción del usuario final con respecto a la solución; y si transcurren más de

unos pocos segundos antes de que algo suceda, la percepción será negativa.

Crear una vista con cientos de miles o millones de marcas (cada celda de una tabulación cruzada

se llama marca) implica una gran exigencia sobre la CPU y la memoria. También demanda

tiempo, lo que contribuye a la percepción negativa de la capacidad de respuesta del sistema. En

Tableau Server, el hecho de que muchas personas generen tabulaciones cruzadas grandes al

mismo tiempo puede provocar un rendimiento reducido y, en el peor de los casos, agotar la

memoria del sistema. En términos técnicos, esto es "algo muy malo" y puede causar problemas

Page 12: Designing Efficient Workbooks II Es Es 0

12

de estabilidad del servidor, errores y toda clase de experiencias desagradables para los usuarios

finales. Por supuesto que puede agregar más memoria al servidor para minimizar esto; pero

estaría tratando el síntoma, no la causa.

Por último, los usuarios no tienen ninguna guía contextual que les indique si su conjunto inicial

de filtros producirá resultados muy extensos o muy reducidos. ¿Cómo puede saber el usuario de

un informe que si selecciona todas las categorías disponibles, la consulta inicial producirá

decenas de miles de registros y agotará toda la memoria RAM disponible del servidor? No puede

saberlo si no lo experimenta.

Compare esto con el segundo enfoque, en el que la consulta inicial muestra únicamente el nivel más alto

de agregación:

La primera consulta que se debe ejecutar es altamente agregada y, en consecuencia, proporciona

solo una cantidad mínima de datos. Para las bases de datos bien diseñadas, esta es una actividad

muy eficaz, y el tiempo de respuesta del "primer contacto" es muy rápido, lo que conduce a una

percepción positiva del sistema. A medida que profundizamos, cada consulta posterior se agrega

y restringe por las selecciones del nivel más alto. Estas continúan ejecutándose y regresando al

motor de Tableau rápidamente.

Aunque contamos con más vistas cuando el dashboard está completo, cada vista muestra solo

unas pocas docenas de marcas. Incluso si muchos usuarios finales están usando el sistema, los

recursos necesarios para generar cada una de estas vistas son insignificantes, y es mucho menos

probable que el sistema se quede sin memoria.

Por último, se puede observar que aprovechamos la oportunidad para mostrar el volumen

de ventas de cada categoría en los niveles de "navegación" más altos. Esto proporciona algo

de contexto al usuario acerca de la cantidad de registros que incluye la selección. También

indicamos la rentabilidad de cada categoría con colores. Esto se vuelve extremadamente

relevante, ya que le permite ver qué áreas requieren de su atención y evita que tenga que

navegar a ciegas.

Page 13: Designing Efficient Workbooks II Es Es 0

13

Parte 2: ¿Es la conexión de datos? Una de las valiosas características de Tableau es su capacidad de conectarse a datos de una gran

variedad de plataformas. En términos generales, estas plataformas pueden ser de los siguientes tipos:

fuentes de datos basadas en archivos;

fuentes de datos relacionales;

fuentes de datos OLAP;

fuentes de datos basadas en Web.

Todos los tipos de fuentes de datos tienen sus propias ventajas y desventajas, y se tratan de manera

independiente.

Tenga en cuenta que en Tableau 8.2 incluimos soporte para Tableau Desktop en Mac OS X. Al principio,

el conjunto de fuentes de datos admitidas en Mac no será el mismo que el de Windows; trabajaremos

para minimizar las diferencias entre las plataformas, pero puede haber casos en los que algunas fuentes

de datos solo se admitan en una plataforma.

Archivos Esta categoría abarca todos los formatos de datos basados en archivos: los archivos de texto, como CSV,

las hojas de cálculo de Excel y los archivos de MS Access son los más comunes. Los usuarios profesionales

comúnmente usan datos en estos formatos porque permiten extraer los datos de conjuntos de datos

"gestionados", ya sea mediante la generación de informes o la extracción basada en consultas.

En general, recomendamos a los usuarios que importen estos tipos de fuentes de datos en el motor de

datos veloz de Tableau. Esto hará que las consultas se ejecuten mucho más rápido y que los valores de

datos se almacenen en archivos mucho más pequeños. Sin embargo, si el archivo es pequeño o se

necesita una conexión en vivo con el archivo para reflejar datos cambiantes, puede conectarse en vivo.

En la mayoría de los casos, Tableau usa el controlador Microsoft JET para conectarse a estas fuentes de

datos, extraerlas y ejecutar consultas basadas en ellas. Hay varios problemas que suelen enfrentar los

usuarios finales debido a limitaciones de esta capa de la interfaz:

El controlador MS JET tiene limitaciones con respecto a la cantidad y al tamaño de las columnas que se pueden leer. Para que los archivos se lean, estos no pueden tener más de 255 columnas,

y los campos de texto se truncan en los 255 caracteres. En la siguiente conversación de un foro

se analizan estas limitaciones: http://community.tableausoftware.com/thread/109727.

Debido a que los archivos de texto y las hojas de cálculo de Excel no son fuentes de datos "con tipo", el controlador MS JET examina las N primeras filas del archivo para determinar qué tipo de datos

contiene en cada columna. A veces, esto no es suficiente para identificar correctamente el tipo de datos almacenados en un campo de origen. Por ejemplo, es posible que se detecten solo valores con

números y se determine que el tipo de datos es numérico, pero en celdas posteriores de la tabla haya

valores alfanuméricos. El siguiente artículo de la base de conocimiento identifica varias formas de lidiar con este problema: http://kb.tableausoftware.com/articles/knowledgebase/jet-incorrect-data-type-issues?lang=es-es.

El controlador MS JET no admite el RECUENTO DE VALORES DIFERENCIADOS ni la MEDIANA como agregaciones. Cuando se usa una conexión en vivo a una fuente de datos basada en archivos, estas

Page 14: Designing Efficient Workbooks II Es Es 0

14

funciones no están disponibles en la interfaz de Tableau Desktop. La forma más sencilla de proceder

es extraer los datos y llevarlos al veloz motor de datos de Tableau, que admite estas funciones.

El controlador MS JET no puede leer archivos de más de 4 GB. Mientras que esto no es un problema

para los archivos de Excel o Access, que tienen limitaciones de tamaño similares, puede ser un

inconveniente para archivos de texto extremadamente grandes. Para solucionar esto, Tableau incorporó un analizador de texto dedicado en la versión 6.1. En consecuencia, se pueden importar archivos de texto de cualquier tamaño y llevarlos al veloz motor de datos de Tableau; no se recomienda

hacer consultas directas a estos archivos porque el rendimiento sería pésimo. Sin embargo, existen limitaciones de uso del analizador: solo debe usarse para hacer una lectura directa del archivo de texto. Si aplicamos cálculos o filtros, el proceso de importación usa el controlador MS JET en su lugar.

En Tableau 8.2, presentamos una nueva capa conectora para fuentes de datos basadas en archivos:

específicamente, archivos de texto y libros de trabajo de Excel. Esta capa conectora se incorporó para

superar muchos de los problemas mencionados relacionados con las fuentes de datos basadas en

archivos, pero también para admitir Tableau Desktop en Mac OS X.

Este nuevo conector no usa MS JET, por lo que no se aplican las limitaciones mencionadas. No obstante,

habrá algunas diferencias:

Texto Excel

Se ganó análisis mucho más eficaz en general detección mucho más precisa del tipo

de campo: más filas, mejor lógica detección automática del delimitador

y la página de códigos detección automática más precisa de

la presencia o ausencia de encabezados de datos

todas las funciones del motor de datos que no están en JET (RECUENTO DE VALORES DIFERENCIADOS, MEDIANA, PERCENTILES, ANÁLISIS DE FECHA,...)

conjuntos de entrada/salida conjuntos combinados fracciones de segundo como fechas AAAAMMDD como fecha X% como números más de 255 columnas caracteres calificadores de texto

(estimación) configuración regional de análisis explícita compatibilidad con Mac

análisis mucho más eficaz en general detección mucho más precisa del tipo

de campo: más filas, mejor lógica detección automática de la presencia

o ausencia de encabezados de datos nombres de campos más apropiados todas las funciones del motor de datos que

no están en JET (RECUENTO DE VALORES DIFERENCIADOS, MEDIANA, PERCENTILES, ANÁLISIS DE FECHA,...)

conjuntos de entrada/salida conjuntos combinados más de 255 columnas análisis de columnas de enteros como

enteros en vez de dobles análisis de columnas de fechas sin hora

como fechas en vez de fecha y hora hojas con comillas simples que funcionan

(ejemplo de una ganancia poco clara) compatibilidad con Mac

Se perdió JET SQL: SQL en bruto y SQL personalizado formatos de archivo de ancho arreglado

en schema.ini uniones correctas y completas uniones de igualdad

JET SQL: SQL en bruto y SQL personalizado compatibilidad con archivos de Excel 3, 4 y 5 compatibilidad con XLSB uniones correctas y completas uniones de igualdad

Page 15: Designing Efficient Workbooks II Es Es 0

15

Los usuarios que ejecuten Tableau en Windows tendrán la posibilidad de volver al conector basado en MS JET

anterior si lo necesitan, pero esta opción no estará disponible para usuarios que ejecuten Tableau en Mac.

Relacionales Las fuentes de datos relacionales son las fuentes de datos más comunes para los usuarios de Tableau, y

Tableau proporciona controladores nativos para una amplia gama de plataformas. Estos pueden basarse

en filas o columnas; pueden ser personales o empresariales, y puede accederse a ellos mediante

controladores nativos u ODBC genérico. Técnicamente, esta categoría también incluye las fuentes de

datos de MapReduce, ya que se accede a ellas a través de capas de acceso SQL, como Hive o Impala;

pero analizaremos estas fuentes en detalle más adelante.

Existen muchos factores internos que afectan la velocidad de las consultas en los sistemas de

administración de bases de datos relacionales (RDBMS). Para cambiarlos o modificarlos, probablemente

necesite ayuda de su DBA, pero puede obtener mejoras de rendimiento significativas.

Índices

La indexación correcta de la base de datos es fundamental para que las consultas sean eficaces:

Asegúrese de que todas las columnas que formen parte de las UNIONES de la tabla estén indexadas.

Asegúrese de que todas las columnas que se usen en FILTROS, en Tableau, estén indexadas.

Tenga en cuenta que el uso de filtros de fecha discretos en algunas bases de datos puede resultar

en que las consultas no usen los índices de las columnas de fecha y fecha/hora. Analizaremos

esto en profundidad en la sección de filtros, pero sepa que usar un filtro por rango de fechas

garantiza que se use el índice de las fechas. Es decir, en vez de usar YEAR([DateDim])=2010

exprese el filtro como [DateDim] >= #2010-01-01# and [DateDim] <= #2010-12-31#).

Asegúrese de que las estadísticas de sus datos estén habilitadas para permitir que el optimizador

de consultas cree planes de consulta de alta calidad.

Muchos entornos de sistemas de administración de bases de datos (DBMS) tienen herramientas

de gestión que recomiendan índices en función de las consultas.

Integridad referencial

La información de integridad referencial le permite a Tableau entender cómo se relacionan los datos de

diferentes tablas. Asegurar que esta se configure de manera correcta contribuye a que Tableau cree

consultas eficaces:

Defina EXPLÍCITAMENTE CLAVES PRINCIPALES para todas las tablas si es posible.

Defina EXPLÍCITAMENTE todas las relaciones con CLAVES EXTERNAS. Esto le permite a Tableau eludir

muchas de sus comprobaciones de integridad, ya que detecta que la base de datos hace la verificación.

Particionamiento

El particionamiento de bases de datos mejora el rendimiento mediante la división de tablas grandes en

tablas individuales más pequeñas (llamadas particiones o divisiones). Esto permite que las consultas se

ejecuten con más rapidez, ya que la cantidad de datos que se debe examinar es menor o hay más

controladores que asisten la entrada y la salida. El particionamiento es una estrategia recomendada

para grandes volúmenes de datos y es transparente para Tableau.

Page 16: Designing Efficient Workbooks II Es Es 0

16

El particionamiento funciona bien en Tableau si se hace en una dimensión (por ejemplo, tiempo, región,

categoría, etc.) que normalmente se filtre, de modo que las consultas individuales solo tengan que leer

registros de una sola partición.

Tenga en cuenta que para algunas bases de datos se necesitan filtros por rango de fechas (no filtros

discretos) para garantizar que los índices de partición se usen correctamente; de lo contrario, la

examinación de una tabla completa puede tener un rendimiento muy bajo.

Valores nulos

La presencia de valores nulos en las columnas de dimensión puede reducir la eficacia de los índices de

muchas bases de datos. Cuando sea posible, defina sus columnas de dimensión como NO NULAS.

Cálculos

En Tableau, los campos calculados se expresan como parte de la consulta que se inserta en la base de

datos para su procesamiento. Si usted tiene cálculos muy complejos, quizás el SQL generado no sea la

opción óptima y pueda mejorarse.

En estas situaciones, puede crear una instrucción SQL personalizada para ajustar manualmente la

expresión (pero esto tiene sus propias desventajas, que analizaremos más adelante) o puede

implementar la expresión en una vista o función de la base de datos.

SQL personalizado

Si bien la capacidad de crear una conexión de datos con un fragmento de SQL personalizado puede ser

muy valiosa, tiene sus limitaciones de rendimiento. A diferencia de las tablas únicas o múltiples, el SQL

personalizado nunca se desglosa y se ejecuta atómicamente. Finalmente, nos encontramos con

situaciones en las que la base de datos debe procesar:

SELECT SUM([TableauSQL].[Sales])

FROM (

SELECT [OrdersFact].[Order ID] AS [Order ID],

[OrdersFact].[Date ID] AS [Date ID],

[OrdersFact].[Customer ID] AS [Customer ID],

[OrdersFact].[Place ID] AS [Place ID],

[OrdersFact].[Product ID] AS [Product ID],

[OrdersFact].[Delivery ID] AS [Delivery ID],

[OrdersFact].[Discount] AS [Discount],

[OrdersFact].[Cost] AS [Cost],

[OrdersFact].[Sales] AS [Sales],

[OrdersFact].[Qty] AS [Qty],

[OrdersFact].[Profit] AS [Profit]

FROM [dbo].[OrdersFact] [OrdersFact]

) [TableauSQL]

HAVING (COUNT_BIG(1) > 0)

Una buena recomendación es usar SQL personalizado en combinación con el motor de datos rápido de Tableau.

Así, la consulta atómica se ejecuta una sola vez (para cargar los datos en la extracción de datos), y todo el

análisis siguiente con Tableau se hace mediante consultas dinámicas optimizadas a la extracción de datos.

Consulte la sección siguiente sobre filtros de contexto para conocer otra técnica para forzar a la base de datos a

que presente los resultados del SQL personalizado en una tabla temporal.

Page 17: Designing Efficient Workbooks II Es Es 0

17

A partir del lanzamiento de Tableau 8, se pueden usar parámetros en SQL personalizado; en algunos

casos, estos pueden mejorar el rendimiento de las conexiones en vivo, ya que otorgan más dinamismo

a la consulta básica (p. ej., las cláusulas de filtros que usen parámetros se evaluarán de manera

apropiada). Además, los parámetros pueden usarse para introducir valores de delimitación de

rendimiento, como TOP o SAMPLE, a fin de restringir la cantidad de datos que devuelve la base de

datos. No obstante, tenga en cuenta que los parámetros solo pueden usarse para introducir valores

literales y no pueden usarse para cambiar de forma dinámica las cláusulas SELECT ni las FROM.

Tablas resumidas

Si tiene un conjunto de datos muy grande y detallado que suele resumir cuando hace consultas (p. ej., guarda

transacciones individuales, pero generalmente usa los datos resumidos por día, región, cliente, producto,

etc.), considere crear una tabla resumida y usar Tableau con ella para reducir los tiempos de consulta.

Nota: Puede usar extracciones de datos de Tableau para lograr un resultado similar creando una

extracción de datos agregada. Consulte la sección sobre extracciones para obtener más detalles.

Procedimientos almacenados

Tableau 8.1 admite procedimientos almacenados en Sybase ASE, SQL Server y Teradata. Si debe

implementar una lógica muy compleja (p. ej., basada en información de los usuarios), esta puede ser

una alternativa eficaz al SQL personalizado.

Si usa procedimiento almacenados para definir una fuente de datos para Tableau, tenga en cuenta lo

siguiente:

Si un procedimiento almacenado genera más de un conjunto de resultados, Tableau lee el

primero e ignora el resto.

Si un procedimiento almacenado tiene parámetros de salida, Tableau filtra el procedimiento

almacenado para que no aparezca en el cuadro de diálogo de Conexión.

Los procedimientos almacenados que tienen parámetros no escalares se excluyen.

Las columnas del conjunto de resultados que no tengan tipos que coincidan con los de Tableau

(como varbinary, geometry y hierarchyid) se registran. Si a todas las columnas del conjunto de

resultados se les asignan tipos de datos desconocidos, Tableau muestra un mensaje: "El conjunto

de resultados... no tiene columnas que se puedan usar".

Los procedimientos almacenados que no generan conjuntos de resultados se enumeran en el

cuadro de diálogo Conexión, pero no se pueden seleccionar.

Si no se proporciona un valor para un parámetro requerido por el procedimiento almacenado,

se produce un error. Tableau no puede determinar con antelación si se requieren parámetros.

Tableau no gestiona transacciones de procedimientos almacenados. Es decir, los creadores de

procedimientos almacenados no deben asumir que Tableau iniciará transacciones antes de

invocar estos procedimientos ni que los confirmará después.

SQL inicial

Otra alternativa al uso de SQL personalizado (si su fuente de datos la admite) consiste en usar la

instrucción SQL personalizada en un bloque SQL inicial. Con ella puede crear una tabla temporal, que

será la tabla seleccionada para su consulta. Debido a que el SQL inicial se ejecuta una sola vez cuando se

Page 18: Designing Efficient Workbooks II Es Es 0

18

abre el libro de trabajo (en lugar de ejecutarse cada vez que se cambia la visualización del SQL

personalizado), esto podría mejorar considerablemente el rendimiento en algunos casos.

Hadoop En Tableau 8.1 se admiten tres distribuciones Hadoop (además de las interfaces compatibles):

Cloudera Hadoop

Hive Server

Impala

Beeswax Server

Beeswax Server y Kerberos

Hortonworks Hadoop Hive

Hive Server

Hive Server 2

Hortonworks Hadoop Hive

MapR Hadoop Hive

Hive Server

Hive Server 2

Hive actúa como capa traductora de SQL-Hadoop: traduce la consulta a MapReduce, la cual después se

ejecuta con los datos de HDFS. Impala ejecuta la instrucción SQL directamente con los datos de HDFS

(no necesita MapReduce). Generalmente, Impala es mucho más rápido que Hive, aunque se producen

cambios con frecuencia, y tecnologías nuevas, como Apache Shark (diseñado de modo que sea

compatible con Hive), Hortonworks Stinger y otras pueden lograr diferencias menores o nulas.

Incluso con estos componentes adicionales, por lo general, Hadoop no responde adecuadamente a las

consultas analíticas como las que crea Tableau. Las extracciones de datos de Tableau suelen usarse para

mejorar los tiempos de respuesta de las consultas (analizaremos más información sobre las extracciones

y cómo estas se pueden usar con "big data" más adelante).

Puede encontrar más detalles para mejorar el rendimiento con fuentes de datos de Hadoop en:

http://kb.tableausoftware.com/articles/knowledgebase/hadoop-hive-performance?lang=es-es

OLAP Tableau admite varias fuentes de datos OLAP:

Microsoft Analysis Services

Microsoft PowerPivot (PowerPivot para Excel y PowerPivot para SharePoint)

Oracle Essbase

SAP BW

Teradata OLAP

Page 19: Designing Efficient Workbooks II Es Es 0

19

Existen diferencias funcionales entre la conexión a una base de datos OLAP y a una relacional debido

a las diferencias de los lenguajes subyacentes, MDX/DAX y SQL. Lo principal que debe tener presente

es que ambas tienen la misma interfaz de usuario en Tableau, las mismas visualizaciones y el mismo

lenguaje de expresión para las medidas calculadas. Las diferencias se relacionan, principalmente, con

los metadatos (cómo y dónde se definen), los filtros, el funcionamiento de los totales y las agregaciones,

y la forma en que se puede usar la fuente de datos para la combinación de datos.

Consulte el Anexo A para conocer más detalles.

Ahora, con Tableau 8.1 puede extraer datos de cubos SAP BW hacia el motor de datos de Tableau. Tableau

recupera los nodos de nivel de hoja (no los datos detallados) y los convierte en una fuente de datos

relacional. Como la transformación de multidimensional a relacional no conserva todas las estructuras de

cubo, las extracciones con cubos no admiten la posibilidad de cambiar libremente una y otra vez entre una

extracción y una conexión en vivo sin que el estado de su visualización se vea afectado. Deberá elegir antes

de comenzar a armar su visualización. Sin embargo, no debe decidir todo desde un principio. Puede alternar

entre opciones de alias (clave, nombre largo, etc.) después de la extracción.

Nube Actualmente, Tableau admite las siguientes fuentes de datos basadas en Web:

Salesforce.com

Google Analytics

OData

Windows Azure Marketplace DataMarket

Las fuentes de este primer grupo leen un conjunto de registros de datos de un servicio web y los cargan

en un archivo de extracción de datos de Tableau. La "conexión en vivo" no es posible para estas fuentes

de datos, pero el archivo extraído puede actualizarse para que también se actualicen los datos que

contiene. Con Tableau Server, este proceso de actualización puede automatizarse y programarse.

Amazon Redshift

Google BigQuery

Microsoft SQL Server Azure (mediante el controlador SQL Server)

Aunque estas fuentes de datos también están basadas en Web, funcionan como fuentes de datos

relacionales y permiten tanto conexiones en vivo como extracciones.

Salesforce

Cuando se conecta a Salesforce mediante Tableau, los datos se extraen automáticamente en un archivo

de extracción de datos de Tableau. En algunos casos, no se pueden extraer ciertos campos debido a

límites de caracteres. Específicamente, los campos de texto con más de 4096 caracteres y los campos

calculados no se incluirán en la extracción. Si sus datos tienen campos calculados, usted deberá

recrearlos en Tableau después de hacer la extracción.

Además, la API de Force.com restringe las consultas a un total de 10 000 caracteres. Si se conecta a una o más

tablas muy anchas (muchas columnas con nombres posiblemente muy largos), puede llegar al límite cuando

Page 20: Designing Efficient Workbooks II Es Es 0

20

intente crear una extracción. En estos casos, debe seleccionar menos columnas para reducir el tamaño de la

consulta. Es posible que Salesforce.com sea capaz de ampliar el límite de consulta de su empresa en ciertos

casos. Comuníquese con su administrador de Salesforce.com para obtener más información.

Google Analytics

Google Analytics (GA) toma una muestra de sus datos cuando un informe incluye gran cantidad de

dimensiones o datos. Si sus datos para una propiedad web específica y un rango de fechas dado

superan (para una cuenta de GA normal) las 50 000 visitas, GA agregará los resultados y proporcionará

un conjunto de muestra de esos datos. Cuando GA haya proporcionado un conjunto de muestra de los

datos a Tableau, Tableau mostrará el siguiente mensaje en la esquina inferior derecha de la vista:

"Google Analytics devolvió datos muestreados. El muestreo ocurre cuando la conexión incluye una gran

cantidad de dimensiones o de datos. Consulte la documentación de Google Analytics para aprender más

acerca de cómo el muestreo afecta los resultados de su informe".

Si se toman muestras de sus datos, es importante saberlo porque agregar ciertos conjuntos de muestra

de datos puede conducir a inferencias muy sesgadas e imprecisas. Por ejemplo, suponga que agrega un

conjunto de muestra de datos que describe una categoría inusual de sus datos. Las inferencias basadas

en ese conjunto de muestra agregado pueden estar sesgadas por haber un número insuficiente de

elementos muestrales en esa categoría. Para crear vistas de GA que le permitan hacer inferencias

precisas sobre los datos, asegúrese de contar con una muestra lo suficientemente grande para la

categoría que le interesa. El tamaño de muestra mínimo recomendado es de 30.

Para obtener información sobre cómo ajustar el tamaño de muestra de GA y aprender más acerca de

la técnica de muestreo de GA, consulte la documentación de GA:

https://support.google.com/analytics/answer/1042498?hl=es

Para evitar el muestreo se puede proceder de dos maneras:

Ejecute varios informes de GA en el nivel de sesión o de resultado para dividir los datos en partes

no muestreadas. Después, descargue los datos en un archivo de Excel y use el motor de extracción

de Tableau para "agregar los datos del archivo..." a fin de reensamblarlos en un único conjunto.

Cambie su cuenta de GA por una cuenta Premium e incremente, así, la cantidad de registros que se

pueden incluir en un informe. Esto facilitará mucho la separación de los datos en distintas partes

para el análisis. Para el futuro, Google anunció que permitirá a los clientes Premium de GA exportar

sus datos de nivel de sesión o de resultado a Google BigQuery para un análisis más profundo. Este

sería un enfoque mucho más sencillo, ya que Tableau se puede conectar directamente a BigQuery.

Por último, tenga en cuenta que la API que Tableau usa para hacer consultas a GA limita la consulta a un

máximo de 7 dimensiones y 10 medidas.

Servidor de datos Otra forma de conectarse a fuentes de datos es mediante el servidor de datos de Tableau Server, aunque este no

sea exactamente una fuente de datos. El servidor de datos admite tanto conexiones en vivo como extracciones

de datos y proporciona varias ventajas en comparación con las conexiones de datos independientes:

Page 21: Designing Efficient Workbooks II Es Es 0

21

Dado que los metadatos se almacenan de manera centralizada en Tableau Server, varios libros de

trabajo y varios autores o analistas pueden compartirlos. Los libros de trabajo conservan una

referencia a la definición de los metadatos centralizados y, cada vez que se abren, controlan si se

hicieron cambios. En caso afirmativo, se pide al usuario que actualice la copia integrada en el

libro de trabajo. Esto significa que los cambios de lógica de negocios solo deben realizarse en un

lugar y pueden propagarse a todos los libros de trabajo dependientes.

Si la fuente de datos es una extracción de datos, se puede usar en múltiples libros de trabajo. Sin

el servidor de datos, cada libro de trabajo tendrá su propia copia local de la extracción. Esto

reduce la cantidad de copias redundantes que, a su vez, reduce el espacio de almacenamiento

necesario en el servidor y los procesos de actualización de copias.

Si la fuente de datos es una conexión en vivo, no es necesario instalar sus controladores en todas

las computadoras, solo deben instalarse en Tableau Server. El servidor de datos actúa como

proxy para las consultas de Tableau Desktop.

Extracciones Hasta ahora hemos analizado técnicas para mejorar el rendimiento de las conexiones de datos en las

que los datos permanecen en su formato original. Estas conexiones se denominan conexiones de datos

en vivo, y, en estos casos, dependemos de la plataforma de la fuente de datos respecto a rendimiento y

funcionalidad. Para mejorar el rendimiento de las conexiones en vivo, generalmente es necesario hacer

cambios a la fuente de datos, y muchos clientes no pueden hacerlos.

Una alternativa disponible para todos los usuarios es aprovechar el veloz motor de Tableau y hacer una

extracción de datos de Tableau a partir del sistema de datos de origen. Esta extracción:

Es una memoria caché de datos persistente que se graba en el disco y puede reproducirse.

Es un almacén de datos en columnas (un formato en el que los datos están optimizados para

realizar consultas para análisis).

Está completamente desconectada de la base de datos durante la consulta; de hecho, la

extracción reemplaza la conexión de datos en vivo.

Es actualizable, mediante la generación de una nueva extracción o la incorporación progresiva de

filas de datos a una extracción existente.

Reconoce la arquitectura (a diferencia de la mayoría de las tecnologías en memoria, no se ve

restringida por la cantidad de RAM física disponible).

Es portátil (las extracciones se almacenan como archivos, por lo que pueden copiarse en un disco duro

local o usarse cuando el usuario no está conectado a la red empresarial. También pueden usarse para

insertar datos en libros de trabajo empaquetados que se distribuyan para su uso con Tableau Reader).

Suelen ser más rápidas que la conexión de datos en vivo subyacente.

Tom Brown de The Information Lab escribió un artículo excelente donde explica distintos casos de uso

en los que las extracciones otorgan beneficios (asegúrese de leer también los comentarios para conocer

más ejemplos de otros usuarios):

http://www.theinformationlab.co.uk/2011/01/20/tableau-extracts-what-why-how-etc/

Page 22: Designing Efficient Workbooks II Es Es 0

22

Nota: Las extracciones no reemplazan los almacenes de datos, sino que los complementan. Aunque pueden

usarse para recopilar y agregar datos a lo largo del tiempo (p. ej., agregar datos progresivamente en función

de un ciclo periódico), esto debe tomarse como una solución táctica, no a largo plazo. Las actualizaciones

progresivas no admiten acciones de actualización o eliminación de registros que ya se hayan procesado

(para cambiar estos registros se debe volver a cargar la extracción por completo).

Por último, no se pueden crear extracciones de fuentes de datos OLAP, como SQL Server, Analysis

Services u Oracle Essbase. Sin embargo, en Tableau 8.1 incorporamos la capacidad de crear extracciones

de SAP BW (consulte la sección pertinente más arriba).

Cuándo usar extracciones y cuándo usar conexiones en vivo

Como en todos los ámbitos, hay un momento y un lugar para las extracciones de datos. Las siguientes

son algunas situaciones en las que las extracciones pueden resultar beneficiosas:

Lentitud en la ejecución de consultas: si su sistema de datos de origen tarda en procesar las

consultas que genera Tableau Desktop, crear una extracción puede ser una manera sencilla de

mejorar el rendimiento. El formato de los datos extraídos está diseñado intrínsecamente para

proporcionar una respuesta rápida a las consultas de análisis, por lo que, en este caso, se puede

pensar en la extracción como una memoria caché de aceleración de consultas. Para algunos tipos

de conexión, esta es una práctica recomendada (p. ej., archivos de texto grandes, conexiones SQL

personalizadas), y algunas fuentes solo funcionan con este modelo (consulte la sección sobre

fuentes de datos en nube).

Análisis sin conexión: si necesita trabajar con los datos cuando la fuente de datos original no está

disponible (p. ej. está desconectado de la red cuando viaja o trabaja desde su casa). Las extracciones

de datos persisten como los archivos y pueden copiarse fácilmente en dispositivos portátiles, como

laptops. Es muy sencillo alternar entre una extracción y una conexión en vivo si entra y sale de la red.

Libros de trabajo empaquetados para Tableau Reader, Online o Public: si planea compartir sus

libros de trabajo para que otros usuarios puedan abrirlos en Tableau Reader o si planea

publicarlos en Tableau Online o Tableau Public, deberá insertar los datos en un archivo de libro

de trabajo empaquetado. Incluso si el libro de trabajo usa fuentes de datos que también puedan

insertarse (es decir, fuentes de datos de archivos), las extracciones de datos proporcionan,

intrínsecamente, un alto nivel de compresión de datos, de modo que el libro de trabajo

empaquetado resultante es notoriamente más pequeño.

Funcionalidad adicional: algunas fuentes de datos (p. ej., fuentes de datos de archivos mediante el

controlador MS JET) no admiten ciertas funciones de Tableau Desktop (p. ej., mediana, recuento de

valores diferenciados, jerarquización, agregaciones de percentiles, operaciones de entrada y salida de

conjuntos, etc.). Una manera sencilla de habilitar estas funciones es extraer los datos.

Seguridad de datos: si desea compartir un subconjunto de los datos del sistema de datos de

origen, puede crear una extracción y ponerla a disposición de otros usuarios. Puede limitar los

campos y las columnas que se incluyen y compartir datos agregados cuando desee que los

usuarios vean valores resumidos, pero no los datos individuales registrados.

Las extracciones son muy eficaces, pero no son soluciones infalibles para todos los problemas. Existen

algunas situaciones en las que el uso de extracciones podría no ser adecuado:

Page 23: Designing Efficient Workbooks II Es Es 0

23

Datos en tiempo real: debido a que las extracciones son una foto instantánea de los datos en un

momento específico, no son apropiadas para análisis que requieren datos en tiempo real. Es posible

actualizar automáticamente las extracciones con Tableau Server, y muchos clientes lo hacen varias

veces al día, pero el verdadero acceso a los datos en tiempo real requiere una conexión en vivo.

Datos inmensos: si tiene que trabajar con una cantidad inmensa de datos (la definición de

"inmensa" depende del usuario, pero generalmente será de millones o miles de millones de

registros), extraerlos puede no ser práctico. El archivo de extracción resultante puede ser

extremadamente grande o el proceso de extracción puede llevar muchísimas horas. Pero hay un

par de excepciones a esta regla. Si tiene un conjunto de datos de origen inmenso, pero va a

trabajar con un subconjunto filtrado, muestreado o agregado de esos datos, usar una extracción

puede ser una excelente idea. En términos generales, el motor de extracción de Tableau está

diseñado para funcionar bien con hasta unos cientos de millones de registros, pero esta cantidad

se verá afectada por la forma y la cardinalidad de sus datos.

Funciones de paso de SQL en bruto: si su libro de trabajo usa funciones de paso, estas no

responderán con una extracción de datos.

Seguridad eficaz a nivel de usuario: si tiene que proporcionar seguridad eficaz a nivel de usuario,

debe implementarla en la fuente de datos. Si se aplicaron filtros a nivel de usuario en el libro de

trabajo, los usuarios pueden quitarlos si se les otorga acceso a todos los datos de la extracción.

La excepción a esta regla sucede cuando la extracción se publica en Tableau Server con filtros

definidos para la fuente de datos y otros usuarios acceden a la extracción mediante el servidor de

datos. Nota: Deberá garantizar que se revoquen los permisos de descarga de los usuarios para

impedir que ellos eludan los filtros establecidos.

Creación de extracciones

Esta tarea es sencilla si se usa Tableau Desktop. Después de conectarse a sus datos, vaya al menú Datos

y haga clic en Extraer datos, luego, acepte las opciones predeterminadas del cuadro de diálogo

(volveremos a tratar este tema más adelante). Tableau le pedirá que especifique dónde quiere guardar

la extracción, elija el lugar en el que desee guardar el archivo, aunque Tableau probablemente lo dirija a

"My Tableau Repository | Datasources", que también es una ubicación apropiada.

Ahora, espere a que se cree la extracción. El tiempo de espera depende de la tecnología de la base de

datos que use, la velocidad de la red, el volumen de datos, etc.; además, depende de la velocidad y la

capacidad de su estación de trabajo, ya que la creación de una extracción es una tarea que hace uso

intensivo de la memoria y el procesador.

Sabrá que la extracción finalizó cuando vea que el ícono de la fuente de datos cambió y tiene otro ícono de base

de datos detrás, que supuestamente representa una "copia", que es exactamente lo que es una extracción.

Page 24: Designing Efficient Workbooks II Es Es 0

24

Tenga en cuenta que la creación inicial de una extracción se hace siempre en Tableau Desktop o

mediante la API de extracción de datos y, por lo tanto, ocurre en la estación de trabajo. Deberá

asegurarse de que su estación de trabajo tenga suficiente capacidad para completar la tarea. La creación

de extracciones usa recursos de todos los tipos (CPU, RAM, almacenamiento en disco, E/S de la red),

y procesar grandes volúmenes de datos en una computadora pequeña puede generar errores si

cualquiera de ellos se agota. Se recomienda hacer extracciones grandes en una estación de trabajo

adecuada (CPU rápida con múltiples núcleos, mucha RAM, E/S rápidas, etc.).

El proceso de creación de extracciones requiere espacio del disco temporal para guardar archivos de

trabajo; en Tableau 8.1 y versiones anteriores se puede necesitar hasta el cuadrado del archivo de

extracción resultante (p. ej., una extracción de 100 MB puede requerir varios GB de espacio temporal),

pero en Tableau 8.2 esto se redujo notoriamente, y el proceso ahora solo necesita el doble o menos del

tamaño del archivo de extracción final. Este espacio de trabajo se encuentra en el directorio

especificado por la variable de entorno TEMP (usualmente C:\WINDOWS\TEMP o

C:\Users\USERNAME\AppData\Local\Temp). Si esta unidad no es lo suficientemente grande, dirija la

variable de entorno a una ubicación con más espacio.

Si es imposible (o no es práctico) llevar a cabo un proceso de extracción inicial en una estación de

trabajo, se puede hacer lo siguiente para crear una extracción vacía que después se publicará en Tableau

Server. Cree un campo calculado que incluya DateTrunc(“minute”, now()). A continuación, agréguelo

a los filtros extraídos y excluya el único valor que muestra (hágalo rápido porque después de un minuto

el filtro pierde validez). Si necesita más tiempo, amplíe el intervalo de publicación (p. ej., 5 o 10 minutos,

o una hora si la necesita). Esto creará una extracción vacía en su escritorio. Cuando la publique en el

servidor y active el programa de actualización, llenará toda la extracción, ya que la marca de tiempo que

excluimos ya no es la misma.

Page 25: Designing Efficient Workbooks II Es Es 0

25

Extracciones agregadas

El uso de extracciones agregadas siempre mejora el rendimiento. Incluso si trabaja en Teradata o Vertica

con una enorme cantidad de datos, la extracción puede implicar mejoras, siempre que los datos se agreguen

y filtren adecuadamente. Por ejemplo, puede filtrar los datos si solo le interesan los más recientes.

Puede definir la extracción con antelación eligiendo los campos que desee y marcando la casilla de

verificación "Agregar datos para todas las dimensiones visibles" en el cuadro de diálogo Extraer datos de

Tableau Desktop. Otra opción, después de hacer el análisis y crear el dashboard, cuando esté listo para

publicar, es volver al cuadro de diálogo Extraer datos y hacer clic en el botón Ocultar todos los campos

sin usar. Entonces, al extraer los datos se obtiene el mínimo absoluto necesario para crear la vista. La

gente acostumbra usar esa configuración para su vista de resumen. Y en otra página del libro de trabajo

se puede usar un nivel de detalle inferior, pero una extracción más grande. Como filtró los datos, esto

debería funcionar bien. Puede repetir este procedimiento hasta que se conecte con un sistema en vivo

del servidor. Los sistemas en vivo son buenos para identificar conjuntos pequeños de filas. De este

modo, puede hacer combinaciones y agregaciones en diferentes niveles para resolver casi cualquier

problema de rendimiento y obtener los resultados lo más rápido posible. Como Tableau hace un uso

eficaz de la memoria, mejorar el rendimiento de esta manera suele ser relativamente fácil y permite

ejecutar distintas extracciones al mismo tiempo.

Page 26: Designing Efficient Workbooks II Es Es 0

26

También puede extraer un subconjunto de datos: un subconjunto filtrado (p. ej., un mes de datos) o una

muestra aleatoria de los datos. Así tendrá la oportunidad de crear contenido de análisis, y, cuando esté

listo para aplicar todo el poder de Tableau al conjunto de datos completo, solo tiene que deseleccionar

el elemento de menú Usar extracción.

Page 27: Designing Efficient Workbooks II Es Es 0

27

Optimización de extracciones

Tableau Server no solo optimiza las columnas físicas de la base de datos, sino también las columnas

adicionales creadas en Tableau. Estas columnas incluyen los resultados de cálculos determinísticos, como

la manipulación y la concatenación de cadenas, en los que el resultado, los grupos y los conjuntos nunca

cambiarán. Los resultados de los cálculos no determinísticos, como los que incluyen parámetros y

agregaciones (como sumas o promedios) que se calculan al momento de ejecución, no se pueden almacenar.

Un usuario puede actualizar una extracción después de agregar solo dos filas de datos y notar que el

tamaño de la extracción creció de 100 MB a 120 MB. Este incremento de tamaño se debe a que para la

optimización se crean columnas adicionales con valores de campos calculados porque es más barato

almacenar datos en el disco que recalcularlos cada vez que se necesitan.

Algo a tener en cuenta es que si hace copias duplicadas de una conexión en una extracción de datos, debe

asegurarse de que todos los campos calculados existan en la conexión que seleccione para las opciones

Optimizar y Actualizar, de lo contrario Tableau no mostrará campos que considere en desuso. Un buen método

es definir todos los campos calculados de la fuente de datos primaria y copiarlos, según sea necesario, en las

demás conexiones y solamente actualizar y optimizar la extracción de la fuente de datos primaria.

Actualización de extracciones

En Tableau Desktop, para actualizar una extracción, se hace una selección en el menú (menú Datos >

[su fuente de datos] > Extraer > Actualizar), que actualiza los datos y agrega cualquier fila nueva. Pero en

Tableau Server, durante o después del proceso de publicación, se puede adjuntar un programa definido

por un administrador para actualizar la extracción automáticamente. El incremento más pequeño

Page 28: Designing Efficient Workbooks II Es Es 0

28

permitido para el programa es de 15 minutos; el programa puede consistir en hacer una actualización a

la misma hora todos los días, las semanas, etc. Puede establecer una "ventana móvil" para actualizar

continuamente los datos y ver solo los más recientes.

Nota: Si el usuario desea actualizar sus datos con mayor frecuencia que cada 15 minutos, probablemente

debería conectarse a datos activos o establecer una base de datos de informes sincronizados.

Puede elegir dos programas de actualización para una misma extracción:

Una actualización incremental solo agrega filas y no incluye cambios de las filas existentes.

Una actualización completa descarta la extracción vigente y genera una nueva a partir de la

fuente de datos.

¿Qué sucede si la actualización tarda más que el incremento?

Por ejemplo, se establece un programa para actualizar los datos cada hora, pero la cantidad de datos es tan

grande que la actualización lleva una hora y media. Sorprendentemente, esta situación podría ser provechosa.

Una actualización comienza a la 1:00 y acaba a las 2:30.

La siguiente actualización comienza a las 2:00 y acaba a las 3:30.

La siguiente actualización comienza a las 3:00 y acaba a las 4:30.

A la 1:00 los usuarios trabajan con datos que tienen una hora y media de antigüedad. Si esperara hasta

que la actualización de la 1:00 acabara a las 2:30 para iniciar otra actualización, la segunda actualización

no estaría completa hasta las 4:00. Pero con las actualizaciones superpuestas, hay datos nuevos

disponibles cada hora, a las 2:30, las 3:30 y las 4:30, en vez de cada hora y media a las 2:30, las 4:00 y las

5:30. Cuando acaba una actualización, todas las solicitudes se dirigen a esa versión de la extracción.

Las pantallas de mantenimiento muestran qué tareas de fondo se están ejecutando, además de las que

se ejecutaron durante las últimas 12 horas. Se usa codificación por colores para mostrar el estado de

esas tareas. Las pantallas de mantenimiento están disponibles para los administradores y, con los

permisos adecuados, para algunos usuarios, que pueden estar autorizados a iniciar una actualización ad

hoc de una extracción. Además, por ejemplo, si se va a cargar una base de datos, puede establecer un

desencadenador para que inicie una extracción después de que la base de datos se haya cargado.

Page 29: Designing Efficient Workbooks II Es Es 0

29

También puede actualizar un libro de trabajo de manera incremental o completa con la herramienta de línea

de comando Tabcmd si usa Tableau Server o la línea de comando Tableau.exe si usa Tableau Desktop. Si

tiene requisitos de programación complicados, puede invocarlos desde una herramienta de programación

externa, como el Programador de tareas de Windows. Este enfoque es necesario si desea un ciclo de

actualización más corto que el mínimo de 15 minutos permitido en la interfaz de Tableau Server.

Puede establecer que las actualizaciones se basen en un programa. O puede optar por deshabilitar el

programa e iniciar las actualizaciones manualmente cuando lo desee.

Page 30: Designing Efficient Workbooks II Es Es 0

30

Parte 3: ¿Es la consulta? Usted revisó la conexión de datos y se aseguró de que respetara las prácticas recomendadas. No

obstante, su rendimiento sigue siendo bajo. El próximo punto de revisión es comprender la consulta

específica (o, lo que es más probable, las consultas específicas) para garantizar que sea óptima.

Comprensión de las consultas En Tableau puede encontrar el texto completo de la consulta en el archivo de registro. La ubicación

predeterminada es C:\Users\<username>\Documents\My Tableau Repository\Logs\log.txt. Este archivo

es bastante extenso, pero la consulta se encuentra entre las etiquetas <QUERY> y </QUERY>:

2014-02-19 12:32:21.574 (-,-,-,-) 16a8: <QUERY protocol='0ec80680'>

2014-02-19 12:32:21.574 (-,-,-,-) 16a8: SELECT [ProductDim].[Product Category]

AS [none:Product Category:nk],

2014-02-19 12:32:21.574 (-,-,-,-) 16a8: [ProductDim].[Product Subcategory] AS

[none:Product Subcategory:nk],

2014-02-19 12:32:21.574 (-,-,-,-) 16a8: SUM([OrdersFact].[Sales]) AS

[sum:Sales:ok]

2014-02-19 12:32:21.574 (-,-,-,-) 16a8: FROM ( ( ( ( [OrdersFact]

2014-02-19 12:32:21.574 (-,-,-,-) 16a8: INNER JOIN [CustomerDim] ON

[OrdersFact].[Customer ID] = [CustomerDim].[Customer ID] )

2014-02-19 12:32:21.574 (-,-,-,-) 16a8: INNER JOIN [DeliveryDim] ON

[OrdersFact].[Delivery ID] = [DeliveryDim].[Delivery ID] )

2014-02-19 12:32:21.574 (-,-,-,-) 16a8: INNER JOIN [LocationDim] ON

[OrdersFact].[Place ID] = [LocationDim].[Place ID] )

2014-02-19 12:32:21.574 (-,-,-,-) 16a8: INNER JOIN [ProductDim] ON

[OrdersFact].[Product ID] = [ProductDim].[Product ID] )

2014-02-19 12:32:21.574 (-,-,-,-) 16a8: INNER JOIN [TimeDim] ON

[OrdersFact].[Date ID] = [TimeDim].[Date ID]

2014-02-19 12:32:21.574 (-,-,-,-) 16a8: WHERE ((Fix(Fix([TimeDim].[Date])) >=

IIF(ISNULL((-2999)),NULL,DATEADD('d',(-2999),IIF(ISNULL(#02/19/2014

12:32:21#),NULL,DATEADD('d', DATEDIFF('d', #01/01/1970#, #02/19/2014

12:32:21#), #01/01/1970#))))) AND (Fix(Fix([TimeDim].[Date])) <

IIF(ISNULL(1),NULL,DATEADD('d',1,IIF(ISNULL(#02/19/2014

12:32:21#),NULL,DATEADD('d', DATEDIFF('d', #01/01/1970#, #02/19/2014

12:32:21#), #01/01/1970#))))))

2014-02-19 12:32:21.574 (-,-,-,-) 16a8: GROUP BY [ProductDim].[Product

Category],

2014-02-19 12:32:21.574 (-,-,-,-) 16a8: [ProductDim].[Product Subcategory]

2014-02-19 12:32:21.574 (-,-,-,-) 16a8: </QUERY>

Si los busca en Tableau Server, los archivos de registro se encuentran en

C:\ProgramData\Tableau\Tableau Server\data\tabsvc\vizqlserver\Logs.

Registros del rendimiento Otro elemento para entender el rendimiento de un libro de trabajo es la función de registro del

rendimiento de Tableau Desktop y Server. Esta función se habilita en el menú Ayuda:

Page 31: Designing Efficient Workbooks II Es Es 0

31

Comience el registro del rendimiento y, después, abra su libro de trabajo. Interactúe con él como si

usted fuera un usuario final y, cuando sienta que recopiló suficientes datos, vuelva al menú Ayuda y

detenga el registro. Se abrirá otra ventana de Tableau Desktop con los datos recopilados:

Ahora puede identificar las acciones del libro de trabajo que llevan más tiempo; por ejemplo, en la imagen de

arriba, una de las consultas de la página "Hoja 1" en el dashboard "Un buen diseño" tarda 27 segundos en

llevarse a cabo. Si hace clic en la barra, verá el texto de la consulta que se está ejecutando.

Puede usar esta información para identificar las secciones del libro de trabajo que más se presten a

revisión, es decir, dónde puede obtener la mejora más significativa con respecto al tiempo que emplea.

Page 32: Designing Efficient Workbooks II Es Es 0

32

Puede encontrar más información sobre la interpretación de estos registros en el siguiente enlace:

http://onlinehelp.tableausoftware.com/v8.1/server/es-es/perf_record_interpret_server.htm

Selección de uniones Cuando se unen varias tablas en una fuente de datos, Tableau tiene una función estupenda (y, generalmente,

invisible para el usuario) llamada Selección de uniones. Dado que se debe destinar tiempo y dinero a

procesar las uniones en el servidor de la base de datos, no se recomienda enumerar cada unión que se

declaró en la fuente de datos todo el tiempo. La selección de uniones nos permite hacer consultas solo sobre

las tablas relevantes, en lugar de hacerlas sobre todas las tablas definidas en una unión.

Considere la siguiente situación en la que se unieron varias tablas en un esquema de estrella pequeño:

Con la selección de uniones, Tableau genera la siguiente consulta:

SELECT [ProductDim].[Product Category], SUM([OrdersFact].[Sales])

FROM [dbo].[OrdersFact] [OrdersFact]

INNER JOIN [dbo].[ProductDim] [ProductDim]

ON ([OrdersFact].[Product ID] = [ProductDim].[Product ID])

GROUP BY [ProductDim].[Product Category]

Sin ella, Tableau genera una consulta mucho menos eficaz:

SELECT [ProductDim].[Product Category], SUM([OrdersFact].[Sales])

FROM [dbo].[OrdersFact] [OrdersFact]

INNER JOIN [dbo].[CustomerDim] [CustomerDim]

ON ([OrdersFact].[Customer ID] = [CustomerDim].[Customer ID])

INNER JOIN [dbo].[DeliveryDim] [DeliveryDim]

ON ([OrdersFact].[Delivery ID] = [DeliveryDim].[Delivery ID])

INNER JOIN [dbo].[LocationDim] [LocationDim]

ON ([OrdersFact].[Place ID] = [LocationDim].[Place ID])

INNER JOIN [dbo].[TimeDim] [TimeDim]

Page 33: Designing Efficient Workbooks II Es Es 0

33

ON ([OrdersFact].[Date ID] = [TimeDim].[Date ID])

INNER JOIN [dbo].[ProductDim] [ProductDim]

ON ([OrdersFact].[Product ID] = [ProductDim].[Product ID])

GROUP BY [ProductDim].[Product Category]

Todas las tablas de dimensiones deben unirse para garantizar que se calculen las sumas de medidas

correctas desde el principio. Por ejemplo, si nuestra tabla de hechos contiene datos del período 2008-

2012, pero la tabla de dimensiones de tiempo solo tiene valores del intervalo 2010-2012, el resultado de

SUM([Sales]) posiblemente cambie cuando se incluya la tabla de tiempo.

En versiones previas a Tableau 8.1, la selección de uniones solo ocurre si se cumplen las reglas de

integridad de la referencia en el DBMS de origen: esto suele denominarse integridad referencial "dura".

Sin embargo, muchos clientes tienen fuentes de datos en las que la integridad referencial se cumple en

la capa de la aplicación o mediante un proceso de ETL: esto se conoce como integridad referencial

"suave". En Tableau 8.1, se introdujo una nueva función que permite a los usuarios comunicarle a

Tableau que se implementó la integridad referencial suave y que es seguro usar la selección de uniones.

Para obtener más información, consulte la siguiente serie de artículos de Russell Christopher en su blog

Tableau Love:

http://tableaulove.tumblr.com/post/11692301750/what-i-learned-about-tableau-join-culling-

over-summer

http://tableaulove.tumblr.com/post/62447366098/what-i-learned-about-tableau-join-culling-

over-fall

Combinación Al decidir entre la unión o la combinación de tablas de datos en Tableau, considere de dónde vienen los

datos, la cantidad de conexiones de datos y la cantidad de registros que hay en los datos.

Si el libro de trabajo usa datos de más de una fuente de datos, debe combinar los datos o establecer un

sistema de base de datos federado. Si el libro de trabajo usa dos conexiones de la misma fuente de

datos, generalmente se prefiere unir las tablas de datos, ya que esto puede mejorar el rendimiento y el

Page 34: Designing Efficient Workbooks II Es Es 0

34

control de filtros. Sin embargo, existen algunas situaciones en las que la unión de tablas de datos podría

no funcionar tan bien como la combinación de datos. En estas dos situaciones normales, la combinación

de datos puede funcionar mejor:

Si tiene varias conexiones de datos grandes y las consultas sobre ellas llevan mucho tiempo, el uso de

uniones puede aumentar considerablemente el tiempo de las consultas. Una mejor opción sería agregar

las tablas y combinar los datos en la agregación. Por ejemplo, puede agregar datos por año, en vez de

fecha, o por tipo de producto, en vez de nombre del producto. Para ver un ejemplo, consulte el artículo

Data Blending with Summarized Data (Combinación de datos con datos resumidos).

Si desea ver tanto el resumen de un cálculo como el detalle en la misma vista, seleccione Datos >

Conexión de datos > Duplicar para combinar los datos a fin de que se comuniquen entre dos

conexiones de datos. Para obtener más información, consulte el artículo Showing Summary and

Detail Together (Vista de resumen y detalle juntos).

El siguiente artículo presenta distintos ejemplos de situaciones en las que le conviene usar una unión y

situaciones en las que le conviene usar la combinación de datos:

http://kb.tableausoftware.com/articles/knowledgebase/join-vs-relationship?lang=es-es

Si opta por la combinación, uno de los factores principales que influyen sobre el rendimiento de esta no

es la cantidad de registros de cada fuente de datos sino la cardinalidad de los campos de combinación

que vinculan los dos conjuntos de datos. Cuando se usa la combinación, se hacen las consultas sobre

ambas fuentes de datos en el nivel de los campos vinculantes y, después, se fusionan los resultados de

ambas consultas en memoria.

Si hay muchos valores únicos, podría necesitarse una gran cantidad de memoria. El lanzamiento de

Tableau 8.1 para 64 bits permitirá a los usuarios combinar datos más complejos (más valores únicos) sin

agotar la memoria, pero es probable que estos casos sigan requiriendo un largo tiempo de procesamiento.

Page 35: Designing Efficient Workbooks II Es Es 0

35

Lo que se recomienda para la combinación, en base a las mejores prácticas, es evitar combinar

dimensiones con grandes cantidades de valores únicos (p. ej., Id. de pedido, Id. de cliente, fecha/hora

exacta, etc.).

Grupos y alias primarios

Si tiene la necesidad de hacer combinaciones entre dos fuentes de datos porque una contiene los

registros de "hechos" y la otra contiene atributos dimensionales, podría mejorarse el rendimiento

creando un grupo o alias primario. Para los siguientes ejemplos, considere estas tres tablas:

Los grupos primarios son útiles cuando la fuente de datos secundaria contiene un atributo en el que

cada valor se asigna a varios de los miembros de dimensiones de la fuente de datos primaria. Asuma que

lo que nos interesa generar con los datos de arriba es esto:

Podríamos crearlo mediante la combinación, pero, como ya mencionamos, esto resultaría en un

funcionamiento muy lento si hubiera una gran cantidad de Id.:

Page 36: Designing Efficient Workbooks II Es Es 0

36

Si hace clic con el botón derecho en el campo Grupo y selecciona Crear grupo primario, Tableau creará

un objeto de grupo en la fuente de datos primaria que asigna el campo de vinculación (en este caso, Id.)

a la dimensión seleccionada de la fuente de datos secundaria (en este caso, Grupo).

Ahora podemos crear esta tabla sin la necesidad de una combinación:

Page 37: Designing Efficient Workbooks II Es Es 0

37

Los alias primarios son útiles cuando la fuente de datos secundaria contiene un atributo en el que cada

valor se asigna a un único valor de los miembros de dimensiones de la fuente de datos primaria. Asuma

que lo que nos interesa generar con los datos de arriba es esto:

Podríamos crearlo mediante la combinación entre ambas fuentes de datos, pero, como ya

mencionamos, esto resultaría en un funcionamiento muy lento si hubiera una gran cantidad de Id.:

Page 38: Designing Efficient Workbooks II Es Es 0

38

Si hacemos clic con el botón derecho en el campo Nombre y seleccionamos Editar alias primarios,

podemos hacer una asignación por única vez del campo Nombre al campo Id. como valores de alias:

Entonces, podemos crear la visualización deseada sin ninguna combinación, lo que será más rápido:

Page 39: Designing Efficient Workbooks II Es Es 0

39

Tenga en cuenta que tanto los grupos como los alias primarios no son dinámicos y deberán actualizarse si los

datos cambian. Por lo tanto, no son una solución excelente para los datos que se actualizan con frecuencia;

pero si necesita una asignación rápida, pueden llegar a evitar la necesidad de combinaciones costosas.

Filtrado El filtrado en Tableau es extremadamente eficaz y descriptivo. No obstante, los filtros ineficaces constituyen

una de las causas más comunes del mal rendimiento de los libros de trabajo y los dashboards. Las secciones

siguientes presentan una serie de prácticas recomendadas para trabajar con filtros.

Nota: La eficacia de los filtros se ve drásticamente afectada por la presencia y el mantenimiento de

índices en la fuente de datos. Consulte la sección previa sobre índices para obtener más detalles.

Filtrado de dimensiones categóricas

Considere la siguiente visualización, un mapa de Australia con marcas para cada código postal:

Page 40: Designing Efficient Workbooks II Es Es 0

40

Podemos filtrar el mapa de diferentes maneras para que solo muestre los códigos postales de Australia

Occidental (los puntos violetas):

Podemos seleccionar todas las marcas de Australia Occidental y conservar solo la selección.

Podemos seleccionar todas las marcas fuera de Australia Occidental y excluir la selección.

Podemos conservar otro atributo, como la dimensión de estado.

Podemos filtrar por rango, en los valores de código postal o los de latitud/longitud.

Discreto

Si implementáramos las primeras dos opciones, la de conservar y la de excluir, descubriríamos que no

son eficaces, de hecho, a veces pueden ser más lentas que el conjunto de datos sin filtros. Esto sucede

porque se expresan como una lista discreta de valores de código postal que el DBMS incluye o excluye

mediante filtros, ya sea con una cláusula WHERE compleja o mediante la unión con la tabla temporal

que se rellenó con la selección. Para un conjunto grande de marcas, esto puede conducir a una consulta

muy costosa de evaluar.

La tercera opción es rápida en este ejemplo porque el filtro resultante (WHERE STATE=”Western

Australia”) es muy sencillo, y la base de datos puede procesarlo eficazmente. Sin embargo, este

enfoque se vuelve menos eficaz a medida que la cantidad de miembros de la dimensión necesarios para

expresar el filtro aumenta y, en última instancia, se acerca al rendimiento de las opciones de lazo y de

conservar.

Por rango

Usar el enfoque de filtrado por rango también permite que la base de datos evalúe una cláusula de filtrado

simple (WHERE POSTCODE >= 6000 AND POSTCODE <= 7000 o WHERE LONGITUDE < 129), lo que resulta en

una ejecución rápida. Pero este enfoque, a diferencia de los filtros en dimensiones relacionadas, no se

vuelve más complejo a medida que se incrementa la cardinalidad de las dimensiones.

Lo que debe concluirse de esto es que los filtros por rango suelen ser más rápidos de evaluar que largas

listas detalladas de valores discretos y, en lo posible, deben usarse antes que las opciones de conservar y

excluir para grandes conjuntos de marcas.

Filtrado de fechas: discreto, por rango, relativo

Los campos de fecha son un tipo especial de dimensión que Tableau a menudo controla de manera

diferente que los datos categóricos estándares. Esto es especialmente verdadero cuando crea filtros de

fecha. Los filtros de fecha son extremadamente comunes y se dividen en tres categorías: filtros de fecha

relativa, que muestran un rango de fechas relativo a un día específico; filtros por rango de fechas, que

muestran un rango definido de fechas discretas; y filtros de fecha discretos, que muestran fechas

individuales que usted haya seleccionado de una lista. Como se muestra en la sección de arriba, el

método usado puede tener un impacto significativo en la eficacia de la consulta resultante.

Page 41: Designing Efficient Workbooks II Es Es 0

41

Discreto

Algunas veces, es posible que desee filtrar para incluir fechas individuales específicas o niveles de fecha

completos. Este tipo de filtro se denomina filtro de fecha discreto porque se definen valores discretos en

lugar de un rango. Este tipo de filtro hace que la expresión de fecha se transmita a la base de datos

como un cálculo dinámico:

SELECT [FactSales].[Order Date], SUM([FactSales].[SalesAmount])

FROM [dbo].[FactSales] [FactSales]

WHERE (DATEPART(year,[FactSales].[Order Date]) = 2010)

GROUP BY [FactSales].[Order Date]

En la mayoría de los casos, los optimizadores de consultas evaluarán inteligentemente el cálculo

DATEPART, pero existen ciertas situaciones en las que el uso de filtros de fecha discretos puede resultar

en un rendimiento ineficaz de la consulta. Un ejemplo de esto es hacer una consulta sobre una tabla

particionada con un filtro de fecha discreto en la clave de partición de fecha. Como la tabla no está

particionada según el valor de DATEPART, algunas bases de datos evaluarán el cálculo en todas las

particiones para encontrar registros que concuerden con el criterio, aunque esto no sea necesario.

En este caso, se lograría un rendimiento mucho más alto con un filtro por rango de fechas.

Una manera de optimizar el rendimiento para este tipo de filtros es realizar el cálculo con una extracción

de datos. Primero, cree un campo calculado que implemente la función DATEPART explícitamente. Si

después crea una extracción de datos de Tableau, este campo calculado se materializará como valores

almacenados en la extracción (porque el resultado de la expresión es determinístico). Filtrar el campo

calculado en vez de la expresión dinámica será más rápido porque el valor simplemente se puede

buscar, en vez de calcularse en el momento de consulta.

Page 42: Designing Efficient Workbooks II Es Es 0

42

Por rango

Este tipo de filtro se usa cuando se desea especificar un rango de fechas continuas. La siguiente

estructura de consulta se transmite a la base de datos:

SELECT [FactSales].[Order Date], SUM([FactSales].[SalesAmount])

FROM [dbo].[FactSales] [FactSales]

WHERE (([FactSales].[Order Date] >= {ts '2009-01-01 00:00:00'})

AND ([FactSales].[Order Date] <= {ts '2012-12-31 00:00:00'}))

GROUP BY [FactSales].[Order Date]

Este tipo de cláusula WHERE es muy eficaz para los optimizadores de consulta, ya que permite que los

planes de ejecución aprovechen por completo los índices y las particiones. Si experimenta tiempos de

consulta lentos cuando agrega filtros de fecha discretos, considere reemplazarlos por filtros por rango

de fechas y vea si eso funciona.

Page 43: Designing Efficient Workbooks II Es Es 0

43

Relativo

Un filtro de fecha relativa le permite definir un rango de fechas que se actualiza sobre la base de la fecha

y la hora en que abre la vista. Por ejemplo, quizás quiere ver las ventas del año a la fecha, todos los

registros de los últimos 30 días o los errores que se cerraron la semana pasada. Los filtros de fecha

relativa también pueden ser relativos respecto de una fecha ancla específica y no de hoy.

SELECT [FactSales].[Order Date], SUM([FactSales].[SalesAmount])

FROM [dbo].[FactSales] [FactSales]

WHERE (([FactSales].[Order Date] >= DATEADD(year,(-2),DATEADD(year,

DATEDIFF(year, 0, {ts '2012-12-16 22:37:51.490'}), 0))) AND

([FactSales].[Order Date] < DATEADD(year,1,DATEADD(year, DATEDIFF(year, 0,

{ts '2012-12-16 22:37:51.490'}), 0))))

GROUP BY [FactSales].[Order Date]

Como puede ver, la cláusula WHERE resultante usa un filtro por rango de fechas, de modo que esta

también es una forma eficaz de filtro de fecha.

Filtros de contexto

De manera predeterminada, todos los filtros que configura en Tableau se calculan de forma

independiente. Es decir, cada filtro accede a todas las filas de su fuente de datos independientemente

de los demás filtros. Sin embargo, puede configurar uno o más filtros como filtros de contexto para la

vista. Puede pensar en ellos como filtros independientes. Cualquier otro filtro que configure se define

como filtro dependiente, porque procesa solo los datos que pasan por los filtros de contexto.

Los filtros de contexto son especialmente útiles para las fuentes de datos relacionales porque se incluye

el conjunto de resultados del filtro en una tabla temporal. Después, esta tabla actúa como una fuente de

datos (más pequeña) independiente para los filtros y las consultas subsiguientes, lo que mejora el

rendimiento cuando se crean vistas de datos.

Page 44: Designing Efficient Workbooks II Es Es 0

44

Los filtros de contexto suelen usarse para incrementar el rendimiento. Tenga en cuenta que la mejora

ocurre porque la base de datos asienta los resultados del filtro de contexto en una tabla temporal. La

creación de esta tabla temporal es una actividad costosa para la base de datos, por eso este enfoque se

recomienda cuando:

● El filtro de contexto reduce el tamaño del conjunto de datos de manera significativa (por orden

de magnitud es una buena regla general).

● El usuario no modifica el filtro de contexto con frecuencia (si el filtro cambia, la base de datos

debe volver a calcular y crear la tabla temporal, lo que entorpece el rendimiento).

Un truco útil que aprovecha el comportamiento de los filtros de contexto: se pueden usar para

transformar un conjunto de datos con uniones de tablas complejas en una única tabla denormalizada.

Por ejemplo, considere la siguiente consulta que genera Tableau:

SELECT SUM([OrdersFact].[Sales])

FROM [dbo].[OrdersFact] [OrdersFact]

INNER JOIN [dbo].[CustomerDim] [CustomerDim]

ON ([OrdersFact].[Customer ID] = [CustomerDim].[Customer ID])

INNER JOIN [dbo].[DeliveryDim] [DeliveryDim]

ON ([OrdersFact].[Delivery ID] = [DeliveryDim].[Delivery ID])

INNER JOIN [dbo].[LocationDim] [LocationDim]

ON ([OrdersFact].[Place ID] = [LocationDim].[Place ID])

INNER JOIN [dbo].[ProductDim] [ProductDim]

ON ([OrdersFact].[Product ID] = [ProductDim].[Product ID])

INNER JOIN [dbo].[TimeDim] [TimeDim]

ON ([OrdersFact].[Date ID] = [TimeDim].[Date ID])

WHERE (([LocationDim].[Region] >= 'Africa')

AND ([LocationDim].[Region] <= 'Oceania'))

HAVING (COUNT_BIG(1) > 0)

Colocando un menú contextual en una dimensión que remite todos los miembros de la dimensión,

forzamos a Tableau a materializar la consulta anterior y a asentar los resultados en una tabla temporal.

Entonces, la misma consulta se vuelve a generar de la siguiente manera:

SELECT SUM([#Tableau_3_Context].[Sales])

FROM [#Tableau_3_Context]

HAVING (COUNT_BIG(1) > 0)

Como puede ver, se obtiene una consulta mucho más sencilla para que la base de datos la ejecute y se

logra un proceso más veloz. Esta técnica también podría usarse para optimizar libros de trabajo que

usen conexiones de datos basadas en una instrucción SQL personalizada.

Filtros rápidos

A pesar del nombre, demasiados filtros rápidos, en realidad, lo retrasarán, especialmente si los

configura para que usen "solo valores relevantes" y usted tiene muchas listas discretas. En lugar de

estos, pruebe un enfoque analítico más guiado y use filtros de acciones en un dashboard. Si construye

una vista con una gran cantidad de filtros para hacerla perfectamente personalizable, considere si varios

dashboards con diferentes niveles y temas funcionarían mejor (pista: sí, probablemente lo harían).

Page 45: Designing Efficient Workbooks II Es Es 0

45

Enumerados vs. no enumerados

Los filtros rápidos enumerados requieren que Tableau haga consultas a la fuente de datos acerca de

todos los valores de campo posibles antes de que el objeto de filtro rápido pueda generarse. Entre estos

se incluyen:

lista de valores múltiples;

lista de valores individuales;

lista compacta;

barra deslizante;

filtros de medidas;

filtros por rango de fechas.

Por otro lado, los filtros rápidos no enumerados no requieren conocimiento de los valores de campo

posibles. Entre estos se incluyen:

lista de valores personalizada;

coincidencia de comodín;

filtros de fecha relativa;

filtros de fecha de período de navegación.

En consecuencia, los filtros rápidos no enumerados reducen la cantidad de consultas relacionadas con

filtros rápidos que la fuente de datos debe ejecutar. Además, los filtros rápidos no enumerados son más

veloces cuando hay muchos miembros de dimensión para mostrar.

El uso de filtros rápidos no enumerados puede mejorar el rendimiento, pero lo hace a expensas de

contexto visual para el usuario final.

Valores relevantes

Se pueden configurar los filtros rápidos enumerados para que muestren los valores de campo posibles

de tres maneras diferentes:

Todos los valores de la base de datos: cuando selecciona esta opción, se muestran todos los

valores de la base de datos, independientemente de los otros filtros de la vista. No hay necesidad

de que el filtro rápido vuelva a consultar la base de datos cuando hay otros filtros cargados.

Todos los valores en contexto: esta opción solo está disponible cuando tiene filtros de contexto

activos. El filtro rápido mostrará todos los valores en el contexto (es decir, la tabla temporal generada

por el filtro de contexto), independientemente de los demás filtros de la vista. No hay necesidad de

que el filtro rápido vuelva a consultar la base de datos cuando hay otros filtros cargados.

Solo valores relevantes: cuando selecciona esta opción, se consideran otros filtros y se muestran

solo los valores que pasan estos filtros. Por ejemplo, un filtro rápido por estado solo mostrará los

estados orientales cuando se haya configurado un filtro por región. Por lo tanto, el filtro rápido

debe volver a consultar la fuente de datos cuando otros filtros cambian.

Page 46: Designing Efficient Workbooks II Es Es 0

46

Como puede ver, la configuración de "solo valores relevantes" puede ser muy útil para ayudar al usuario

a hacer selecciones relevantes, pero puede aumentar significativamente la cantidad de consultas que

deben ejecutarse mientras interactúan con el dashboard. Debe usarse con moderación.

Alternativas a los filtros rápidos

Existen alternativas al uso de filtros rápidos que proporcionan un resultado analítico similar, pero lo

hacen sin la sobrecarga de consultas adicionales.

En lugar de exponer un filtro rápido a los usuarios, puede crear un parámetro y filtrar en función de las

selecciones de los usuarios.

PROS:

Los parámetros no requieren una consulta a la fuente de datos antes de la representación.

Los parámetros, junto con los campos calculados, pueden implementar lógicas más complejas

que las posibles con un filtro de campo simple.

Los parámetros se pueden usar para filtrar varias fuentes de datos (los filtros rápidos solo

operan dentro de una fuente de datos).

CONTRAS:

Los parámetros son valores únicos: no los puede usar si desea que el usuario seleccione varios

valores.

Los parámetros no son dinámicos: la lista de valores se define cuando estos se crean y no se

actualiza en función de los valores del DBMS.

Otra alternativa es usar acciones de filtro entre vistas:

PROS:

Las acciones admiten la selección de múltiples valores, usando lazos visuales o presionando

CTRL o SHIFT.

Las acciones muestran una lista dinámica de valores que se evalúa en el momento de ejecución.

Las acciones se pueden usar para filtrar varias fuentes de datos (los filtros rápidos solo operan

dentro de una fuente de datos).

CONTRAS:

Las acciones de filtro son más complejas de establecer que los filtros rápidos.

Las acciones no tienen la misma interfaz de usuario que los parámetros ni los filtros rápidos,

generalmente requieren más espacio en la pantalla para mostrarse.

La hoja de origen de la acción aún debe hacer las consultas a la fuente de datos, pero se

beneficia del almacenamiento en caché de la canalización de procesamiento de Tableau.

Para saber más sobre las técnicas de diseño alternativas que no dependen en gran medida de los filtros

rápidos, consulte la sección anterior.

Page 47: Designing Efficient Workbooks II Es Es 0

47

Filtros de usuarios

Cualquier libro de trabajo que use filtros de usuarios, ya sea mediante el cuadro Crear filtro de

usuarios... o mediante los campos calculados que usan cualquiera de las funciones de usuario

incorporadas, no puede usar cachés de resultados compartidos cuando se implementa en Tableau

Server porque los filtros son exclusivos de los usuarios. Esto puede afectar el rendimiento, ya que:

Todos los libros de trabajo deberán hacer consultas a la fuente de datos subyacente, incluso si

otra sesión de usuario acaba de hacer exactamente la misma consulta. Esto implica más E/S de la

fuente de datos.

Se necesitará más espacio en la memoria caché, ya que cada sesión de usuario creará sus propios

resultados de consulta y caché de modelos. En máquinas con mucha carga, esto puede resultar

en que se borren las memorias caché mientras están en uso, lo que también implica más E/S.

Consulte la sección siguiente sobre el almacenamiento en caché de Tableau Server para conocer más detalles.

Page 48: Designing Efficient Workbooks II Es Es 0

48

Parte 4: ¿Son los cálculos? En muchos casos, sus datos de origen no proporcionarán todos los campos que necesite para responder

todas sus consultas. Los campos calculados le ayudarán a crear todas las dimensiones y medidas

necesarias para su análisis.

En un campo calculado puede definir una constante codificada de forma rígida (p. ej., tasa impositiva),

hacer operaciones matemáticas muy simples como restas o multiplicaciones (p. ej., ingresos menos

costos), usar fórmulas matemáticas más complejas, hacer pruebas de lógica (p. ej., IF/THEN, CASE),

hacer conversiones de tipo y mucho más.

Una vez definido, el campo calculado está disponible en todo el libro de trabajo, siempre que las hojas

de trabajo usen la misma fuente de datos. Puede usar campos calculados en su libro de trabajo de la

misma manera que usa dimensiones y medidas de sus datos de origen.

Hay tres tipos de cálculos diferentes en Tableau:

cálculos básicos;

cálculos agregados;

cálculos de tablas.

La Calculation Reference Library (Biblioteca de referencia de cálculos) de Tableau es una excelente

referencia para aprender a realizar cálculos complejos y contiene un foro donde los usuarios comparten

soluciones a problemas comunes:

http://community.tableausoftware.com/community/viz-talk/tableau-community-

library/calculation-reference-library

Cálculos básicos y agregados Los cálculos básicos y los agregados se expresan como parte de la consulta que se envía a la fuente de

datos, y, por lo tanto, la base de datos los resuelve. Por ejemplo:

SELECT DATEPART(year,[TimeDim].[Date]), SUM([OrdersFact].[Sales])

FROM [dbo].[OrdersFact] [OrdersFact]

INNER JOIN [dbo].[TimeDim] [TimeDim]

ON ([OrdersFact].[Date ID] = [TimeDim].[Date ID])

GROUP BY DATEPART(year,[TimeDim].[Date])

El cálculo de YEAR es básico, y el de SUM(SALES) es agregado.

En general, los cálculos básicos y los agregados escalan muy bien, y existen muchas técnicas de ajuste de

bases de datos que pueden emplearse para mejorar su rendimiento.

Cálculos de tablas Por otro lado, la base de datos no ejecuta los cálculos de tablas, sino que lo hace Tableau en los resultados de

consulta que se presentan. Mientras que esto implica más trabajo para Tableau, este trabajo suele realizarse

sobre un conjunto de registros mucho más pequeño que el que se encuentra en la fuente de datos original.

Page 49: Designing Efficient Workbooks II Es Es 0

49

Si tiene problemas con el rendimiento de los cálculos de tablas (posiblemente porque el conjunto de

resultados que se presenta a Tableau es muy grande), considere enviar algunos aspectos de los cálculos

a la capa de la fuente de datos. Una forma de hacerlo es mediante una extracción de datos agregada.

Imagine que usted desea conocer el promedio semanal del total de ventas diarias en varias tiendas.

Puede hacerlo con un cálculo de tablas usando:

WINDOW_AVG(SUM([Sales])

Sin embargo, si la cantidad de días o de tiendas es muy grande, este cálculo puede ser lento. Para enviar

SUM([Sales]) a la capa de datos, cree una extracción agregada que resuma la dimensión de fecha al nivel del día.

Luego, el cálculo se puede hacer simplemente con AVG([Sales]), ya que la extracción ya calculó los totales diarios.

Algunos cálculos de tablas son muy costosos para realizarse en Tableau. De acuerdo con la siguiente

publicación de Richard Leeke en un blog, para los populares cálculos de tablas WINDOW_XXX y TOTAL, el

tiempo de ejecución aumenta proporcionalmente al cuadrado del número de filas de la partición que se

analiza. Esto hace que estas funciones se ejecuten muy lentamente para grandes cantidades de registros.

http://www.clearlyandsimply.com/clearly_and_simply/2011/01/another-look-at-site-catchment-

analysis-with-tableau-6-part-3.html

En esta publicación, Richard ofrece algunas alternativas para limitar la cantidad de filas que procesa el

motor de cálculo de tablas. Por ejemplo, el cálculo WINDOW_AVG mencionado puede escribirse así:

IF FIRST()==0 THEN WINDOW_AVG(SUM([Sales]),0,IIF(FIRST()==0,LAST(),0)) END

Este cambio puede implicar mejoras significativas (en uno de los ejemplos que Richard presenta, él

redujo el tiempo necesario para generar una vista ¡de 3 horas a 5 segundos!).

Cálculos vs. características nativas A veces, los usuarios crean campos calculados para llevar a cabo funciones que pueden realizarse

fácilmente con características nativas de Tableau. Por ejemplo:

Para agrupar miembros de dimensiones, considere usar grupos.

Para agrupar valores de medidas, considere usar agrupaciones.

Para cambiar los valores mostrados de miembros de dimensiones, considere usar alias.

Esto no es siempre posible (p. ej., puede necesitar agrupaciones de ancho variable, que no son posibles

con agrupaciones básicas), pero considere usar las características nativas cuando lo sea. Usarlas suele

ser más eficaz que hacer cálculos manuales, y, a medida que nuestros desarrolladores continúen

mejorando el rendimiento de Tableau, usted se beneficiará de sus esfuerzos.

Impacto de los tipos de datos Cuando se crean campos calculados, es importante entender que el tipo de datos tiene un impacto

significativo en la velocidad de los cálculos. Como regla general:

Los enteros son más rápidos que los booleanos, y ambos son mucho más rápidos que las cadenas.

Page 50: Designing Efficient Workbooks II Es Es 0

50

Los cálculos de cadenas son muy lentos, suele haber 10-100 instrucciones básicas que deben ejecutarse

para cada cálculo. En comparación, los cálculos numéricos y los booleanos son muy eficaces.

Estas afirmaciones no solo son verdaderas para el motor de cálculo de Tableau, sino que lo son para la

mayoría de las bases de datos. Como los cálculos básicos y los agregados se envían a la base de datos, si

se expresan de manera numérica, en vez de con la lógica de cadenas, se ejecutarán mucho más rápido.

Técnicas de rendimiento Considere las siguientes técnicas para garantizar que sus cálculos sean lo más eficaces posible:

Uso de booleanos para cálculos de lógica básica Si tiene un cálculo que produce un resultado binario (p. ej., sí/no,

aprobado/reprobado, arriba/abajo), asegúrese de presentar un resultado

booleano, no una cadena. Por ejemplo:

IF [Date]= TODAY() then “Today”

ELSE “Not Today”

END

Esto será lento porque usa cadenas. Una forma más rápida de hacer lo mismo sería con un booleano:

[Date]=Today()

Después, use alias para renombrar los resultados TRUE y FALSE como "Today" (hoy) y "Not today" (no hoy).

Búsqueda de cadenas

Imagine que desea poder mostrar todos los registros en los que el nombre del producto contenga

alguna cadena de búsqueda. Puede usar un parámetro para obtener la cadena de búsqueda del usuario

y, después, crear el siguiente campo calculado:

IF FIND([Product Name],[Product Lookup])>0 THEN [Product Name] ELSE NULL END

Este cálculo es lento y constituye una forma ineficaz de evaluar la relación de contención. Una mejor

manera de hacer esto sería usar la función específica CONTAINS, ya que se convertirá en SQL óptimo

cuando pase a la base de datos:

CONTAINS([Product Name],[Product Lookup])

No obstante, en este caso, la mejor solución sería no usar un campo calculado en absoluto, sino usar un

filtro rápido de concordancia con carácter comodín.

Parámetros para cálculos condicionales

Una técnica popular en Tableau es proporcionar al usuario final un parámetro para que pueda

seleccionar un valor que determinará cómo se realiza un cálculo. Normalmente queremos darle al

usuario opciones fáciles de entender, por lo que creamos el parámetro como un tipo de cadena. Como

hemos mencionado, los cálculos numéricos son mucho más rápidos que los cálculos con cadenas, así

que aproveche la función "mostrar como" de los parámetros para mostrar etiquetas de texto, pero

tenga valores enteros subyacentes para la lógica de cálculo.

Como ejemplo, imagine que desea permitir al usuario final controlar el nivel de agregación de fecha que

se muestra en la vista mediante la selección a partir de una lista de valores posibles. Muchas personas

crearían un parámetro de cadena:

Page 51: Designing Efficient Workbooks II Es Es 0

51

Valor Mostrar como

Año Año

Trimestre Trimestre

Mes Mes

Semana Semana

Día Día

Luego, lo usarían en un cálculo como este:

IF [Parameters].[Date Part Picker]="Year"

THEN DATEPART('year',[Order Date])

ELSEIF [Parameters].[Date Part Picker]="Quarter"

THEN DATEPART('quarter',[Date])

ELSE NULL END

Un parámetro más eficaz sería del tipo entero con etiquetas de texto, como este:

Valor Mostrar como

1 Año

2 Trimestre

3 Mes

4 Semana

5 Día

Entonces, el cálculo sería del siguiente modo (note que las comparaciones son numéricas en vez de serlo

de cadenas):

IF [Parameters].[Date Part Picker]=1

THEN DATEPART('year',[Order Date])

ELSEIF [Parameters].[Date Part Picker]=2

THEN DATEPART('quarter',[Order Date])

..

ELSE NULL END

DATO ADICIONAL: Para este problema específico, existe una manera incluso más rápida de hacer el

cálculo. Usando el parámetro original basado en cadena, cree el cálculo así:

DATEPART([Parameters].[Date Part Picker], [Order Date]))

Esto evita todos los elementos de lógica condicional y nos permite simplemente sustituir la cadena

DATEPART directamente en el cálculo. Esto da como resultado el SQL más óptimo de todas las opciones.

Conversión de fechas

Frecuentemente los usuarios tienen datos de fechas que no están almacenados en formato de fecha

nativo, por ejemplo, pueden ser cadenas o marcas de tiempo numéricas. En Tableau 8.1, se introdujo

una nueva función, DateParse(), para facilitar estas conversiones en gran medida. Ahora, simplemente

puede ingresar una cadena de formato:

DATEPARSE(“yyyyMMdd”, [YYYYMMDD])

Page 52: Designing Efficient Workbooks II Es Es 0

52

Tenga en cuenta que, en Tableau 8.1, DateParse() solo se admite en un subconjunto de fuentes de datos:

MySQL;

Oracle;

PostgreSQL;

extracción de datos de Tableau.

Si DateParse() no se admite para su fuente de datos, una técnica alternativa de conversión a fechas

compatibles con Tableau es redistribuir el campo en una cadena de fecha (p. ej., "2012-01-01", note que se

prefieren cadenas ISO, ya que resisten la internacionalización) y, después, incluirlo en la función DATE().

Si los datos originales son campos numéricos, la conversión a una cadena y, después, a una fecha es muy

ineficaz. Es mucho mejor mantener los datos en formato numérico y usar DATEADD() y los valores

literales de fechas para hacer el cálculo.

Por ejemplo, un cálculo lento podría ser convertir un campo numérico con formato ISO:

DATE(LEFT(STR([YYYYMMDD]),4)

+ “-“ + MID(STR([YYYYMMDD]),4,2)

+ “-“ + RIGHT(STR([YYYYMMDD]),2))

Una forma mucho más eficaz de hacer este cálculo es:

DATEADD( 'day', INT([yyyymmdd] )% 100 - 1,

DATEADD( 'month', INT( [yyyymmdd]) % 10000 / 100 - 1,

DATEADD( 'year', INT( [yyyymmdd] ) / 10000 - 1900,

#1900-01-01# ) ) )

Tenga en cuenta que las mejoras de rendimiento pueden ser extraordinarias con grandes conjuntos de

datos. Para una muestra de más de mil millones de registros, el primer cálculo tomó 4 horas, mientras

que el segundo tomó alrededor de un minuto.

Funciones de fecha

Use NOW() solo si necesita el nivel de detalle de marca de tiempo. Use TODAY() para cálculos con nivel

de fecha.

Declaraciones lógicas

Cuando trabaje con declaraciones lógicas complejas, recuerde:

ELSEIF > ELSE IF

Esto sucede porque un IF anidado procesa una segunda declaración IF en vez de procesarse como parte

de la primera. Entonces, este campo calculado:

IF [Region] = "East" and [Customer Segment] = "consumer"

then "East-Consumer"

Else IF [Region] = "East" and Customer Segment] <>"consumer"

then "East-All Others"

END

END

Page 53: Designing Efficient Workbooks II Es Es 0

53

se ejecutaría mucho más rápido como:

IF [Region] = "East" and [Customer Segment] = "consumer"

then "East-Consumer"

Elseif [Region] = "East" and [Customer Segment] <>"consumer"

then "East-All Others"

end

pero esto es aún más veloz:

IF [Region] = "East" THEN

IF [Customer Segment] = "consumer" THEN

"East-Consumer"

Else "East-All Others"

END

END

De manera similar, evite las verificaciones de lógica redundante. El siguiente cálculo:

IF [Sales] < 10 Then "Bad"

Elseif [Sales]>= 10 and [Sales] < 30 Then "OK"

Elseif [Sales] >= 30 then "Great"

END

sería más eficaz así:

IF [Sales] < 10 Then "Bad"

Elseif [Sales] >= 30 then "Great"

else "OK"

END

Separación de cálculos básicos y agregados

Cuando use extracciones y agregaciones personalizadas, divida el cálculo en múltiples partes. Coloque los

cálculos del nivel de fila en un campo calculado y el cálculo agregado en un segundo campo calculado.

Luego, las extracciones pueden optimizar (preprocesar y materializar) los cálculos del nivel de fila.

Page 54: Designing Efficient Workbooks II Es Es 0

54

Parte 5: ¿Es una cuestión de escritorio vs. servidor? Hay momentos en los que un libro de trabajo funciona bien en evaluaciones de un único usuario, pero,

cuando se implementa en Tableau Server para que lo consuman muchos usuarios, funciona mal. La

siguiente sección identifica áreas en las que las divergencias entre situaciones de uno o más usuarios

pueden marcar una diferencia.

Pautas generales

Use un sistema operativo de 64 bits

Aunque Tableau Server puede ejecutarse en sistemas operativos Microsoft de 32 bits; para obtener el

mejor rendimiento, elija una edición de 64 bits. Con Tableau 8.1, todos los componentes de Tableau

Server se pueden ejecutar como procesos nativos de 64 bits. Esto significa que todos los componentes

pueden controlar mucha más RAM, y nuestras pruebas comparativas iniciales indican que la versión de

64 bits de Tableau escala notoriamente mejor que la versión de 32 bits.

Se recomienda fervientemente a los clientes que actualicen su instalación de Tableau Server a la

versión 8.1 o versiones posteriores e implementen Tableau Server de 64 bits.

Agregue más núcleos y memoria

Independientemente de si ejecuta Tableau Server en una máquina o en varias, la regla general es que

más núcleos de CPU y más RAM le brindarán mejor rendimiento. Asegúrese de cumplir los requisitos

recomendados de hardware y software de Tableau Server y consulte Cuándo agregar trabajadores y

reconfigurar para evaluar si debe agregar máquinas adicionales.

En julio de 2013, hicimos pruebas de escalabilidad de Tableau Server para ayudar a nuestros clientes a

planificar implementaciones grandes. Probamos tres configuraciones de servidor diferentes: uno, dos o

tres servidores en un entorno de prueba de carga dedicado. Probamos dos clases diferentes de informes

con varios grados de complejidad. Intentamos simular usos reales, por lo que cada usuario realizó una

variedad de tareas, incluidas la carga del informe, la realización de una selección, el filtrado de la vista y

la modificación de pestañas. El siguiente documento describe esas pruebas y presenta técnicas para

mejorar el rendimiento de Tableau Server.

http://www.tableausoftware.com/es-es/learn/whitepapers/tableau-server-scalability-explained

Configuración

Programe actualizaciones para horarios de menor consumo

Si el rendimiento del servidor es reducido, use la vista administrativa Tareas de fondo para ver sus

programas de tareas de actualización vigentes. Si puede programar actualizaciones para los horarios de

bajo consumo, hágalo. Si su configuración de hardware lo permite, también puede trasladar los

procesos del componente de segundo plano a un nodo de trabajo dedicado.

Compruebe el límite de tiempo de espera de la sesión VizQL

El límite predeterminado de tiempo de espera de la sesión VizQL es de 30 minutos. Aunque la sesión

VizQL esté inactiva, aún consume memoria y ciclos de CPU. Si puede arreglarse con un límite inferior,

use tabadmin para cambiar la configuración de vizqlserver.session.expiry.timeout.

Page 55: Designing Efficient Workbooks II Es Es 0

55

Evalúe su configuración de proceso

Tableau Server se divide en seis componentes diferentes llamados procesos del servidor. Aunque la

configuración predeterminada se diseñó para que funcione en un amplio rango de situaciones, usted

puede modificarla para lograr diferentes objetivos de rendimiento. Específicamente, puede controlar en

qué máquinas se ejecutan los procesos y cuántos procesos se ejecutan. Consulte Mejorar el rendimiento

del servidor para conocer las pautas para las implementaciones de una, dos y tres máquinas.

Monitoreo de Tableau Server Tableau Server viene con varias vistas para administradores, con el fin de ayudar a monitorear la actividad en

Tableau Server. Las vistas se ubican en la tabla Análisis en la página Mantenimiento del servidor:

Puede encontrar más información sobre estas vistas en el siguiente enlace:

http://onlinehelp.tableausoftware.com/current/server/es-es/adminview.htm

Además, puede crear vistas administrativas personalizadas conectándose a la base de datos PostgreSQL

que constituye parte del repositorio de Tableau. Puede encontrar instrucciones aquí:

http://onlinehelp.tableausoftware.com/current/server/es-es/adminview_postgres.htm

Almacenamiento en caché El almacenamiento en caché ayuda a Tableau Server a responder a las solicitudes de clientes de manera

rápida, en especial para las vistas que se conectan con las bases de datos de acceso en vivo. Tableau

Server tiene varias capas de almacenamiento en caché diseñadas para maximizar la reutilización de

datos y cálculos para múltiples solicitudes de usuarios:

Page 56: Designing Efficient Workbooks II Es Es 0

56

Renderización del lado del cliente

Antes de que las marcas y los datos de una vista se muestren en el navegador web de un cliente, se

recuperan, interpretan y representan. Tableau Server puede realizar este proceso en el navegador web

del cliente o en el servidor. La renderización del lado del cliente es el modo predeterminado porque

manejar la representación y todas las interacciones en el servidor puede conducir a más transferencias

de datos en la red y retrasos de recorrido de ida y vuelta. Con la renderización del lado del cliente, la

mayoría de las interacciones con la vista son más rápidas porque se interpretan y generan en el cliente.

Sin embargo, algunas vistas se generan con mayor eficacia en el servidor, donde hay más poder de

procesamiento. La renderización del lado del servidor tiene sentido para vistas complejas hasta el punto

en que los archivos de imágenes consumen significativamente menos ancho de banda que los datos

usados para crear esas imágenes. También, como las tablets suelen tener un rendimiento mucho más

reducido que las computadoras, estas admiten vistas menos complejas. Hay casos en los que una vista

abierta desde el navegador web de una computadora puede estar generada en el cliente, pero la misma

vista abierta desde el navegador web de una tablet está generada en el servidor.

Tableau Server está configurado para resolver automáticamente todas estas situaciones con el cálculo

del umbral como desencadenador de la renderización de la vista en el servidor, en vez de en el

navegador web. Como administrador, usted puede probar o ajustar esta configuración, tanto para

computadoras como para tablets. Consulte los temas a continuación para obtener más información.

Puede determinar esto en cualquier momento agregando lo siguiente a la URL de la vista. Se mostrará

una pequeña "S" o "B" en la barra de herramientas de la vista para indicar el modo de renderización:

“?:jsdebug=true”

Page 57: Designing Efficient Workbooks II Es Es 0

57

También puede activar y desactivar la renderización del lado del cliente con los siguientes parámetros

de URL:

Desactivar = “?:render=false”

Activar = “?:render=true”

La renderización del lado del cliente es compatible con Internet Explorer 9.0 o versiones posteriores,

Firefox, Chrome y Safari. Todos estos navegadores web incluyen el elemento HTML 5 <canvas>, que se

usa para la renderización del lado del cliente. Además, si una vista usa polígonos, formas personalizadas

o la característica de historial de página, se lleva a cabo renderización del lado del servidor, incluso si la

renderización del lado del cliente también está habilitada.

Caché de mosaicos de imagen

Si no se usa la renderización del lado del cliente, Tableau tiene tres capas de renderización en el servidor

que pueden ayudar a mejorar los tiempos de generación de vistas. La primera capa es la memoria caché

de mosaicos de imagen.

Los dashboards se entregan al cliente como una serie de "mosaicos" de imagen, que se ensamblan para

mostrar el dashboard completo. La reutilización del contenido de esta memoria caché es la clase más

eficaz de respuesta del servidor y ocurre si:

El dashboard ya se generó, y el tiempo de vigencia de la memoria caché no acabó.

El dashboard no implementa seguridad por usuario.

La solicitud requiere un dashboard del mismo tamaño que el almacenado en caché previamente,

esto puede ocurrir si las dos ventanas de navegación del cliente son exactamente del mismo

tamaño o si el dashboard se diseñó con una configuración de tamaño exacto.

La memoria caché de mosaicos de imagen está basada en el disco, y su gestión está a cargo del servicio

de puerta de enlace. Hay una máquina de trabajador por VizQL.

Caché del modelo

Si no podemos usar la memoria caché de mosaicos de imagen, el servidor VizQL debe volver a generar

las imágenes solicitadas. Para hacerlo, es posible que sea capaz de usar todos los cálculos previos: los

campos calculados, los cálculos de tablas, las líneas de referencia, las líneas de tendencia, etc. Estos

resultados se conservan en la memoria caché del modelo VizQL, y los podemos usar si:

Esta instancia de VizQL ya generó el dashboard solicitado, y el tiempo de vigencia de la memoria

caché no acabó.

Los datos solicitados no cambiaron: todos los filtros, los parámetros y los cálculos dinámicos son

los mismos.

Los cálculos no tuvieron cambios: no se produjeron cambios en las líneas de referencia, las líneas

de tendencia, etc.

El dashboard no implementa seguridad por usuario.

La memoria caché del modelo se basa en RAM y hay una por cada instancia de servidor VizQL. Ejecutar

varias instancias de VizQL puede disminuir la eficacia de la memoria caché del modelo si la cantidad de

usuarios es baja.

Page 58: Designing Efficient Workbooks II Es Es 0

58

Caché de resultados de consulta

Si no podemos usar la memoria caché del modelo, quizás sea posible hacer todos los cálculos necesarios

con datos que ya se hayan leído de la fuente de datos y estén almacenados en la memoria caché de

resultados de consulta. La memoria caché de resultados de consulta contiene los registros que

devuelven las consultas, y podemos usarlos si:

Esta instancia de VizQL ya generó el dashboard solicitado, y el tiempo de vigencia de la memoria

caché no acabó.

Las dimensiones y las medidas requeridas de la fuente de datos no cambiaron: no cambió ningún

campo, por ejemplo, mediante un campo calculado dinámico.

Los filtros del dashboard no cambiaron.

El dashboard no implementa seguridad por usuario.

Al igual que la memoria caché del modelo, la memoria caché de resultados de consulta se basa en RAM

y hay una por cada instancia de servidor VizQL. Ejecutar varias instancias de VizQL puede disminuir la

eficacia de la memoria caché de resultados de consulta si la cantidad de usuarios es baja.

Maximización del uso de memoria caché

Como se analizó antes, lo más eficaz que puede hacer un diseñador de libros de trabajo para garantizar

la reutilización de la memoria caché de mosaicos de imagen y del modelo es configurar la regla de

tamaño del dashboard como "tamaño exacto".

Ajuste de memorias caché

A nivel macroscópico, se puede seleccionar una de tres configuraciones posibles de rendimiento de la

memoria caché en Tableau Server mediante la utilidad de configuración de Tableau Server.

Minimizador de

consultas Cada servidor VizQL almacena modelos y resultados de consulta

en la memoria caché tanto tiempo como sea posible.

Las solicitudes obtienen datos almacenados en la memoria caché hasta

que se actualizan explícitamente.

La memoria caché se almacena en memoria; cuando la memoria se llena,

la memoria caché comienza a eliminar los elementos más antiguos.

Equilibrado Todos los servidores almacenan en caché los modelos y los datos, como

máximo, durante la cantidad de minutos especificada.

Las solicitudes obtienen datos almacenados en la memoria caché que,

como máximo, tiene una cantidad conocida de minutos de antigüedad.

Más actualizado Los servidores no almacenan modelos ni datos en la memoria caché.

Las solicitudes obtienen los datos más nuevos de la fuente de datos.

Esta opción representa una carga mucho más pesada sobre los servidores.

Page 59: Designing Efficient Workbooks II Es Es 0

59

Es posible forzar a Tableau a eludir todas las memorias caché y forzar una consulta de la fuente de datos

agregando el parámetro "?:refresh=yes" a la URL de la vista. Por ejemplo:

http://demo-

apac.tableausoftware.com/views/NewWaveDashboard/ExecutiveDashboard?:refresh=yes

Los administradores de Tableau Server también pueden ajustar el tamaño de la memoria caché del

modelo y de los resultados de consulta. Estas configuraciones se cambian con la herramienta de línea de

comando tabadmin.

Caché del

modelo vizqlserver.modelcachesize:30;

la cantidad de modelos para almacenar en la memoria caché, con un

modelo por instancia de visualización en el libro de trabajo.

Caché de

consultas vizqlserver.querycachesize:64;

el tamaño en megabytes de los resultados de consulta para almacenar en

la memoria caché.

Visite el siguiente enlace para obtener más información:

http://onlinehelp.tableausoftware.com/current/server/es-es/reconfig_tabadmin.htm

Tenga en cuenta que cambiar estas configuraciones incrementará la cantidad de RAM que usan las

instancias del servidor VizQL; asegúrese de contar con suficiente memoria en su máquina con Tableau

Server para admitir estos cambios.

Page 60: Designing Efficient Workbooks II Es Es 0

60

Parte 6: ¿Hay otros factores que considerar? La última sección trata sobre otros factores que, en muchos casos, son más difíciles de alterar. Por

ejemplo, la elección del SO, el hardware en que se ejecuta Tableau, etc. son cosas que pueden afectar el

rendimiento de Tableau.

Entorno

SO de 32 bits vs. SO de 64 bits

En general, se prefiere ejecutar Tableau en un SO de 64 bits. Con el lanzamiento de Tableau 8.1, la

aplicación completa es de 64 bits, lo que significa que puede usar más de 3,2 GB de RAM y nos permite

lidiar con consultas mucho más grandes y generar muchas más marcas de datos. Esto tiene un gran

impacto en situaciones en la que se hacen combinaciones en campos de mucha cardinalidad o, quizás,

se trata de generar (a falta de un buen consejo) una tabulación cruzada muy grande. En sentido práctico,

esto constituyó una gran ventaja para los clientes que generan una gran cantidad de marcas de datos,

por ejemplo, polígonos geográficos personalizados.

Más RAM, CPU más rápida

Al igual que la mayoría de las aplicaciones, Tableau se beneficiará de contar con más RAM y una CPU

más rápida. Algunas de las acciones que Tableau realiza son de multiproceso (p. ej., crear o actualizar

extracciones de datos), de modo que también se beneficiará de contar con más núcleos.

SSD vs. disco giratorio

Algunas acciones de Tableau implican muchas E/S (p. ej., la carga, la creación y la actualización de

extracciones de datos) y se beneficiarían del uso de SSD, en lugar de discos giratorios.

Interfaz de red más rápida

Si los datos son remotos con respecto a la estación de trabajo de Tableau o si usted desea publicar datos

o libros de trabajo en Tableau Server, Tableau se beneficiará de una interfaz de red más rápida y de una

conexión de red con latencia baja.

Elección del navegador

Tableau hace uso intensivo de JavaScript, de modo que la velocidad del intérprete de JavaScript del

navegador afecta la velocidad de la renderización. Es una competencia reñida en un campo que

evoluciona constantemente, pero, en el presente, los navegadores se clasifican de la siguiente manera:

Firefox, Chrome

nuevo IE (10 o posterior)

viejo IE (9 o anterior), Opera, Safari

Esta recomendación se basa en las cifras informadas aquí:

http://www.zdnet.com/the-big-browser-benchmark-january-2013-edition_p2-7000009776/

Page 61: Designing Efficient Workbooks II Es Es 0

61

Anexo A: Recursos relacionales vs. OLAP Tableau se conecta tanto a cubos (OLAP) como a fuentes de datos relacionales con conexiones nativas en vivo. Los cubos y las tablas relacionales

difieren mucho en estructura y propósito y, por lo general, en el rendimiento también. Debido a estas diferencias, Tableau optimizó las conexiones

y las funcionalidades para sacar el mayor provecho de cada tipo de conexión.

En general, los cubos cuentan con una agregación previa y una estructura. Las fuentes de datos relacionales suelen ser desagregadas y menos

estructuradas. La gran mayoría de las funcionalidades de Tableau son idénticas para ambos tipos de fuentes de datos.

Características específicas

Cubos Relacionales

Filtros de usuarios Los cubos tienen la capacidad de definir la seguridad en el nivel del usuario. Tableau tiene la capacidad de aprovechar esta lógica para su entorno. Usted no necesita recrear su modelo de seguridad dentro de Tableau. Si no tiene esto definido en su cubo, puede definirlo en Tableau.

SEGURIDAD

Las fuentes de datos relacionales tienen la capacidad de definir la seguridad en el nivel del usuario. Usted no necesita redefinir esta lógica en Tableau. Si su base de datos no tiene esta lógica, puede definirla en Tableau.

SEGURIDAD

Combinación de datos En toda organización hay datos en cubos y datos que no están en los cubos. Tableau permite a los usuarios combinar fácilmente datos relacionales con datos en cubos, sin mover los datos ni modelarlos en los cubos.

COMBINACIÓN DE DATOS

La combinación de datos funciona con bases de datos relacionales, múltiples bases de datos y cubos. El enfoque de Tableau para la consulta de fuentes de datos desiguales es único. Tableau no requiere que se muevan los datos.

COMBINACIÓN DE DATOS

Análisis de conjuntos Muchos usuarios de cubos aman los conjuntos. Tableau saca provecho de estos conjuntos. Sin embargo, si no existe un conjunto dentro del cubo, usted puede crear uno dinámico y dimensional en Tableau.

CONJUNTO JERÁRQUICO

Los conjuntos permiten almacenar intersecciones dimensionales de datos. Cuando usa una fuente de datos relacional, usted puede crear conjuntos de datos similares a cubos.

CONJUNTOS

Page 62: Designing Efficient Workbooks II Es Es 0

62

Características específicas

Cubos Relacionales

Funciones de cálculo agregadas

Las agregaciones se hacen con antelación en un cubo, y Tableau responde con el conjunto de agregación en el cubo. Este es uno de los principales beneficios de rendimiento de los cubos.

Normalmente, no se hacen agregaciones con antelación en bases de datos relacionales. Entonces, Tableau permite al usuario seleccionar la agregación en Tableau, y la base de datos ejecuta la agregación a pedido.

"Grupos" de Tableau Generalmente el desarrollador define las agrupaciones, que se calculan con antelación, en el cubo. Esto da como resultado la estructura estándar con una ventaja de rendimiento. Puede hacer agrupaciones con MDX sencillo: [Customer].[CustomerGeography].[France] + [Customer].[CustomerGeography].[Germany]

Las agrupaciones no suelen modelarse con antelación en las bases de datos relacionales. Sin embargo, Tableau le proporciona la capacidad de crear grupos sobre la marcha en cualquier momento de su análisis.

CREAR GRUPOS

"Agrupaciones" de Tableau

Las agrupaciones o agrupaciones de rangos de medidas normalmente se modelan en el cubo y son atributos de la ventana de dimensiones. Esto posibilita una definición común para las agrupaciones. Los usuarios pueden crear o modificar agrupaciones en Tableau con MDX sencillo: str(INT(([Internet Sales Amount] / [Bin Size])) * [Bin Size])

Normalmente, no se modelan agrupaciones en bases de datos relacionales. No obstante, Tableau permite a los usuarios crear agrupaciones de medidas.

AGRUPACIONES PAREJAS

AGRUPACIONES DISPAREJAS

Manipulación de cadenas

Con frecuencia, las manipulaciones de cadenas no se hacen con antelación en los cubos. Estas pueden hacerse en Tableau mediante MDX sencillo: LEFT([Product].[Product Categories].DataMember.MemberValue,LEN([Product].[Product Categories].DataMember.MemberValue)-5)

Cuando se conecta a fuentes de datos relacionales, puede lograr la manipulación de cadenas directamente en Tableau con campos calculados. Esto puede resultar útil cuando se cambia el caso, se crean códigos postales zip 5 a partir de zip 5+4 y muchas otras manipulaciones.

FUNCIONES DE CADENA

Page 63: Designing Efficient Workbooks II Es Es 0

63

Características específicas

Cubos Relacionales

Tipos de datos Los tipos de datos (p. ej., cadena, fecha, número) y los roles (dimensión y medida) se definen explícitamente en el cubo. Esto garantiza que los atributos y las agregaciones con antelación aparezcan en las ventanas adecuadas de Tableau.

Tableau detectará automáticamente el tipo de columna de las columnas de las bases de datos relacionales. Esto limita la cantidad de manipulación de datos que necesitará hacer en Tableau. Cuando desee cambiar tipos de datos en Tableau, podrá hacerlo con un clic derecho:

CAMBIO DE TIPOS DE DATOS

KPI/cuadro de mandos En un cubo, puede definir atributos que contengan información que permita saber dentro de qué grupos de KPI entra cierto miembro. También puede crear KPI umbrales directamente en Tableau con un cálculo o un parámetro sencillos:

[Internet Sales Amount] >= [Desired Sales]

En una base de datos relacional, puede crear cálculos de KPI muy rápido con campos calculados sencillos.

CÁLCULOS DE KPI

Acciones Las acciones de Tableau son completamente compatibles con los cubos. También funcionan desde un cubo hacia fuentes relacionales en el mismo libro de trabajo. Las acciones basadas en cubos no se admiten en Tableau.

ACCIONES

Las acciones funcionan dentro de fuentes de datos relacionales y entre cubos y fuentes relacionales. Esto permite que ambos tipos de datos se comuniquen entre sí.

Jerarquías Esta es una de las ventajas claves de usar Tableau con cubos. Tableau también admite explorar en profundidad de manera asimétrica o desigual a través de la jerarquía.

Las bases de datos relacionales no tienen jerarquías integradas, pero Tableau permite crearlas fácilmente sobre la marcha.

CREACIÓN DE JERARQUÍAS

Filtros rápidos Cuando esté conectado a un cubo, podrá ver filtros rápidos como parte de la jerarquía, y su estructura está expuesta. Puede filtrar en múltiples niveles de una jerarquía. Si tiene un solo atributo, puede evitar la vista estructurada y tener una jerarquía de un solo nivel.

En las bases de datos relacionales, los filtros rápidos se muestran en un único nivel, sin estructura. Usted puede incluir estos filtros rápidos en las visualizaciones y el dashboard con un solo clic derecho.

Page 64: Designing Efficient Workbooks II Es Es 0

64

Características específicas

Cubos Relacionales

Extracciones Los cubos, con su naturaleza de agregación con antelación, son inherentemente rápidos y no requieren extracciones.

Con frecuencia, las bases de datos relacionales pueden ser lentas. Tableau ofrece su motor de datos rápido como método para posibilitar un funcionamiento extremadamente rápido para los datos relacionales. Tableau brinda la opción de conectarse en vivo o extraer los datos.

Alias El uso de nombres cortos de empresas es algo común para los cubos. Cuando se conecte a Essbase, puede usar cualquier archivo de alias que esté definido en el cubo.

En las bases de datos relacionales, usted puede crear sus valores de alias para cambiar los nombres de los miembros de una dimensión. Esto es útil cuando quiere hacer una agrupación de elementos y darle un nombre nuevo.

Formato El formato de los campos (porcentaje, divisa, etc.) se define en el cubo. Esto garantiza que los números se muestren correctamente sin intervención alguna del usuario.

Normalmente, las fuentes de datos relacionales no tienen ningún formato inherente. Los porcentajes y las divisas se pueden definir directamente en Tableau. Incluso, puede establecer el formato predeterminado para que cada vez que se usen esas medidas, se muestren con el formato correcto.

Orden de ordenamiento

Los cubos permiten al desarrollador definir el orden de ordenamiento de los miembros de un atributo o una dimensión. Esto asegura que cuando use atributos, sus miembros se muestren siempre en el orden correcto. Esto es útil cuando existen formatos no estándares.

La definición de las bases de datos relacionales no incluye un ordenamiento predeterminado. En Tableau, el usuario puede definir un ordenamiento a partir de una medida (ordenar los estados según las ventas) o usar el ordenamiento manual predeterminado.

Calendarios fiscales Los cubos brindan al desarrollador la capacidad de definir diferentes calendarios en su interior. Ya sea que se trate de un calendario fiscal, un calendario 4-4-5 o su propio calendarios de ventas al por menor, Tableau hereda esta estructura y se comporta de la misma manera.

Por lo general, las bases de datos relacionales solo almacenan fechas, no calendarios diferentes. En Tableau, el usuario puede definir el inicio de un nuevo año fiscal o ingresar cálculos de fechas que imiten el calendario 4-4-5 o el de ventas al por menor.