Proyecto con contenido multi-lenguaje

Como todos sabemos, normalmente cualquier herramienta de BI tiene la opción de convertir un proyecto en multi-lenguaje, pero solo a nivel de interfaz y de continente, lógicamente, no de contenido. En esta ocasión vamos a ver como podemos modelar nuestra base de datos para convertir nuestro proyecto en un proyecto con contenido multi-lenguaje.

Let’s go…

Lo primero es mostraros nuestro sencillo modelo de datos para este ejemplo y explicar, de manera ligera, algunos detalles de nuestras tablas para facilitar la compresión.

  • FT_ME_PE
    Es nuestra tabla de hechos principal (y, en este ejemplo, única).
  • LU_ITEM
    Tabla de lookup para traducir los Items.
  • LU_NOTA_DESCRIPTIVA
    Tabla de lookup para traducir las notas_descriptivas (hijas de item)
  • LU_LANG
    Tabla de lookup para traducir por idioma.

Como podéis ver, nuestras dos tablas de lookup (item y nota descriptiva) tienen el campo ID_LANG para relacionarla con la lookup de idioma. Y, más importante si cabe, nuestra tabla de hechos NO tiene ID_LANG. Y esto es así, porque en este modelo delegamos la traducción por idioma en la lookup de idioma.

Si analizamos el contenido de cada tabla, vemos que Item y Nota Descriptiva tienen sus elementos repetidos por idioma de tal manera que, por ejemplo, en LU_ITEM tendríamos el registro “2. GESTIÓN DE PROTOCOLOS” y su homónimo en ingles “2. PROCEDURES COMPLIANCE” y lo mismo en la tabla de notas descriptivas.

Con este modelo así configurado, solo nos quedaría en nuestro sistema de BI (en nuestro caso Microstrategy) crear un atributo que haga referencia a la lookup de idioma, hacer un filtro a partir de éste y añadirlo en todas las cuadriculas, de tal manera que el usuario deba elegir un idioma u otro antes de entrar en el informe.

multi-08

Así conseguiremos, al seleccionar uno de los idiomas, que la query que Microstrategy ejecuta, tenga el ID_LANG del idioma seleccionado y filtre los resultados obtenidos del cruce con las tablas de lookup.

Os dejo el resultado

GIF

 

Espero que os sirva de ayuda 😉

Sergio Martín
Más de seis años de experiencia gestionando equipos y proyectos de Business Intelligence para diferentes sectores, apasionado de todos los procesos técnicos relacionados con la gestión de la información, el tratamiento de datos y la automatización de procesos

** Microstrategy 9.4 | Pentaho 5 (ETL) | Oracle 11g **

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *