Pues bien, Tableau nos permite trabajar con modelos normalizados o desnormalizados. Pongamos un sencillo ejemplo. Supongamos que nuestro conjunto de datos está formado por dos tablas, una tabla de ventas (tabla de hechos):
...y una tabla de categorías (tabla de dimensiones):
Vemos que hay un campo común a ambas tablas, el campo Id. Categoría, que nos permite enlazar ambas tablas y, gracias a esto, saber, por ejemplo, que la primera venta (de 150 €) hace referencia a un producto de hardware (cuyo identificador de categoría es 1).
El modelo de datos normalizado sería el siguiente:
Es decir, dos tablas relacionadas a través de un campo común, el campo Id. Categoría.
El modelo de datos "desnormalizado" estaría formado por una única tabla. Éste sería su esquema:
Y ésta la tabla resultante:
Esta "desnormalización" se realiza mediante una operación que, en español, podemos denominar "combinación" y que en inglés se conoce como "join", operación bastante costosa -en términos de recursos-. Es este coste el que lleva a los sistemas de gestión de bases de datos orientadas al análisis a ejecutar los "joins" antes incluso de que se necesiten y a mantenerlos en memoria para su uso posterior, en contraposición al modelo opuesto que ejecutaría cada join sobre la marcha cuando fuese necesario y los eliminaría de la memoria una vez usados para el fin para el que fueron concebidos.