Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Para cargar informes de varios idiomas en el idioma del usuario, puede usar marcadores o insertar informes.
Uso de marcadores para seleccionar un idioma
Si tiene previsto publicar un informe de Power BI con las traducciones de datos al que los usuarios accedan mediante el servicio Power BI, debe cargar el informe con el idioma correcto para el usuario actual. Cree un conjunto de marcadores que apliquen filtros a la tabla Languages (Idiomas).
Cree un marcador independiente para cada idioma que admita las traducciones de datos.
Deshabilite Mostrar y Página actual y habilite solo el comportamiento de los datos.
Para aplicar el marcador de un idioma específico, proporcione un segundo parámetro en la dirección URL del informe.
?language=es&bookmarkGuid=Bookmark856920573e02a8ab1c2a
Este parámetro de dirección URL del informe se denomina bookmarkGuid. El filtrado de la tabla Languages (Idiomas) se aplica antes de que se muestren los datos al usuario.
Inserción de informes que implementan traducciones de datos
Cargar informes con la inserción de Power BI brinda más flexibilidad que el proceso de carga de informes para los usuarios que acceden al informe mediante el servicio Power BI. Puede cargar un informe con un idioma y una configuración regional específicos si extiende el objeto config
que se pasa a powerbi.embed
con un objeto localeSettings
que contiene una propiedad language
.
let config = {
type: "report",
id: reportId,
embedUrl: embedUrl,
accessToken: embedToken,
tokenType: models.TokenType.Embed,
localeSettings: { language: "de-DE" }
};
// embed report using config object
let report = powerbi.embed(reportContainer, config);
Al insertar un informe con un objeto config como este, que establece la propiedad language del objeto localeSettings, las traducciones de metadatos y las traducciones de etiquetas de informes funcionan según lo previsto. Sin embargo, queda un paso más para filtrar la tabla Languages (Idiomas) para seleccionar el idioma adecuado para el usuario actual.
Es posible aplicar un marcador a un informe insertado. En su lugar, puede aplicar un filtro directamente en la tabla Languages (Idiomas) a medida que el informe se carga mediante la API de JavaScript de Power BI. No es necesario agregar marcadores para filtrar la tabla Languages (Idiomas) si solo va a usar un informe mediante la inserción de Power BI.
Para aplicar un filtrado durante el proceso de carga de un informe insertado, registre un controlador de eventos para el evento loaded
. Al registrar un controlador de eventos para el evento loaded
de un informe insertado, puede proporcionar un controlador de eventos de JavaScript que se ejecute antes de que comience el proceso de representación. Este enfoque hace que el evento loaded
sea el lugar ideal para registrar un controlador de eventos cuyo propósito es aplicar el filtrado correcto en la tabla Languages (Idiomas).
Este es un ejemplo de código JavaScript que registra un controlador de eventos para que el evento loaded
aplique un filtro a la tabla Languages (Idiomas) para español.
let report = powerbi.embed(reportContainer, config);
report.on("loaded", async (event: any) => {
// let's filter data translations for Spanish
let languageToLoad = "es";
// create filter object
const filters = [{
$schema: "http://powerbi.comproduct/schema#basic",
target: { table: "Languages",
column: "LanguageId"
},
operator: "In",
values: [ languageToLoad ], // <- Filter based on Spanish
filterType: models.FilterType.Basic,
requireSingleSelection: true
}];
// call updateFilters and pass filter object to set data translations to Spanish
await report.updateFilters(models.FiltersOperations.Replace, filters);
});
Sugerencia
Al establecer los filtros con la API de JavaScript de Power BI, es preferible el método updateFilters
sobre el método setFilters
. El método updateFilters
permite quitar filtros existentes mientras que setFilters
no lo permite.