You are on page 1of 64

Prcticas recomendadas para el diseo

de libros de trabajo de Tableau eficaces


Segunda edicin

Alan Eldridge
Tableau Software
15 de abril de 2014

Prefacio
Una vez ms, cabe aclarar que este documento es una sntesis 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 reconocern su huella en varias secciones (de hecho, algunas
reconocern fragmentos enteros de texto). Agradezco a todas ellas porque sin su excelente trabajo y su
falta de declaraciones de violacin de derechos de autor, yo an seguira 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
proporcionarn caractersticas y capacidades nuevas que pueden cambiar algunas de estas pautas.

ndice
Prefacio ..................................................................................................................................................... 2
Qu es la eficacia? ................................................................................................................................... 5
Por qu nos importa? .......................................................................................................................... 5
Principios bsicos .................................................................................................................................. 5
Parte 1: Es el diseo del libro de trabajo? .............................................................................................. 7
Para qu sirve Tableau? ...................................................................................................................... 7
Para qu no est preparado Tableau? ................................................................................................ 8
Enfoques de diseo: malos vs. buenos ................................................................................................. 8
Parte 2: Es la conexin 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
Comprensin de las consultas ............................................................................................................ 30
Registros del rendimiento ................................................................................................................... 30
Seleccin de uniones........................................................................................................................... 32
Combinacin ....................................................................................................................................... 33
Filtrado ................................................................................................................................................ 39
Parte 4: Son los clculos? ...................................................................................................................... 48
Clculos bsicos y agregados .............................................................................................................. 48
Clculos de tablas................................................................................................................................ 48
Clculos vs. caractersticas nativas ..................................................................................................... 49
Impacto de los tipos de datos ............................................................................................................. 49
Tcnicas de rendimiento ..................................................................................................................... 50
Parte 5: Es una cuestin de escritorio vs. servidor? ............................................................................. 54
Pautas generales ................................................................................................................................. 54

Configuracin ...................................................................................................................................... 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

Qu es la eficacia?
Existen varios factores que hacen que un libro de trabajo sea "eficaz". Algunos de estos factores son
tcnicos, y otros se centran ms en el usuario; pero, en general, un libro de trabajo eficaz es:

Un libro de trabajo que aprovecha los "principios del anlisis 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 visualizacin inicial de la
informacin 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
diseo 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 conexin de datos;
la consulta;
los clculos;
el diseo de visualizacin;
algunas diferencias entre Tableau Desktop y Tableau Server.

Por qu nos importa?


De acuerdo con nuestra vasta experiencia, la mayora de los problemas de rendimiento que
experimentan los clientes estn relacionados con los libros de trabajo. Si los resolvemos (o mejor an,
los prevenimos mediante la educacin) y tenemos libros de trabajo ptimos y eficaces, entonces
solucionaremos los problemas.

Principios bsicos
Antes de sumergirnos en los detalles tcnicos de las distintas caractersticas que afectan el rendimiento
de los libros de trabajo, presentamos tres principios generales que lo ayudarn a crear dashboards y
vistas eficaces:
Todo con moderacin
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 monoltico. Si bien un libro de trabajo de Tableau
puede tener 50 dashboards, cada uno con 20 objetos grficos, 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 ms fcil de hacer en la versin 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.

Si no es rpido 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 tambin ser lento.
En las secciones siguientes ofreceremos sugerencias para ajustar sus bases de datos, a fin de contribuir a
reducir el tiempo de ejecucin de las consultas. Adems, analizaremos cmo usar el veloz motor de
datos de Tableau para mejorar el rendimiento de las consultas.
Si no es rpido en Tableau Desktop, no lo ser en Tableau Server
Los libros de trabajo que sean lentos en Tableau Desktop no sern ms rpidos si los publica en Tableau
Server. En general, los libros de trabajo sern ligeramente ms lentos en Tableau Server porque a) varios
usuarios comparten los recursos del servidor para generar libros de trabajo simultneamente y b) el
servidor debe generar los dashboards y los grficos en vez de que estos se creen en la estacin de
trabajo del cliente.
La excepcin 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 bsicas
de 2 GB de RAM; pero consideran que el funcionamiento del libro de trabajo publicado es aceptablemente
rpido porque el servidor tiene mucha ms memoria y poder de procesamiento.

Parte 1: Es el diseo del libro de trabajo?


Trabajar con Tableau es una experiencia nueva para muchos usuarios, y existen tcnicas y prcticas
recomendadas que estos deben aprender para crear libros de trabajo eficaces. Sin embargo, hemos
notado que muchos usuarios nuevos intentan aplicar enfoques de diseo antiguos con Tableau
y obtienen resultados ftiles. En este documento se intenta desarrollar y promover prcticas
recomendadas para el uso de una nueva categora de anlisis de datos empresariales y una nueva
categora de herramientas de anlisis de datos.

Para qu sirve Tableau?


En Tableau Software, queremos cambiar la manera en que las personas ven y comprenden los datos
y cmo interactan 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 muchsima evidencia que muestra que para los seres humanos la manera ms
eficaz de entender conjuntos de datos grandes y complejos es mediante representaciones
visuales. El procedimiento predeterminado de Tableau consiste en presentar los datos a travs
de grficos, diagramas y dashboards. Las tablas y las tabulaciones cruzadas tienen su lugar (y se
admiten), y hablaremos sobre cmo aprovecharlas ms adelante.
Interactivos: los documentos de Tableau estn diseados principalmente para proporcionar resultados
con los que los usuarios puedan interactuar, tanto en sus escritorios como en la Web y en dispositivos
mviles. A diferencia de otras herramientas de BI que producen, principalmente, resultados de
impresin (ya sean para papel o para documentos, por ejemplo, pdf), el objetivo es disear experiencias
tiles e interactivas que permitan a los usuarios explorar los datos y resolver consultas de negocios.
Iterativos: el descubrimiento es un proceso cclico por naturaleza. Tableau est diseado para acelerar
el ciclo de consulta-entendimiento-consulta para que los usuarios puedan desarrollar hiptesis
rpidamente, probarlas con los datos disponibles, corregirlas, volverlas a probar y as sucesivamente.
Rpidos: histricamente, el proceso de BI ha sido lento. Ha sido lento para instalar y configurar
software, lento para poner los datos a disposicin para el anlisis y lento para disear e
implementar documentos, informes, dashboards, etc. Tableau permite a los usuarios instalarlo,
conectarse y crear documentos ms rpido 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
mayora de los usuarios profesionales debido a su costo o a su complejidad. En muchos casos, los
usuarios necesitan asistencia de TI o de algn usuario avanzado para crear las consultas y los
documentos que desean. Tableau ofrece una interfaz intuitiva para que los usuarios sin
conocimientos tcnicos puedan hacer consultas y anlisis de datos complejos sin necesidad de
convertirse en expertos en bases de datos u hojas de clculo.
Bonitos: dicen que la belleza depende de los ojos con que se la mire, pero en el mundo de la
comunicacin visual existen prcticas recomendadas que deben respetarse. Mediante funciones
como "Mostrarme", Tableau gua a los usuarios sin conocimientos tcnicos en la creacin de
grficos eficaces y comprensibles basados en los datos que se usen.

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 mviles, adems de insertarlos en otras aplicaciones y documentos, y
ms. Tableau permite publicar documentos y, despus, usarlos en todas estas plataformas sin
necesidad de migracin ni rediseo.

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 solucin 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
diseado originalmente. Lo que queremos decir es que si usa Tableau para tratar de resolver problemas
para los cuales la herramienta no est diseada, la relacin entre esfuerzo y recompensa
probablemente no ser favorable, y la solucin resultante puede ser poco o nada satisfactoria.
Sugerimos que piense en modificar sus requisitos o considere otro enfoque si:

Necesita un documento que est diseado para el papel, no para la pantalla. Con esto nos referimos
a los casos en los que necesite controlar diseos de pgina complejos; deba incluir caractersticas
como encabezados o pies de pgina, seccin o grupo, o requiera un formato WYSIWYG preciso.
Tableau puede generar informes de varias pginas, pero estos carecen del nivel de control de formato
que est disponible en las herramientas dedicadas de generacin de informes con bandas.
Necesita un mecanismo instantneo complejo para documentos personalizables (tambin llamado
"envo en rfaga") que se enven con distintos modos de entrega. Se puede usar Tableau para crear
sistemas instantneos, pero esta no es una caracterstica nativa de Tableau. Se debe desarrollar una
solucin personalizada basada en la utilidad TABCMD. Tableau 8 present el concepto de suscripcin
a informes, pero este es un modelo de bsqueda por usuario, no una rfaga 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 ms eficaces que una herramienta de generacin de informes para lograr esto.
Necesita documentos de tabulacin cruzada muy complejos que, quizs, imiten informes de hoja
de clculo existentes con clculos de subtotales difciles, referencias cruzadas complicadas, etc.
Los ejemplos ms comunes de esto son los informes financieros, como estados de resultados,
balances generales, etc. Adems, puede tener la necesidad de realizar modelos de situaciones,
anlisis "qu pasara si" e, incluso, modificaciones de datos supuestos. Si los datos minuciosos
subyacentes no estn disponibles o si la lgica 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 clculo para este tipo de informes.

Enfoques de diseo: malos vs. buenos


Con Tableau, usted crea una experiencia interactiva para sus usuarios finales. El resultado final que
proporciona Tableau Server es una aplicacin interactiva que permite a los usuarios explorar los datos,

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 esttico.
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
generacin 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 extraccin de datos glorificado porque el usuario desea llevar los datos a otra
herramienta, como Excel, para hacer anlisis y grficos adicionales. En el mejor de los casos, indica que,
en realidad, no entendemos cmo el usuario final desea explorar los datos, de modo que tomamos el
siguiente enfoque: "En funcin 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
agregacin ms alto:

