Al afrontar un proyecto en Power BI, habitualmente surgen dudas sobre cómo tenerlo en varios idiomas. Este post propone una solución para traducir los informes dependiendo del idioma predeterminado del usuario.
¡Comenzamos!
Power BI ofrece diversas formas de aplicar soluciones multi-idioma. Suelen emplearse métodos que distinguen las traducciones entre metadatos, datos y etiquetas. En este artículo se muestran soluciones para los tres tipos mencionados, obteniendo como resultado un informe traducido a tantos idiomas como requiera el usuario.
Power BI ofrece una serie de funciones que facilitan la creación de informes multi-idioma, lo que es fundamental para empresas y organizaciones con audiencias globales. Con Power BI, puedes crear informes que se adapten dinámicamente al idioma del cliente, lo que mejora la experiencia de usuario y la accesibilidad de los datos. Esto se puede lograr a través de diversas técnicas, como el uso de parámetros o medidas. Además, Power BI permite la integración de traducciones externas a través de la herramienta Translations Builder, lo que facilita la creación de informes en múltiples idiomas sin tener que duplicar el trabajo de diseño.
Ahora bien, si se pretende ahondar en el tema, es necesario diferenciar entre tres tipos de traducciones:
- Traducciones de metadatos.
- Traducciones de etiquetas.
- Traducciones de datos.
Traducciones de metadatos
En cuanto a estas traducciones, se debe tener en cuenta que los tipos de objetos que admiten traducción de metadatos son los siguientes: tablas, columnas, medidas, jerarquías y niveles de jerarquías.
Esta parte es la más fácil de realizar, dado que aprovecharemos las funciones de una herramienta externa llamada Translations Builder, para generar las traducciones que necesitemos. No obstante, un aspecto importante para tener en cuenta es que no se suele traducir únicamente los metadatos, sino que los informes requerirán de una o más traducciones complementarias que iremos viendo a lo largo del artículo.
Ahora bien, para saber cómo implementar esta herramienta, vamos a ver en qué consiste.
Translations Builder es una herramienta dentro de Power BI que simplifica y agiliza el proceso de traducción de informes y dashboards a múltiples idiomas. Su funcionamiento se basa en la capacidad de definir un idioma principal para el informe y luego agregar traducciones para cada elemento de la interfaz de usuario. Para ello, propone un sistema de cuadrícula de traducciones similar a una hoja de Excel, en el que el usuario puede visualizar, añadir o editar las casillas que necesite.
Figura 1: Conexión por defecto de Translations Builder al modelo.
Dado que dicha herramienta establece una conexión con nuestro conjunto de datos, en el momento en el que la iniciemos por primera vez en nuestro proyecto Power BI, se generará de forma automática una cuadrícula cuyo contenido será una fila por cada tabla, columna y medida que no esté oculta en nuestro modelo.
Además, tendremos cuatro columnas predeterminadas que tienen el siguiente patrón:
– Columna 1: Tipo de Objeto. Indica si es tabla, columna o medida.
– Columna 2: Propiedad. Indica si es Caption, Description o DisplayFolder.
– Columna 3: Nombre. Indica el nombre de la tabla, columna o medida.
– Columna 4. Idioma[xx-XX]. Muestra las traducciones de los campos con el idioma predeterminado que tenga Power BI Desktop en la configuración regional.
Una vez tenemos la cuadrícula generada por defecto, podremos ir añadiendo los idiomas que queramos en la opción “Add Language”. De esta forma, se crea una columna adicional del idioma seleccionado, teniendo que rellenar las casillas como si de una hoja de Excel se tratase.
Figura 2: Inserción a mano de las traducciones.
Puesto que esto puede suponer un trabajo tedioso, se recomienda jugar con las importaciones y exportaciones de las denominadas hojas de traducción, un archivo CSV exportado del propio Translations Builder que se debe enviar a una persona responsable de hacer las traducciones pertinentes a mano, para luego importarlas de vuelta al modelo. El flujo sería el siguiente:
- Conecto Translations Builder a mi modelo.
- Exporto la tabla generada automáticamente a un archivo CSV mediante la opción “Export All Translations”.
Figura 3: Función para exportar datos a Excel desde Translations Builder.
3. Una persona añade en el propio Excel columnas con las traducciones necesarias.
Figura 4: Archivo CSV exportado y separado en columnas.
4. Importante convertir el archivo con todas las filas ya traducidas a un CSV delimitado por comas para importar en el Translations Builder con la opción “Import Translations”.
Figura 5: Archivo exportado ya traducido convertido a CSV delimitado por comas.
Figura 6: Función de importación en Translations Builder.
Traducciones de Etiquetas
A la hora de poner títulos, subtítulos o cualquier texto descriptivo, se recomienda el uso de las etiquetas que brinda Power BI. De esta forma, será mucho más fácil traducirlos que si se emplease un cuadro de texto literal para escribir.
En este apartado, gracias a las medidas y mediante la ayuda de la función DAX USERCULTURE, podremos traducir nuestros títulos/subtítulos dinámicamente.
Dicha función será esencial ya que devuelve el nombre de la cultura utilizada por el usuario que se hace la petición, es decir, si tu idioma está configurado al inglés, la función te devolverá la página traducida al inglés.
Veamos un ejemplo de una medida usando este método.
La función SWITCH aplica el cambio dependiendo del valor que venga informado a la función USERCULTURE, por lo que si se detecta que el idioma configurado del usuario que realiza la petición es “fr-FR”, a ese usuario le aparecerá “Titre” en la etiqueta empleada.
Para ello, una vez tenemos la medida de la traducción, creamos una etiqueta normal de Power BI, y en las propiedades del diseño activamos “Título”. Dejando la casilla en blanco, pincharemos en “fx” para añadirle una función, que será un valor de campo basado en la medida que hemos creado para traducirlo, “Titulo Etiqueta”.
Figura 7: Formato con título y aplicación de la función.
Figura 8: Función título aplicada a la medida traducida creada “TraduccionEtiqueta”.
Evidentemente, esto nos requiere de generar una medida para cada etiqueta que queramos tener traducida en el informe.
Traducciones de datos
En el caso de que nuestros datos necesiten también de una traducción, debemos optar por los llamados “Parámetros de campo”.
Los parámetros de campo en Power BI son herramientas que permiten a los usuarios ajustar dinámicamente los datos que se muestran en un informe. Funcionan como filtros variables que pueden cambiar el contenido del informe según las preferencias del usuario sin necesidad de modificar directamente el conjunto de datos subyacente.
Ahora bien, este método nos exige tener en una misma tabla, tantas columnas con sus valores de campo traducidos como idiomas queramos tener en nuestro informe para que, a la hora de crear el parámetro de campo, agrupemos todas las columnas ya traducidas.
Figura 9: Origen de datos con valores ya traducidos.
Una vez tenemos el parámetro creado, le añadiremos a mano una columna con un código que utilizaremos en el punto posterior para tener un filtro más limpio.
Figura 10: DAX generado por el Parámetro de campo. En azul el código implementado a mano.
Generación de tabla auxiliar para seleccionar el idioma.
Para que en el informe nos aparezca un filtro limpio donde nos presente las opciones de idiomas que tenemos a elegir, debemos crear en nuestro modelo una tabla auxiliar que ligaremos al parámetro de campo.
Figura 11: Tabla auxiliar de Idiomas.
Tras esto, ligaremos el ID de nuestra tabla auxiliar “LanguageId” con el código insertado a mano de nuestra expresión DAX del parámetro de campo.
De esta forma, podremos traer al informe los valores de la tabla “Idiomas” consiguiendo una visión más limpia que filtre nuestros datos.
Figura 12: Filtro de Idiomas.
Conclusión
En resumen, Power BI nos ofrece diversas formas para aplicar traducciones. Gracias a las tres distinciones que hemos visto a lo largo de este artículo, podremos crear un informe multi-idioma, siendo capaces de jugar y moldear a nuestro parecer los datos a traducir y/o los idiomas a incluir.