Si seleccionamos uno o ms elementos, se muestra el siguiente nivel de detalle:

Continuamos haciendo esto y revelamos cada vez ms detalles:

Finalmente, llegamos a revelar el mximo nivel de datos, los mismos datos que se mostraron en el
dashboard de tabulacin cruzada de arriba.

10

No se concentre en la presentacin de los datos (es un tema importante, pero lo trataremos ms


adelante). En lugar de eso, reflexione acerca de la experiencia de usar este dashboard. Observe cmo
fluye naturalmente, de izquierda a derecha, de arriba a abajo. Este ejemplo puede tener muchos datos
subyacentes, pero el dashboard gua 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 gua al usuario final en el proceso de
anlisis. 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 aplicacin de
filtros. Pero existen problemas inherentes a esta tcnica:

La consulta inicial que debe ejecutarse antes de que se muestre algo al usuario final es,
bsicamente, la consulta ms 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 llevara un tiempo considerable. La experiencia del "contacto inicial" es fundamental
para establecer la percepcin del usuario final con respecto a la solucin; y si transcurren ms de
unos pocos segundos antes de que algo suceda, la percepcin ser negativa.
Crear una vista con cientos de miles o millones de marcas (cada celda de una tabulacin cruzada
se llama marca) implica una gran exigencia sobre la CPU y la memoria. Tambin demanda
tiempo, lo que contribuye a la percepcin 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 trminos tcnicos, esto es "algo muy malo" y puede causar problemas

11

de estabilidad del servidor, errores y toda clase de experiencias desagradables para los usuarios
finales. Por supuesto que puede agregar ms memoria al servidor para minimizar esto; pero
estara tratando el sntoma, no la causa.
Por ltimo, los usuarios no tienen ninguna gua contextual que les indique si su conjunto inicial
de filtros producir resultados muy extensos o muy reducidos. Cmo puede saber el usuario de
un informe que si selecciona todas las categoras 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 ms alto
de agregacin:

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


solo una cantidad mnima de datos. Para las bases de datos bien diseadas, esta es una actividad
muy eficaz, y el tiempo de respuesta del "primer contacto" es muy rpido, lo que conduce a una
percepcin positiva del sistema. A medida que profundizamos, cada consulta posterior se agrega
y restringe por las selecciones del nivel ms alto. Estas continan ejecutndose y regresando al
motor de Tableau rpidamente.
Aunque contamos con ms vistas cuando el dashboard est completo, cada vista muestra solo
unas pocas docenas de marcas. Incluso si muchos usuarios finales estn 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 categora en los niveles de "navegacin" ms altos. Esto proporciona algo
de contexto al usuario acerca de la cantidad de registros que incluye la seleccin. Tambin
indicamos la rentabilidad de cada categora con colores. Esto se vuelve extremadamente
relevante, ya que le permite ver qu reas requieren de su atencin y evita que tenga que
navegar a ciegas.

12

Parte 2: Es la conexin de datos?


Una de las valiosas caractersticas de Tableau es su capacidad de conectarse a datos de una gran
variedad de plataformas. En trminos 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 categora abarca todos los formatos de datos basados en archivos: los archivos de texto, como CSV,
las hojas de clculo de Excel y los archivos de MS Access son los ms comunes. Los usuarios profesionales
comnmente usan datos en estos formatos porque permiten extraer los datos de conjuntos de datos
"gestionados", ya sea mediante la generacin de informes o la extraccin 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 ms rpido y que los valores de
datos se almacenen en archivos mucho ms pequeos. Sin embargo, si el archivo es pequeo o se
necesita una conexin en vivo con el archivo para reflejar datos cambiantes, puede conectarse en vivo.
En la mayora 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 tamao de las columnas
que se pueden leer. Para que los archivos se lean, estos no pueden tener ms de 255 columnas,
y los campos de texto se truncan en los 255 caracteres. En la siguiente conversacin de un foro
se analizan estas limitaciones: http://community.tableausoftware.com/thread/109727.
Debido a que los archivos de texto y las hojas de clculo 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
nmeros y se determine que el tipo de datos es numrico, pero en celdas posteriores de la tabla haya
valores alfanumricos. El siguiente artculo de la base de conocimiento identifica varias formas de
lidiar con este problema: http://kb.tableausoftware.com/articles/knowledgebase/jet-incorrect-datatype-issues?lang=es-es.
El controlador MS JET no admite el RECUENTO DE VALORES DIFERENCIADOS ni la MEDIANA como
agregaciones. Cuando se usa una conexin en vivo a una fuente de datos basada en archivos, estas

13

funciones no estn disponibles en la interfaz de Tableau Desktop. La forma ms 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 ms de 4 GB. Mientras que esto no es un problema
para los archivos de Excel o Access, que tienen limitaciones de tamao similares, puede ser un
inconveniente para archivos de texto extremadamente grandes. Para solucionar esto, Tableau
incorpor un analizador de texto dedicado en la versin 6.1. En consecuencia, se pueden importar
archivos de texto de cualquier tamao y llevarlos al veloz motor de datos de Tableau; no se recomienda
hacer consultas directas a estos archivos porque el rendimiento sera psimo. Sin embargo, existen
limitaciones de uso del analizador: solo debe usarse para hacer una lectura directa del archivo de texto.
Si aplicamos clculos o filtros, el proceso de importacin usa el controlador MS JET en su lugar.

En Tableau 8.2, presentamos una nueva capa conectora para fuentes de datos basadas en archivos:
especficamente, 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 tambin 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:
Se gan

Se perdi

Texto
anlisis mucho ms eficaz en general
deteccin mucho ms precisa del tipo
de campo: ms filas, mejor lgica
deteccin automtica del delimitador
y la pgina de cdigos
deteccin automtica ms precisa de
la presencia o ausencia de encabezados
de datos
todas las funciones del motor de datos
que no estn en JET (RECUENTO DE
VALORES DIFERENCIADOS, MEDIANA,
PERCENTILES, ANLISIS DE FECHA,...)
conjuntos de entrada/salida
conjuntos combinados
fracciones de segundo como fechas
AAAAMMDD como fecha
X% como nmeros
ms de 255 columnas
caracteres calificadores de texto
(estimacin)
configuracin regional de anlisis explcita
compatibilidad con Mac
JET SQL: SQL en bruto y SQL personalizado
formatos de archivo de ancho arreglado
en schema.ini
uniones correctas y completas
uniones de igualdad

14

Excel
anlisis mucho ms eficaz en general
deteccin mucho ms precisa del tipo
de campo: ms filas, mejor lgica
deteccin automtica de la presencia
o ausencia de encabezados de datos
nombres de campos ms apropiados
todas las funciones del motor de datos que
no estn en JET (RECUENTO DE VALORES
DIFERENCIADOS, MEDIANA, PERCENTILES,
ANLISIS DE FECHA,...)
conjuntos de entrada/salida
conjuntos combinados
ms de 255 columnas
anlisis de columnas de enteros como
enteros en vez de dobles
anlisis 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

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

Los usuarios que ejecuten Tableau en Windows tendrn la posibilidad de volver al conector basado en MS JET
anterior si lo necesitan, pero esta opcin no estar disponible para usuarios que ejecuten Tableau en Mac.

Relacionales
Las fuentes de datos relacionales son las fuentes de datos ms 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 genrico. Tcnicamente, esta categora tambin incluye las fuentes de
datos de MapReduce, ya que se accede a ellas a travs de capas de acceso SQL, como Hive o Impala;
pero analizaremos estas fuentes en detalle ms adelante.
Existen muchos factores internos que afectan la velocidad de las consultas en los sistemas de
administracin 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 indexacin correcta de la base de datos es fundamental para que las consultas sean eficaces:

Asegrese de que todas las columnas que formen parte de las UNIONES de la tabla estn indexadas.
Asegrese de que todas las columnas que se usen en FILTROS, en Tableau, estn 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 seccin 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#).
Asegrese de que las estadsticas de sus datos estn habilitadas para permitir que el optimizador
de consultas cree planes de consulta de alta calidad.
Muchos entornos de sistemas de administracin de bases de datos (DBMS) tienen herramientas
de gestin que recomiendan ndices en funcin de las consultas.

Integridad referencial
La informacin de integridad referencial le permite a Tableau entender cmo se relacionan los datos de
diferentes tablas. Asegurar que esta se configure de manera correcta contribuye a que Tableau cree
consultas eficaces:

Defina EXPLCITAMENTE CLAVES PRINCIPALES para todas las tablas si es posible.


Defina EXPLCITAMENTE 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 verificacin.

Particionamiento
El particionamiento de bases de datos mejora el rendimiento mediante la divisin de tablas grandes en
tablas individuales ms pequeas (llamadas particiones o divisiones). Esto permite que las consultas se
ejecuten con ms rapidez, ya que la cantidad de datos que se debe examinar es menor o hay ms
controladores que asisten la entrada y la salida. El particionamiento es una estrategia recomendada
para grandes volmenes de datos y es transparente para Tableau.

15

El particionamiento funciona bien en Tableau si se hace en una dimensin (por ejemplo, tiempo, regin,
categora, etc.) que normalmente se filtre, de modo que las consultas individuales solo tengan que leer
registros de una sola particin.
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 particin se usen correctamente; de lo contrario, la
examinacin de una tabla completa puede tener un rendimiento muy bajo.
Valores nulos
La presencia de valores nulos en las columnas de dimensin puede reducir la eficacia de los ndices de
muchas bases de datos. Cuando sea posible, defina sus columnas de dimensin como NO NULAS.
Clculos
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 clculos muy complejos, quizs el SQL generado no sea la
opcin ptima y pueda mejorarse.
En estas situaciones, puede crear una instruccin SQL personalizada para ajustar manualmente la
expresin (pero esto tiene sus propias desventajas, que analizaremos ms adelante) o puede
implementar la expresin en una vista o funcin de la base de datos.
SQL personalizado
Si bien la capacidad de crear una conexin de datos con un fragmento de SQL personalizado puede ser
muy valiosa, tiene sus limitaciones de rendimiento. A diferencia de las tablas nicas o mltiples, el SQL
personalizado nunca se desglosa y se ejecuta atmicamente. 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 recomendacin es usar SQL personalizado en combinacin con el motor de datos rpido de Tableau.
As, la consulta atmica se ejecuta una sola vez (para cargar los datos en la extraccin de datos), y todo el
anlisis siguiente con Tableau se hace mediante consultas dinmicas optimizadas a la extraccin de datos.
Consulte la seccin siguiente sobre filtros de contexto para conocer otra tcnica para forzar a la base de datos a
que presente los resultados del SQL personalizado en una tabla temporal.

16

A partir del lanzamiento de Tableau 8, se pueden usar parmetros en SQL personalizado; en algunos
casos, estos pueden mejorar el rendimiento de las conexiones en vivo, ya que otorgan ms dinamismo
a la consulta bsica (p. ej., las clusulas de filtros que usen parmetros se evaluarn de manera
apropiada). Adems, los parmetros pueden usarse para introducir valores de delimitacin 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 parmetros solo pueden usarse para introducir valores
literales y no pueden usarse para cambiar de forma dinmica las clusulas 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 da, regin, 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
extraccin de datos agregada. Consulte la seccin sobre extracciones para obtener ms detalles.
Procedimientos almacenados
Tableau 8.1 admite procedimientos almacenados en Sybase ASE, SQL Server y Teradata. Si debe
implementar una lgica muy compleja (p. ej., basada en informacin 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 ms de un conjunto de resultados, Tableau lee el


primero e ignora el resto.
Si un procedimiento almacenado tiene parmetros de salida, Tableau filtra el procedimiento
almacenado para que no aparezca en el cuadro de dilogo de Conexin.
Los procedimientos almacenados que tienen parmetros 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 dilogo Conexin, pero no se pueden seleccionar.
Si no se proporciona un valor para un parmetro requerido por el procedimiento almacenado,
se produce un error. Tableau no puede determinar con antelacin si se requieren parmetros.
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 despus.

SQL inicial
Otra alternativa al uso de SQL personalizado (si su fuente de datos la admite) consiste en usar la
instruccin 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

17

abre el libro de trabajo (en lugar de ejecutarse cada vez que se cambia la visualizacin del SQL
personalizado), esto podra mejorar considerablemente el rendimiento en algunos casos.

Hadoop
En Tableau 8.1 se admiten tres distribuciones Hadoop (adems de las interfaces compatibles):

Cloudera Hadoop

Hortonworks Hadoop Hive

Hive Server
Impala
Beeswax Server
Beeswax Server y Kerberos

Hive Server
Hive Server 2
Hortonworks Hadoop Hive

MapR Hadoop Hive

Hive Server
Hive Server 2

Hive acta como capa traductora de SQL-Hadoop: traduce la consulta a MapReduce, la cual despus se
ejecuta con los datos de HDFS. Impala ejecuta la instruccin SQL directamente con los datos de HDFS
(no necesita MapReduce). Generalmente, Impala es mucho ms rpido que Hive, aunque se producen
cambios con frecuencia, y tecnologas nuevas, como Apache Shark (diseado 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 analticas como las que crea Tableau. Las extracciones de datos de Tableau suelen usarse para
mejorar los tiempos de respuesta de las consultas (analizaremos ms informacin sobre las extracciones
y cmo estas se pueden usar con "big data" ms adelante).
Puede encontrar ms 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

18

Existen diferencias funcionales entre la conexin 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 expresin para las medidas calculadas. Las diferencias se relacionan, principalmente, con
los metadatos (cmo y dnde 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 combinacin de datos.
Consulte el Anexo A para conocer ms 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 transformacin 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
extraccin y una conexin en vivo sin que el estado de su visualizacin se vea afectado. Deber elegir antes
de comenzar a armar su visualizacin. Sin embargo, no debe decidir todo desde un principio. Puede alternar
entre opciones de alias (clave, nombre largo, etc.) despus de la extraccin.

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 extraccin de datos de Tableau. La "conexin en vivo" no es posible para estas fuentes
de datos, pero el archivo extrado puede actualizarse para que tambin se actualicen los datos que
contiene. Con Tableau Server, este proceso de actualizacin puede automatizarse y programarse.

Amazon Redshift
Google BigQuery
Microsoft SQL Server Azure (mediante el controlador SQL Server)

Aunque estas fuentes de datos tambin estn 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 automticamente en un archivo
de extraccin de datos de Tableau. En algunos casos, no se pueden extraer ciertos campos debido a
lmites de caracteres. Especficamente, los campos de texto con ms de 4096 caracteres y los campos
calculados no se incluirn en la extraccin. Si sus datos tienen campos calculados, usted deber
recrearlos en Tableau despus de hacer la extraccin.
Adems, la API de Force.com restringe las consultas a un total de 10 000 caracteres. Si se conecta a una o ms
tablas muy anchas (muchas columnas con nombres posiblemente muy largos), puede llegar al lmite cuando

19

intente crear una extraccin. En estos casos, debe seleccionar menos columnas para reducir el tamao de la
consulta. Es posible que Salesforce.com sea capaz de ampliar el lmite de consulta de su empresa en ciertos
casos. Comunquese con su administrador de Salesforce.com para obtener ms informacin.
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 especfica 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 conexin incluye una gran
cantidad de dimensiones o de datos. Consulte la documentacin de Google Analytics para aprender ms
acerca de cmo 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 categora inusual de sus datos. Las inferencias basadas
en ese conjunto de muestra agregado pueden estar sesgadas por haber un nmero insuficiente de
elementos muestrales en esa categora. Para crear vistas de GA que le permitan hacer inferencias
precisas sobre los datos, asegrese de contar con una muestra lo suficientemente grande para la
categora que le interesa. El tamao de muestra mnimo recomendado es de 30.
Para obtener informacin sobre cmo ajustar el tamao de muestra de GA y aprender ms acerca de
la tcnica de muestreo de GA, consulte la documentacin 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 sesin o de resultado para dividir los datos en partes
no muestreadas. Despus, descargue los datos en un archivo de Excel y use el motor de extraccin
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 separacin de los datos en distintas partes
para el anlisis. Para el futuro, Google anunci que permitir a los clientes Premium de GA exportar
sus datos de nivel de sesin o de resultado a Google BigQuery para un anlisis ms profundo. Este
sera un enfoque mucho ms 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
mximo 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 comparacin con las conexiones de datos independientes:

20

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 definicin 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 lgica 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 extraccin de datos, se puede usar en mltiples libros de trabajo. Sin
el servidor de datos, cada libro de trabajo tendr su propia copia local de la extraccin. Esto
reduce la cantidad de copias redundantes que, a su vez, reduce el espacio de almacenamiento
necesario en el servidor y los procesos de actualizacin de copias.
Si la fuente de datos es una conexin en vivo, no es necesario instalar sus controladores en todas
las computadoras, solo deben instalarse en Tableau Server. El servidor de datos acta como
proxy para las consultas de Tableau Desktop.

Extracciones
Hasta ahora hemos analizado tcnicas 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
extraccin de datos de Tableau a partir del sistema de datos de origen. Esta extraccin:

Es una memoria cach de datos persistente que se graba en el disco y puede reproducirse.
Es un almacn de datos en columnas (un formato en el que los datos estn optimizados para
realizar consultas para anlisis).
Est completamente desconectada de la base de datos durante la consulta; de hecho, la
extraccin reemplaza la conexin de datos en vivo.
Es actualizable, mediante la generacin de una nueva extraccin o la incorporacin progresiva de
filas de datos a una extraccin existente.
Reconoce la arquitectura (a diferencia de la mayora de las tecnologas en memoria, no se ve
restringida por la cantidad de RAM fsica disponible).
Es porttil (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. Tambin pueden usarse para
insertar datos en libros de trabajo empaquetados que se distribuyan para su uso con Tableau Reader).
Suelen ser ms rpidas que la conexin de datos en vivo subyacente.

Tom Brown de The Information Lab escribi un artculo excelente donde explica distintos casos de uso
en los que las extracciones otorgan beneficios (asegrese de leer tambin los comentarios para conocer
ms ejemplos de otros usuarios):

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

21

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 funcin
de un ciclo peridico), esto debe tomarse como una solucin tctica, no a largo plazo. Las actualizaciones
progresivas no admiten acciones de actualizacin o eliminacin de registros que ya se hayan procesado
(para cambiar estos registros se debe volver a cargar la extraccin 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 seccin pertinente ms arriba).
Cundo usar extracciones y cundo 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 ejecucin de consultas: si su sistema de datos de origen tarda en procesar las


consultas que genera Tableau Desktop, crear una extraccin puede ser una manera sencilla de
mejorar el rendimiento. El formato de los datos extrados est diseado intrnsecamente para
proporcionar una respuesta rpida a las consultas de anlisis, por lo que, en este caso, se puede
pensar en la extraccin como una memoria cach de aceleracin de consultas. Para algunos tipos
de conexin, esta es una prctica recomendada (p. ej., archivos de texto grandes, conexiones SQL
personalizadas), y algunas fuentes solo funcionan con este modelo (consulte la seccin sobre
fuentes de datos en nube).
Anlisis sin conexin: 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 fcilmente en dispositivos porttiles, como
laptops. Es muy sencillo alternar entre una extraccin y una conexin 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 tambin puedan
insertarse (es decir, fuentes de datos de archivos), las extracciones de datos proporcionan,
intrnsecamente, un alto nivel de compresin de datos, de modo que el libro de trabajo
empaquetado resultante es notoriamente ms pequeo.
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, jerarquizacin, 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 extraccin y ponerla a disposicin 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 podra no ser adecuado:

22

Datos en tiempo real: debido a que las extracciones son una foto instantnea de los datos en un
momento especfico, no son apropiadas para anlisis que requieren datos en tiempo real. Es posible
actualizar automticamente las extracciones con Tableau Server, y muchos clientes lo hacen varias
veces al da, pero el verdadero acceso a los datos en tiempo real requiere una conexin en vivo.
Datos inmensos: si tiene que trabajar con una cantidad inmensa de datos (la definicin de
"inmensa" depende del usuario, pero generalmente ser de millones o miles de millones de
registros), extraerlos puede no ser prctico. El archivo de extraccin resultante puede ser
extremadamente grande o el proceso de extraccin puede llevar muchsimas 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 extraccin
puede ser una excelente idea. En trminos generales, el motor de extraccin de Tableau est
diseado 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
respondern con una extraccin 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 extraccin.
La excepcin a esta regla sucede cuando la extraccin se publica en Tableau Server con filtros
definidos para la fuente de datos y otros usuarios acceden a la extraccin 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.

Creacin de extracciones
Esta tarea es sencilla si se usa Tableau Desktop. Despus de conectarse a sus datos, vaya al men Datos
y haga clic en Extraer datos, luego, acepte las opciones predeterminadas del cuadro de dilogo
(volveremos a tratar este tema ms adelante). Tableau le pedir que especifique dnde quiere guardar
la extraccin, elija el lugar en el que desee guardar el archivo, aunque Tableau probablemente lo dirija a
"My Tableau Repository | Datasources", que tambin es una ubicacin apropiada.
Ahora, espere a que se cree la extraccin. El tiempo de espera depende de la tecnologa de la base de
datos que use, la velocidad de la red, el volumen de datos, etc.; adems, depende de la velocidad y la
capacidad de su estacin de trabajo, ya que la creacin de una extraccin es una tarea que hace uso
intensivo de la memoria y el procesador.
Sabr que la extraccin finaliz cuando vea que el cono de la fuente de datos cambi y tiene otro cono de base
de datos detrs, que supuestamente representa una "copia", que es exactamente lo que es una extraccin.

23

Tenga en cuenta que la creacin inicial de una extraccin se hace siempre en Tableau Desktop o
mediante la API de extraccin de datos y, por lo tanto, ocurre en la estacin de trabajo. Deber
asegurarse de que su estacin de trabajo tenga suficiente capacidad para completar la tarea. La creacin
de extracciones usa recursos de todos los tipos (CPU, RAM, almacenamiento en disco, E/S de la red),
y procesar grandes volmenes de datos en una computadora pequea puede generar errores si
cualquiera de ellos se agota. Se recomienda hacer extracciones grandes en una estacin de trabajo
adecuada (CPU rpida con mltiples ncleos, mucha RAM, E/S rpidas, etc.).
El proceso de creacin 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
extraccin resultante (p. ej., una extraccin 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
tamao del archivo de extraccin 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 ubicacin con ms espacio.
Si es imposible (o no es prctico) llevar a cabo un proceso de extraccin inicial en una estacin de
trabajo, se puede hacer lo siguiente para crear una extraccin vaca que despus se publicar en Tableau
Server. Cree un campo calculado que incluya DateTrunc(minute, now()). A continuacin, agrguelo
a los filtros extrados y excluya el nico valor que muestra (hgalo rpido porque despus de un minuto
el filtro pierde validez). Si necesita ms tiempo, ample el intervalo de publicacin (p. ej., 5 o 10 minutos,
o una hora si la necesita). Esto crear una extraccin vaca en su escritorio. Cuando la publique en el
servidor y active el programa de actualizacin, llenar toda la extraccin, ya que la marca de tiempo que
excluimos ya no es la misma.

24

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 extraccin puede implicar mejoras, siempre que los datos se agreguen
y filtren adecuadamente. Por ejemplo, puede filtrar los datos si solo le interesan los ms recientes.
Puede definir la extraccin con antelacin eligiendo los campos que desee y marcando la casilla de
verificacin "Agregar datos para todas las dimensiones visibles" en el cuadro de dilogo Extraer datos de
Tableau Desktop. Otra opcin, despus de hacer el anlisis y crear el dashboard, cuando est listo para
publicar, es volver al cuadro de dilogo Extraer datos y hacer clic en el botn Ocultar todos los campos
sin usar. Entonces, al extraer los datos se obtiene el mnimo absoluto necesario para crear la vista. La
gente acostumbra usar esa configuracin para su vista de resumen. Y en otra pgina del libro de trabajo
se puede usar un nivel de detalle inferior, pero una extraccin ms grande. Como filtr los datos, esto
debera 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 pequeos 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 ms rpido posible. Como Tableau hace un uso
eficaz de la memoria, mejorar el rendimiento de esta manera suele ser relativamente fcil y permite
ejecutar distintas extracciones al mismo tiempo.

25

Tambin 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 anlisis, 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 extraccin.

26

Optimizacin de extracciones
Tableau Server no solo optimiza las columnas fsicas de la base de datos, sino tambin las columnas
adicionales creadas en Tableau. Estas columnas incluyen los resultados de clculos determinsticos, como
la manipulacin y la concatenacin de cadenas, en los que el resultado, los grupos y los conjuntos nunca
cambiarn. Los resultados de los clculos no determinsticos, como los que incluyen parmetros y
agregaciones (como sumas o promedios) que se calculan al momento de ejecucin, no se pueden almacenar.
Un usuario puede actualizar una extraccin despus de agregar solo dos filas de datos y notar que el
tamao de la extraccin creci de 100 MB a 120 MB. Este incremento de tamao se debe a que para la
optimizacin se crean columnas adicionales con valores de campos calculados porque es ms 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 conexin en una extraccin de datos, debe
asegurarse de que todos los campos calculados existan en la conexin que seleccione para las opciones
Optimizar y Actualizar, de lo contrario Tableau no mostrar campos que considere en desuso. Un buen mtodo
es definir todos los campos calculados de la fuente de datos primaria y copiarlos, segn sea necesario, en las
dems conexiones y solamente actualizar y optimizar la extraccin de la fuente de datos primaria.
Actualizacin de extracciones
En Tableau Desktop, para actualizar una extraccin, se hace una seleccin 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 despus del proceso de publicacin, se puede adjuntar un programa definido
por un administrador para actualizar la extraccin automticamente. El incremento ms pequeo

27

permitido para el programa es de 15 minutos; el programa puede consistir en hacer una actualizacin a
la misma hora todos los das, las semanas, etc. Puede establecer una "ventana mvil" para actualizar
continuamente los datos y ver solo los ms recientes.
Nota: Si el usuario desea actualizar sus datos con mayor frecuencia que cada 15 minutos, probablemente
debera conectarse a datos activos o establecer una base de datos de informes sincronizados.
Puede elegir dos programas de actualizacin para una misma extraccin:

Una actualizacin incremental solo agrega filas y no incluye cambios de las filas existentes.
Una actualizacin completa descarta la extraccin vigente y genera una nueva a partir de la
fuente de datos.

Qu sucede si la actualizacin tarda ms 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 actualizacin lleva una hora y media. Sorprendentemente, esta situacin podra ser provechosa.

Una actualizacin comienza a la 1:00 y acaba a las 2:30.


La siguiente actualizacin comienza a las 2:00 y acaba a las 3:30.
La siguiente actualizacin 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 antigedad. Si esperara hasta
que la actualizacin de la 1:00 acabara a las 2:30 para iniciar otra actualizacin, la segunda actualizacin
no estara 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 actualizacin, todas las solicitudes se dirigen a esa versin de la extraccin.
Las pantallas de mantenimiento muestran qu tareas de fondo se estn ejecutando, adems de las que
se ejecutaron durante las ltimas 12 horas. Se usa codificacin por colores para mostrar el estado de
esas tareas. Las pantallas de mantenimiento estn disponibles para los administradores y, con los
permisos adecuados, para algunos usuarios, que pueden estar autorizados a iniciar una actualizacin ad
hoc de una extraccin. Adems, por ejemplo, si se va a cargar una base de datos, puede establecer un
desencadenador para que inicie una extraccin despus de que la base de datos se haya cargado.

28

Tambin puede actualizar un libro de trabajo de manera incremental o completa con la herramienta de lnea
de comando Tabcmd si usa Tableau Server o la lnea de comando Tableau.exe si usa Tableau Desktop. Si
tiene requisitos de programacin complicados, puede invocarlos desde una herramienta de programacin
externa, como el Programador de tareas de Windows. Este enfoque es necesario si desea un ciclo de
actualizacin ms corto que el mnimo 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.

29

Parte 3: Es la consulta?
Usted revis la conexin de datos y se asegur de que respetara las prcticas recomendadas. No
obstante, su rendimiento sigue siendo bajo. El prximo punto de revisin es comprender la consulta
especfica (o, lo que es ms probable, las consultas especficas) para garantizar que sea ptima.

Comprensin de las consultas


En Tableau puede encontrar el texto completo de la consulta en el archivo de registro. La ubicacin
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 funcin de registro del
rendimiento de Tableau Desktop y Server. Esta funcin se habilita en el men Ayuda:

30

Comience el registro del rendimiento y, despus, abra su libro de trabajo. Interacte 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 ms tiempo; por ejemplo, en la imagen de
arriba, una de las consultas de la pgina "Hoja 1" en el dashboard "Un buen diseo" 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 informacin para identificar las secciones del libro de trabajo que ms se presten a
revisin, es decir, dnde puede obtener la mejora ms significativa con respecto al tiempo que emplea.

31

Puede encontrar ms informacin sobre la interpretacin de estos registros en el siguiente enlace:

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

Seleccin de uniones
Cuando se unen varias tablas en una fuente de datos, Tableau tiene una funcin estupenda (y, generalmente,
invisible para el usuario) llamada Seleccin 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 unin que se
declar en la fuente de datos todo el tiempo. La seleccin de uniones nos permite hacer consultas solo sobre
las tablas relevantes, en lugar de hacerlas sobre todas las tablas definidas en una unin.
Considere la siguiente situacin en la que se unieron varias tablas en un esquema de estrella pequeo:

Con la seleccin 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]

32

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 perodo 20082012, 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 seleccin 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 aplicacin o mediante un proceso de ETL: esto se conoce como integridad referencial
"suave". En Tableau 8.1, se introdujo una nueva funcin que permite a los usuarios comunicarle a
Tableau que se implement la integridad referencial suave y que es seguro usar la seleccin de uniones.

Para obtener ms informacin, consulte la siguiente serie de artculos de Russell Christopher en su blog
Tableau Love:

http://tableaulove.tumblr.com/post/11692301750/what-i-learned-about-tableau-join-cullingover-summer
http://tableaulove.tumblr.com/post/62447366098/what-i-learned-about-tableau-join-cullingover-fall

Combinacin
Al decidir entre la unin o la combinacin de tablas de datos en Tableau, considere de dnde 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 ms 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

33

control de filtros. Sin embargo, existen algunas situaciones en las que la unin de tablas de datos podra
no funcionar tan bien como la combinacin de datos. En estas dos situaciones normales, la combinacin
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 opcin sera agregar
las tablas y combinar los datos en la agregacin. Por ejemplo, puede agregar datos por ao, en vez de
fecha, o por tipo de producto, en vez de nombre del producto. Para ver un ejemplo, consulte el artculo
Data Blending with Summarized Data (Combinacin de datos con datos resumidos).
Si desea ver tanto el resumen de un clculo como el detalle en la misma vista, seleccione Datos >
Conexin de datos > Duplicar para combinar los datos a fin de que se comuniquen entre dos
conexiones de datos. Para obtener ms informacin, consulte el artculo Showing Summary and
Detail Together (Vista de resumen y detalle juntos).

El siguiente artculo presenta distintos ejemplos de situaciones en las que le conviene usar una unin y
situaciones en las que le conviene usar la combinacin de datos:
http://kb.tableausoftware.com/articles/knowledgebase/join-vs-relationship?lang=es-es
Si opta por la combinacin, 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 combinacin
que vinculan los dos conjuntos de datos. Cuando se usa la combinacin, se hacen las consultas sobre
ambas fuentes de datos en el nivel de los campos vinculantes y, despus, se fusionan los resultados de
ambas consultas en memoria.

Si hay muchos valores nicos, podra necesitarse una gran cantidad de memoria. El lanzamiento de
Tableau 8.1 para 64 bits permitir a los usuarios combinar datos ms complejos (ms valores nicos) sin
agotar la memoria, pero es probable que estos casos sigan requiriendo un largo tiempo de procesamiento.

34

Lo que se recomienda para la combinacin, en base a las mejores prcticas, 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, podra 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:

Podramos crearlo mediante la combinacin, pero, como ya mencionamos, esto resultara en un


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

35

Si hace clic con el botn 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 vinculacin (en este caso, Id.)
a la dimensin seleccionada de la fuente de datos secundaria (en este caso, Grupo).

Ahora podemos crear esta tabla sin la necesidad de una combinacin:

36

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:

Podramos crearlo mediante la combinacin entre ambas fuentes de datos, pero, como ya
mencionamos, esto resultara en un funcionamiento muy lento si hubiera una gran cantidad de Id.:

37

Si hacemos clic con el botn derecho en el campo Nombre y seleccionamos Editar alias primarios,
podemos hacer una asignacin por nica vez del campo Nombre al campo Id. como valores de alias:

Entonces, podemos crear la visualizacin deseada sin ninguna combinacin, lo que ser ms rpido:

38

Tenga en cuenta que tanto los grupos como los alias primarios no son dinmicos y debern actualizarse si los
datos cambian. Por lo tanto, no son una solucin excelente para los datos que se actualizan con frecuencia;
pero si necesita una asignacin rpida, 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 ms comunes del mal rendimiento de los libros de trabajo y los dashboards. Las secciones
siguientes presentan una serie de prcticas recomendadas para trabajar con filtros.
Nota: La eficacia de los filtros se ve drsticamente afectada por la presencia y el mantenimiento de
ndices en la fuente de datos. Consulte la seccin previa sobre ndices para obtener ms detalles.
Filtrado de dimensiones categricas
Considere la siguiente visualizacin, un mapa de Australia con marcas para cada cdigo postal:

39

Podemos filtrar el mapa de diferentes maneras para que solo muestre los cdigos postales de Australia
Occidental (los puntos violetas):

Podemos seleccionar todas las marcas de Australia Occidental y conservar solo la seleccin.
Podemos seleccionar todas las marcas fuera de Australia Occidental y excluir la seleccin.
Podemos conservar otro atributo, como la dimensin de estado.
Podemos filtrar por rango, en los valores de cdigo postal o los de latitud/longitud.

Discreto
Si implementramos las primeras dos opciones, la de conservar y la de excluir, descubriramos que no
son eficaces, de hecho, a veces pueden ser ms lentas que el conjunto de datos sin filtros. Esto sucede
porque se expresan como una lista discreta de valores de cdigo postal que el DBMS incluye o excluye
mediante filtros, ya sea con una clusula WHERE compleja o mediante la unin con la tabla temporal
que se rellen con la seleccin. Para un conjunto grande de marcas, esto puede conducir a una consulta
muy costosa de evaluar.
La tercera opcin es rpida 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 dimensin 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 tambin permite que la base de datos evale una clusula de filtrado
simple (WHERE POSTCODE >= 6000 AND POSTCODE <= 7000 o WHERE LONGITUDE < 129), lo que resulta en
una ejecucin rpida. Pero este enfoque, a diferencia de los filtros en dimensiones relacionadas, no se
vuelve ms 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 ms rpidos 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 dimensin que Tableau a menudo controla de manera
diferente que los datos categricos estndares. Esto es especialmente verdadero cuando crea filtros de
fecha. Los filtros de fecha son extremadamente comunes y se dividen en tres categoras: filtros de fecha
relativa, que muestran un rango de fechas relativo a un da especfico; 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 seccin de arriba, el
mtodo usado puede tener un impacto significativo en la eficacia de la consulta resultante.

40

Discreto

Algunas veces, es posible que desee filtrar para incluir fechas individuales especficas 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 expresin de fecha se transmita a la base de datos
como un clculo dinmico:
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 mayora de los casos, los optimizadores de consultas evaluarn inteligentemente el clculo


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 particin de fecha. Como la tabla no est
particionada segn el valor de DATEPART, algunas bases de datos evaluarn el clculo en todas las
particiones para encontrar registros que concuerden con el criterio, aunque esto no sea necesario.
En este caso, se lograra un rendimiento mucho ms alto con un filtro por rango de fechas.
Una manera de optimizar el rendimiento para este tipo de filtros es realizar el clculo con una extraccin
de datos. Primero, cree un campo calculado que implemente la funcin DATEPART explcitamente. Si
despus crea una extraccin de datos de Tableau, este campo calculado se materializar como valores
almacenados en la extraccin (porque el resultado de la expresin es determinstico). Filtrar el campo
calculado en vez de la expresin dinmica ser ms rpido porque el valor simplemente se puede
buscar, en vez de calcularse en el momento de consulta.

41

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 clusula WHERE es muy eficaz para los optimizadores de consulta, ya que permite que los
planes de ejecucin 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.

42

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, quizs quiere ver las ventas del ao a la fecha, todos los
registros de los ltimos 30 das o los errores que se cerraron la semana pasada. Los filtros de fecha
relativa tambin pueden ser relativos respecto de una fecha ancla especfica 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 clusula WHERE resultante usa un filtro por rango de fechas, de modo que esta
tambin 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 dems filtros. Sin embargo, puede configurar uno o ms 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. Despus, esta tabla acta como una fuente de
datos (ms pequea) independiente para los filtros y las consultas subsiguientes, lo que mejora el
rendimiento cuando se crean vistas de datos.

43

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
creacin 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 tamao 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 dimensin que remite todos los miembros de la dimensin,
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 ms sencilla para que la base de datos la ejecute y se
logra un proceso ms veloz. Esta tcnica tambin podra usarse para optimizar libros de trabajo que
usen conexiones de datos basadas en una instruccin SQL personalizada.
Filtros rpidos
A pesar del nombre, demasiados filtros rpidos, en realidad, lo retrasarn, especialmente si los
configura para que usen "solo valores relevantes" y usted tiene muchas listas discretas. En lugar de
estos, pruebe un enfoque analtico ms 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 funcionaran mejor (pista: s, probablemente lo haran).

44

Enumerados vs. no enumerados


Los filtros rpidos 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 rpido pueda generarse. Entre estos
se incluyen:

lista de valores mltiples;


lista de valores individuales;
lista compacta;
barra deslizante;
filtros de medidas;
filtros por rango de fechas.

Por otro lado, los filtros rpidos no enumerados no requieren conocimiento de los valores de campo
posibles. Entre estos se incluyen:

lista de valores personalizada;


coincidencia de comodn;
filtros de fecha relativa;
filtros de fecha de perodo de navegacin.

En consecuencia, los filtros rpidos no enumerados reducen la cantidad de consultas relacionadas con
filtros rpidos que la fuente de datos debe ejecutar. Adems, los filtros rpidos no enumerados son ms
veloces cuando hay muchos miembros de dimensin para mostrar.
El uso de filtros rpidos 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 rpidos enumerados para que muestren los valores de campo posibles
de tres maneras diferentes:

Todos los valores de la base de datos: cuando selecciona esta opcin, 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 rpido vuelva a consultar la base de datos cuando hay otros filtros cargados.
Todos los valores en contexto: esta opcin solo est disponible cuando tiene filtros de contexto
activos. El filtro rpido mostrar todos los valores en el contexto (es decir, la tabla temporal generada
por el filtro de contexto), independientemente de los dems filtros de la vista. No hay necesidad de
que el filtro rpido vuelva a consultar la base de datos cuando hay otros filtros cargados.
Solo valores relevantes: cuando selecciona esta opcin, se consideran otros filtros y se muestran
solo los valores que pasan estos filtros. Por ejemplo, un filtro rpido por estado solo mostrar los
estados orientales cuando se haya configurado un filtro por regin. Por lo tanto, el filtro rpido
debe volver a consultar la fuente de datos cuando otros filtros cambian.

45

Como puede ver, la configuracin 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 interactan con el dashboard. Debe usarse con moderacin.
Alternativas a los filtros rpidos
Existen alternativas al uso de filtros rpidos que proporcionan un resultado analtico similar, pero lo
hacen sin la sobrecarga de consultas adicionales.
En lugar de exponer un filtro rpido a los usuarios, puede crear un parmetro y filtrar en funcin de las
selecciones de los usuarios.

PROS:

Los parmetros no requieren una consulta a la fuente de datos antes de la representacin.


Los parmetros, junto con los campos calculados, pueden implementar lgicas ms complejas
que las posibles con un filtro de campo simple.
Los parmetros se pueden usar para filtrar varias fuentes de datos (los filtros rpidos solo
operan dentro de una fuente de datos).

CONTRAS:

Los parmetros son valores nicos: no los puede usar si desea que el usuario seleccione varios
valores.
Los parmetros no son dinmicos: la lista de valores se define cuando estos se crean y no se
actualiza en funcin de los valores del DBMS.

Otra alternativa es usar acciones de filtro entre vistas:

PROS:

Las acciones admiten la seleccin de mltiples valores, usando lazos visuales o presionando
CTRL o SHIFT.
Las acciones muestran una lista dinmica de valores que se evala en el momento de ejecucin.
Las acciones se pueden usar para filtrar varias fuentes de datos (los filtros rpidos solo operan
dentro de una fuente de datos).

CONTRAS:

Las acciones de filtro son ms complejas de establecer que los filtros rpidos.
Las acciones no tienen la misma interfaz de usuario que los parmetros ni los filtros rpidos,
generalmente requieren ms espacio en la pantalla para mostrarse.
La hoja de origen de la accin an debe hacer las consultas a la fuente de datos, pero se
beneficia del almacenamiento en cach de la canalizacin de procesamiento de Tableau.

Para saber ms sobre las tcnicas de diseo alternativas que no dependen en gran medida de los filtros
rpidos, consulte la seccin anterior.

46

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 cachs 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 debern hacer consultas a la fuente de datos subyacente, incluso si
otra sesin de usuario acaba de hacer exactamente la misma consulta. Esto implica ms E/S de la
fuente de datos.
Se necesitar ms espacio en la memoria cach, ya que cada sesin de usuario crear sus propios
resultados de consulta y cach de modelos. En mquinas con mucha carga, esto puede resultar
en que se borren las memorias cach mientras estn en uso, lo que tambin implica ms E/S.

Consulte la seccin siguiente sobre el almacenamiento en cach de Tableau Server para conocer ms detalles.

47

Parte 4: Son los clculos?


En muchos casos, sus datos de origen no proporcionarn todos los campos que necesite para responder
todas sus consultas. Los campos calculados le ayudarn a crear todas las dimensiones y medidas
necesarias para su anlisis.
En un campo calculado puede definir una constante codificada de forma rgida (p. ej., tasa impositiva),
hacer operaciones matemticas muy simples como restas o multiplicaciones (p. ej., ingresos menos
costos), usar frmulas matemticas ms complejas, hacer pruebas de lgica (p. ej., IF/THEN, CASE),
hacer conversiones de tipo y mucho ms.
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 clculos diferentes en Tableau:

clculos bsicos;
clculos agregados;
clculos de tablas.

La Calculation Reference Library (Biblioteca de referencia de clculos) de Tableau es una excelente


referencia para aprender a realizar clculos complejos y contiene un foro donde los usuarios comparten
soluciones a problemas comunes:

http://community.tableausoftware.com/community/viz-talk/tableau-communitylibrary/calculation-reference-library

Clculos bsicos y agregados


Los clculos bsicos y los agregados se expresan como parte de la consulta que se enva 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 clculo de YEAR es bsico, y el de SUM(SALES) es agregado.


En general, los clculos bsicos y los agregados escalan muy bien, y existen muchas tcnicas de ajuste de
bases de datos que pueden emplearse para mejorar su rendimiento.

Clculos de tablas
Por otro lado, la base de datos no ejecuta los clculos de tablas, sino que lo hace Tableau en los resultados de
consulta que se presentan. Mientras que esto implica ms trabajo para Tableau, este trabajo suele realizarse
sobre un conjunto de registros mucho ms pequeo que el que se encuentra en la fuente de datos original.

48

Si tiene problemas con el rendimiento de los clculos de tablas (posiblemente porque el conjunto de
resultados que se presenta a Tableau es muy grande), considere enviar algunos aspectos de los clculos
a la capa de la fuente de datos. Una forma de hacerlo es mediante una extraccin de datos agregada.
Imagine que usted desea conocer el promedio semanal del total de ventas diarias en varias tiendas.
Puede hacerlo con un clculo de tablas usando:
WINDOW_AVG(SUM([Sales])

Sin embargo, si la cantidad de das o de tiendas es muy grande, este clculo puede ser lento. Para enviar
SUM([Sales]) a la capa de datos, cree una extraccin agregada que resuma la dimensin de fecha al nivel del da.
Luego, el clculo se puede hacer simplemente con AVG([Sales]), ya que la extraccin ya calcul los totales diarios.
Algunos clculos de tablas son muy costosos para realizarse en Tableau. De acuerdo con la siguiente
publicacin de Richard Leeke en un blog, para los populares clculos de tablas WINDOW_XXX y TOTAL, el
tiempo de ejecucin aumenta proporcionalmente al cuadrado del nmero de filas de la particin 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-catchmentanalysis-with-tableau-6-part-3.html

En esta publicacin, Richard ofrece algunas alternativas para limitar la cantidad de filas que procesa el
motor de clculo de tablas. Por ejemplo, el clculo 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!).

Clculos vs. caractersticas nativas


A veces, los usuarios crean campos calculados para llevar a cabo funciones que pueden realizarse
fcilmente con caractersticas 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 bsicas), pero considere usar las caractersticas nativas cuando lo sea. Usarlas suele
ser ms eficaz que hacer clculos manuales, y, a medida que nuestros desarrolladores continen
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 clculos. Como regla general:

Los enteros son ms rpidos que los booleanos, y ambos son mucho ms rpidos que las cadenas.

49

Los clculos de cadenas son muy lentos, suele haber 10-100 instrucciones bsicas que deben ejecutarse
para cada clculo. En comparacin, los clculos numricos y los booleanos son muy eficaces.
Estas afirmaciones no solo son verdaderas para el motor de clculo de Tableau, sino que lo son para la
mayora de las bases de datos. Como los clculos bsicos y los agregados se envan a la base de datos, si
se expresan de manera numrica, en vez de con la lgica de cadenas, se ejecutarn mucho ms rpido.

Tcnicas de rendimiento
Considere las siguientes tcnicas para garantizar que sus clculos sean lo ms eficaces posible:
Uso de booleanos para clculos de lgica bsica
Si tiene un clculo que produce un resultado binario (p. ej., s/no,
aprobado/reprobado, arriba/abajo), asegrese 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 ms rpida de hacer lo mismo sera con un booleano:
[Date]=Today()

Despus, use alias para renombrar los resultados TRUE y FALSE como "Today" (hoy) y "Not today" (no hoy).
Bsqueda de cadenas
Imagine que desea poder mostrar todos los registros en los que el nombre del producto contenga
alguna cadena de bsqueda. Puede usar un parmetro para obtener la cadena de bsqueda del usuario
y, despus, crear el siguiente campo calculado:
IF FIND([Product Name],[Product Lookup])>0 THEN [Product Name] ELSE NULL END

Este clculo es lento y constituye una forma ineficaz de evaluar la relacin de contencin. Una mejor
manera de hacer esto sera usar la funcin especfica 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 solucin sera no usar un campo calculado en absoluto, sino usar un
filtro rpido de concordancia con carcter comodn.
Parmetros para clculos condicionales
Una tcnica popular en Tableau es proporcionar al usuario final un parmetro para que pueda
seleccionar un valor que determinar cmo se realiza un clculo. Normalmente queremos darle al
usuario opciones fciles de entender, por lo que creamos el parmetro como un tipo de cadena. Como
hemos mencionado, los clculos numricos son mucho ms rpidos que los clculos con cadenas, as
que aproveche la funcin "mostrar como" de los parmetros para mostrar etiquetas de texto, pero
tenga valores enteros subyacentes para la lgica de clculo.
Como ejemplo, imagine que desea permitir al usuario final controlar el nivel de agregacin de fecha que
se muestra en la vista mediante la seleccin a partir de una lista de valores posibles. Muchas personas
crearan un parmetro de cadena:

50

Valor
Ao
Trimestre
Mes
Semana
Da

Mostrar como
Ao
Trimestre
Mes
Semana
Da

Luego, lo usaran en un clculo 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 parmetro ms eficaz sera del tipo entero con etiquetas de texto, como este:
Valor
1
2
3
4
5

Mostrar como
Ao
Trimestre
Mes
Semana
Da

Entonces, el clculo sera del siguiente modo (note que las comparaciones son numricas 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 especfico, existe una manera incluso ms rpida de hacer el
clculo. Usando el parmetro original basado en cadena, cree el clculo as:
DATEPART([Parameters].[Date Part Picker], [Order Date]))

Esto evita todos los elementos de lgica condicional y nos permite simplemente sustituir la cadena
DATEPART directamente en el clculo. Esto da como resultado el SQL ms ptimo de todas las opciones.
Conversin de fechas
Frecuentemente los usuarios tienen datos de fechas que no estn almacenados en formato de fecha
nativo, por ejemplo, pueden ser cadenas o marcas de tiempo numricas. En Tableau 8.1, se introdujo
una nueva funcin, DateParse(), para facilitar estas conversiones en gran medida. Ahora, simplemente
puede ingresar una cadena de formato:
DATEPARSE(yyyyMMdd, [YYYYMMDD])

51

Tenga en cuenta que, en Tableau 8.1, DateParse() solo se admite en un subconjunto de fuentes de datos:

MySQL;
Oracle;
PostgreSQL;
extraccin de datos de Tableau.

Si DateParse() no se admite para su fuente de datos, una tcnica alternativa de conversin 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 internacionalizacin) y, despus, incluirlo en la funcin DATE().
Si los datos originales son campos numricos, la conversin a una cadena y, despus, a una fecha es muy
ineficaz. Es mucho mejor mantener los datos en formato numrico y usar DATEADD() y los valores
literales de fechas para hacer el clculo.
Por ejemplo, un clculo lento podra ser convertir un campo numrico con formato ISO:
DATE(LEFT(STR([YYYYMMDD]),4)
+ - + MID(STR([YYYYMMDD]),4,2)
+ - + RIGHT(STR([YYYYMMDD]),2))

Una forma mucho ms eficaz de hacer este clculo 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 ms de mil millones de registros, el primer clculo 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 clculos con nivel
de fecha.
Declaraciones lgicas
Cuando trabaje con declaraciones lgicas complejas, recuerde:

ELSEIF > ELSE IF

Esto sucede porque un IF anidado procesa una segunda declaracin 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

52

se ejecutara mucho ms rpido 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 an ms 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 lgica redundante. El siguiente clculo:


IF [Sales] < 10 Then "Bad"
Elseif [Sales]>= 10 and [Sales] < 30 Then "OK"
Elseif [Sales] >= 30 then "Great"
END

sera ms eficaz as:


IF [Sales] < 10 Then "Bad"
Elseif [Sales] >= 30 then "Great"
else "OK"
END

Separacin de clculos bsicos y agregados


Cuando use extracciones y agregaciones personalizadas, divida el clculo en mltiples partes. Coloque los
clculos del nivel de fila en un campo calculado y el clculo agregado en un segundo campo calculado.
Luego, las extracciones pueden optimizar (preprocesar y materializar) los clculos del nivel de fila.

53

Parte 5: Es una cuestin 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 seccin identifica reas en las que las divergencias entre situaciones de uno o ms 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 edicin 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 ms RAM, y nuestras pruebas comparativas iniciales indican que la versin de
64 bits de Tableau escala notoriamente mejor que la versin de 32 bits.
Se recomienda fervientemente a los clientes que actualicen su instalacin de Tableau Server a la
versin 8.1 o versiones posteriores e implementen Tableau Server de 64 bits.
Agregue ms ncleos y memoria
Independientemente de si ejecuta Tableau Server en una mquina o en varias, la regla general es que
ms ncleos de CPU y ms RAM le brindarn mejor rendimiento. Asegrese de cumplir los requisitos
recomendados de hardware y software de Tableau Server y consulte Cundo agregar trabajadores y
reconfigurar para evaluar si debe agregar mquinas 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 realizacin de una seleccin, el filtrado de la vista y
la modificacin de pestaas. El siguiente documento describe esas pruebas y presenta tcnicas para
mejorar el rendimiento de Tableau Server.

http://www.tableausoftware.com/es-es/learn/whitepapers/tableau-server-scalability-explained

Configuracin
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 actualizacin vigentes. Si puede programar actualizaciones para los horarios de
bajo consumo, hgalo. Si su configuracin de hardware lo permite, tambin puede trasladar los
procesos del componente de segundo plano a un nodo de trabajo dedicado.
Compruebe el lmite de tiempo de espera de la sesin VizQL
El lmite predeterminado de tiempo de espera de la sesin VizQL es de 30 minutos. Aunque la sesin
VizQL est inactiva, an consume memoria y ciclos de CPU. Si puede arreglarse con un lmite inferior,
use tabadmin para cambiar la configuracin de vizqlserver.session.expiry.timeout.

54

Evale su configuracin de proceso


Tableau Server se divide en seis componentes diferentes llamados procesos del servidor. Aunque la
configuracin predeterminada se dise para que funcione en un amplio rango de situaciones, usted
puede modificarla para lograr diferentes objetivos de rendimiento. Especficamente, puede controlar en
qu mquinas se ejecutan los procesos y cuntos procesos se ejecutan. Consulte Mejorar el rendimiento
del servidor para conocer las pautas para las implementaciones de una, dos y tres mquinas.

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 Anlisis en la pgina Mantenimiento del servidor:

Puede encontrar ms informacin sobre estas vistas en el siguiente enlace:

http://onlinehelp.tableausoftware.com/current/server/es-es/adminview.htm

Adems, puede crear vistas administrativas personalizadas conectndose 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
rpida, 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 diseadas para maximizar la reutilizacin de
datos y clculos para mltiples solicitudes de usuarios:

55

Renderizacin 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 renderizacin del lado del cliente es el modo predeterminado porque
manejar la representacin y todas las interacciones en el servidor puede conducir a ms transferencias
de datos en la red y retrasos de recorrido de ida y vuelta. Con la renderizacin del lado del cliente, la
mayora de las interacciones con la vista son ms rpidas porque se interpretan y generan en el cliente.
Sin embargo, algunas vistas se generan con mayor eficacia en el servidor, donde hay ms poder de
procesamiento. La renderizacin del lado del servidor tiene sentido para vistas complejas hasta el punto
en que los archivos de imgenes consumen significativamente menos ancho de banda que los datos
usados para crear esas imgenes. Tambin, como las tablets suelen tener un rendimiento mucho ms
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 automticamente todas estas situaciones con el clculo
del umbral como desencadenador de la renderizacin de la vista en el servidor, en vez de en el
navegador web. Como administrador, usted puede probar o ajustar esta configuracin, tanto para
computadoras como para tablets. Consulte los temas a continuacin para obtener ms informacin.
Puede determinar esto en cualquier momento agregando lo siguiente a la URL de la vista. Se mostrar
una pequea "S" o "B" en la barra de herramientas de la vista para indicar el modo de renderizacin:

?:jsdebug=true

56

Tambin puede activar y desactivar la renderizacin del lado del cliente con los siguientes parmetros
de URL:

Desactivar = ?:render=false
Activar = ?:render=true

La renderizacin 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 renderizacin del lado del cliente. Adems, si una vista usa polgonos, formas personalizadas
o la caracterstica de historial de pgina, se lleva a cabo renderizacin del lado del servidor, incluso si la
renderizacin del lado del cliente tambin est habilitada.
Cach de mosaicos de imagen
Si no se usa la renderizacin del lado del cliente, Tableau tiene tres capas de renderizacin en el servidor
que pueden ayudar a mejorar los tiempos de generacin 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 reutilizacin del contenido de esta memoria cach es la clase ms
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 tamao que el almacenado en cach previamente,
esto puede ocurrir si las dos ventanas de navegacin del cliente son exactamente del mismo
tamao o si el dashboard se dise con una configuracin de tamao exacto.

La memoria cach de mosaicos de imagen est basada en el disco, y su gestin est a cargo del servicio
de puerta de enlace. Hay una mquina 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 imgenes solicitadas. Para hacerlo, es posible que sea capaz de usar todos los clculos previos: los
campos calculados, los clculos de tablas, las lneas de referencia, las lneas 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 parmetros y los clculos dinmicos son
los mismos.
Los clculos no tuvieron cambios: no se produjeron cambios en las lneas de referencia, las lneas
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.

57

Cach de resultados de consulta


Si no podemos usar la memoria cach del modelo, quizs sea posible hacer todos los clculos necesarios
con datos que ya se hayan ledo de la fuente de datos y estn 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 ningn
campo, por ejemplo, mediante un campo calculado dinmico.
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.
Maximizacin del uso de memoria cach
Como se analiz antes, lo ms eficaz que puede hacer un diseador de libros de trabajo para garantizar
la reutilizacin de la memoria cach de mosaicos de imagen y del modelo es configurar la regla de
tamao del dashboard como "tamao exacto".
Ajuste de memorias cach
A nivel macroscpico, se puede seleccionar una de tres configuraciones posibles de rendimiento de la
memoria cach en Tableau Server mediante la utilidad de configuracin de Tableau Server.
Minimizador de
consultas

Equilibrado

Ms actualizado

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 explcitamente.
La memoria cach se almacena en memoria; cuando la memoria se llena,
la memoria cach comienza a eliminar los elementos ms antiguos.
Todos los servidores almacenan en cach los modelos y los datos, como
mximo, durante la cantidad de minutos especificada.
Las solicitudes obtienen datos almacenados en la memoria cach que,
como mximo, tiene una cantidad conocida de minutos de antigedad.
Los servidores no almacenan modelos ni datos en la memoria cach.
Las solicitudes obtienen los datos ms nuevos de la fuente de datos.
Esta opcin representa una carga mucho ms pesada sobre los servidores.

58

Es posible forzar a Tableau a eludir todas las memorias cach y forzar una consulta de la fuente de datos
agregando el parmetro "?:refresh=yes" a la URL de la vista. Por ejemplo:

http://demoapac.tableausoftware.com/views/NewWaveDashboard/ExecutiveDashboard?:refresh=yes

Los administradores de Tableau Server tambin pueden ajustar el tamao de la memoria cach del
modelo y de los resultados de consulta. Estas configuraciones se cambian con la herramienta de lnea 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 visualizacin en el libro de trabajo.

Cach de
consultas

vizqlserver.querycachesize:64;
el tamao en megabytes de los resultados de consulta para almacenar en
la memoria cach.

Visite el siguiente enlace para obtener ms informacin:

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; asegrese de contar con suficiente memoria en su mquina con Tableau
Server para admitir estos cambios.

59

Parte 6: Hay otros factores que considerar?


La ltima seccin trata sobre otros factores que, en muchos casos, son ms difciles de alterar. Por
ejemplo, la eleccin 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
aplicacin completa es de 64 bits, lo que significa que puede usar ms de 3,2 GB de RAM y nos permite
lidiar con consultas mucho ms grandes y generar muchas ms marcas de datos. Esto tiene un gran
impacto en situaciones en la que se hacen combinaciones en campos de mucha cardinalidad o, quizs,
se trata de generar (a falta de un buen consejo) una tabulacin cruzada muy grande. En sentido prctico,
esto constituy una gran ventaja para los clientes que generan una gran cantidad de marcas de datos,
por ejemplo, polgonos geogrficos personalizados.
Ms RAM, CPU ms rpida
Al igual que la mayora de las aplicaciones, Tableau se beneficiar de contar con ms RAM y una CPU
ms rpida. Algunas de las acciones que Tableau realiza son de multiproceso (p. ej., crear o actualizar
extracciones de datos), de modo que tambin se beneficiar de contar con ms ncleos.
SSD vs. disco giratorio
Algunas acciones de Tableau implican muchas E/S (p. ej., la carga, la creacin y la actualizacin de
extracciones de datos) y se beneficiaran del uso de SSD, en lugar de discos giratorios.
Interfaz de red ms rpida
Si los datos son remotos con respecto a la estacin 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 ms rpida y de una
conexin de red con latencia baja.
Eleccin del navegador
Tableau hace uso intensivo de JavaScript, de modo que la velocidad del intrprete de JavaScript del
navegador afecta la velocidad de la renderizacin. Es una competencia reida 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 recomendacin se basa en las cifras informadas aqu:

http://www.zdnet.com/the-big-browser-benchmark-january-2013-edition_p2-7000009776/

60

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 propsito y, por lo general, en el rendimiento tambin. Debido a estas diferencias, Tableau optimiz las conexiones
y las funcionalidades para sacar el mayor provecho de cada tipo de conexin.
En general, los cubos cuentan con una agregacin previa y una estructura. Las fuentes de datos relacionales suelen ser desagregadas y menos
estructuradas. La gran mayora de las funcionalidades de Tableau son idnticas para ambos tipos de fuentes de datos.
Caractersticas
especficas

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 lgica 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.

Las fuentes de datos relacionales tienen la capacidad de


definir la seguridad en el nivel del usuario. Usted no necesita
redefinir esta lgica en Tableau. Si su base de datos no tiene
esta lgica, puede definirla en Tableau.

SEGURIDAD
SEGURIDAD
Combinacin de datos

Anlisis de conjuntos

En toda organizacin hay datos en cubos y datos que no estn


en los cubos. Tableau permite a los usuarios combinar
fcilmente datos relacionales con datos en cubos, sin mover
los datos ni modelarlos en los cubos.

La combinacin de datos funciona con bases de datos


relacionales, mltiples 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.

COMBINACIN DE DATOS

COMBINACIN DE DATOS

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 dinmico y
dimensional en Tableau.

Los conjuntos permiten almacenar intersecciones


dimensionales de datos. Cuando usa una fuente de datos
relacional, usted puede crear conjuntos de datos similares a
cubos.

CONJUNTO JERRQUICO

CONJUNTOS

61

Caractersticas
especficas

Cubos

Relacionales

Funciones de clculo
agregadas

Las agregaciones se hacen con antelacin en un cubo, y


Tableau responde con el conjunto de agregacin en el cubo.
Este es uno de los principales beneficios de rendimiento de
los cubos.

Normalmente, no se hacen agregaciones con antelacin en


bases de datos relacionales. Entonces, Tableau permite al
usuario seleccionar la agregacin en Tableau, y la base de
datos ejecuta la agregacin a pedido.

"Grupos" de Tableau

Generalmente el desarrollador define las agrupaciones,


que se calculan con antelacin, en el cubo. Esto da como
resultado la estructura estndar con una ventaja de
rendimiento. Puede hacer agrupaciones con MDX sencillo:

Las agrupaciones no suelen modelarse con antelacin en


las bases de datos relacionales. Sin embargo, Tableau le
proporciona la capacidad de crear grupos sobre la marcha en
cualquier momento de su anlisis.

CREAR GRUPOS
[Customer].[CustomerGeography].[France]
+
[Customer].[CustomerGeography].[Germany]
"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 definicin
comn para las agrupaciones. Los usuarios pueden crear
o modificar agrupaciones en Tableau con MDX sencillo:
str(INT(([Internet Sales Amount] / [Bin Size])) * [Bin Size])

Manipulacin de
cadenas

Con frecuencia, las manipulaciones de cadenas no se hacen


con antelacin en los cubos. Estas pueden hacerse en
Tableau mediante MDX sencillo:
LEFT([Product].[Product
Categories].DataMember.MemberValue,LEN([Product].[Prod
uct Categories].DataMember.MemberValue)-5)

62

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
Cuando se conecta a fuentes de datos relacionales, puede
lograr la manipulacin de cadenas directamente en Tableau
con campos calculados. Esto puede resultar til cuando se
cambia el caso, se crean cdigos postales zip 5 a partir de
zip 5+4 y muchas otras manipulaciones.

FUNCIONES DE CADENA

Caractersticas
especficas

Cubos

Relacionales

Tipos de datos

Los tipos de datos (p. ej., cadena, fecha, nmero) y los roles
(dimensin y medida) se definen explcitamente en el cubo.
Esto garantiza que los atributos y las agregaciones con
antelacin aparezcan en las ventanas adecuadas de Tableau.

Tableau detectar automticamente el tipo de columna de las


columnas de las bases de datos relacionales. Esto limita la
cantidad de manipulacin 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 informacin


que permita saber dentro de qu grupos de KPI entra cierto
miembro. Tambin puede crear KPI umbrales directamente
en Tableau con un clculo o un parmetro sencillos:

En una base de datos relacional, puede crear clculos de KPI


muy rpido con campos calculados sencillos.

CLCULOS DE KPI

[Internet Sales Amount] >= [Desired Sales]


Acciones

Las acciones de Tableau son completamente compatibles con


los cubos. Tambin funcionan desde un cubo hacia fuentes
relacionales en el mismo libro de trabajo. Las acciones
basadas en cubos no se admiten en Tableau.

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.

ACCIONES
Jerarquas

Esta es una de las ventajas claves de usar Tableau con cubos.


Tableau tambin admite explorar en profundidad de manera
asimtrica o desigual a travs de la jerarqua.

Las bases de datos relacionales no tienen jerarquas integradas,


pero Tableau permite crearlas fcilmente sobre la marcha.

CREACIN DE JERARQUAS
Filtros rpidos

Cuando est conectado a un cubo, podr ver filtros rpidos


como parte de la jerarqua, y su estructura est expuesta.
Puede filtrar en mltiples niveles de una jerarqua. Si tiene un
solo atributo, puede evitar la vista estructurada y tener una
jerarqua de un solo nivel.

63

En las bases de datos relacionales, los filtros rpidos se


muestran en un nico nivel, sin estructura. Usted puede
incluir estos filtros rpidos en las visualizaciones y el
dashboard con un solo clic derecho.

Caractersticas
especficas

Cubos

Relacionales

Extracciones

Los cubos, con su naturaleza de agregacin con antelacin,


son inherentemente rpidos y no requieren extracciones.

Con frecuencia, las bases de datos relacionales pueden ser


lentas. Tableau ofrece su motor de datos rpido como
mtodo para posibilitar un funcionamiento extremadamente
rpido para los datos relacionales. Tableau brinda la opcin
de conectarse en vivo o extraer los datos.

Alias

El uso de nombres cortos de empresas es algo comn 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 dimensin. Esto es til cuando quiere hacer una
agrupacin 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 nmeros se muestren
correctamente sin intervencin alguna del usuario.

Normalmente, las fuentes de datos relacionales no tienen


ningn 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
dimensin. Esto asegura que cuando use atributos, sus
miembros se muestren siempre en el orden correcto.
Esto es til cuando existen formatos no estndares.

La definicin 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 segn 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 ao fiscal o ingresar
clculos de fechas que imiten el calendario 4-4-5 o el de
ventas al por menor.

64

You might also like