Använda nationella värden i Power BI-rapporter med flera språk
Varje rapport som läses in i Power BI-tjänst initieras med en användarkontext som identifierar ett språk och en geografisk region som kallas språkvariant. I de flesta fall identifierar ett språk ett land/en region. Power BI-tjänst spårar kombinationen av användarens språk och nationella inställningar med hjälp av ett kulturnamn.
Ett kulturnamn är vanligtvis en gemen språkidentifierare och en språkidentifierare för versaler avgränsade med bindestreck. Kulturnamnet en-US
identifierar en användare i USA som talar engelska. Ett kulturnamn es-ES
identifierar en användare i Spanien som talar spanska. Ett kulturnamn fr-FR
identifierar en användare i Frankrike som talar franska. Ett kulturnamn de-DE
identifierar en användare i Tyskland som talar tyska.
USERCULTURE | Språk | Nationella inställningar |
---|---|---|
en-US | English | USA |
es-ES | Spanska | Spanien |
fr-FR | Franska | Frankrike |
de-DE | Tyska | Tyskland |
Kommentar
I vissa fall innehåller ett kulturnamn även annan information. Det finns till exempel två olika kulturnamn för språket serbiska i Serbien, som är sr-Cyrl-RS
och sr-Latn-RS
. Delen i mitten som kallas skriptet (Cyrl och Latn) anger om det kyrilliska alfabetet eller det latinska alfabetet ska användas. Mer information finns i RFC 4646.
En lista över kulturnamnsvärden finns i ISO 639 Språkkoder och Onlinebläddringsplattform.
Organisera projekt för metadataöversättning
I början av ett projekt som innebär att skapa en ny Power BI-semantisk modell med metadataöversättning, listar du de kulturnamn som du planerar att stödja. Utöka sedan den semantiska modellen genom att lägga till metadataöversättningar för varje kulturnamn.
I följande diagram visas en semantisk modell med standardspråkinställningen en-US
. Den semantiska modellen har utökats med metadataöversättningar för tre andra kulturnamn: es-ES
, fr-FR
och de-DE
.
Varje metadataöversättning är associerad med ett specifikt kulturnamn. Kulturnamn fungerar som uppslagsnycklar som används för att lägga till och hämta metadataöversättningar inom ramen för en Power BI-semantisk modell.
Du behöver inte ange metadataöversättningar för standardspråket för semantikmodellen. Power BI kan bara använda de semantiska modellobjektnamnen direkt för det kulturnamnet. Ett sätt att tänka på detta är att de semantiska modellobjektnamnen fungerar som en virtuell uppsättning metadataöversättningar för standardspråket.
Det går att uttryckligen lägga till metadataöversättning för standardspråket. Använd den här metoden sparsamt. Power BI Desktop stöder inte inläsning av metadataöversättningar i rapportdesignern. Power BI Desktop läser i stället bara in semantiska modellobjektnamn. Om du uttryckligen lägger till metadataöversättningar för standardspråket ser Power BI-rapporterna annorlunda ut i Power BI Desktop än i Power BI-tjänst.
Läsa in en rapport i Power BI
När en användare navigerar till en Power BI-rapport med en HTTP GET-begäran skickar webbläsaren ett HTTP-huvud med namnet Accept-Language
med ett värde inställt på ett giltigt kulturnamn. Följande skärmbild visar en GET-begäran som överför ett Accept-Language
huvudvärde på en-US
.
När Power BI-tjänst läser in en rapport läser den kulturnamnet som skickades i Accept-Language
rubriken och använder det för att initiera språket och språkvarianten för rapportens inläsningskontext. På sina enheter kan användarna styra vilket kulturnamn som skickas i Accept-Language
rubrikvärdet genom att konfigurera regionala inställningar.
När du öppnar en Power BI-rapport i Power BI-tjänst kan du åsidosätta Accept-Language
rubrikvärdet genom att lägga till parametern language
i slutet av rapport-URL:en och ange dess värde till ett giltigt kulturnamn. Du kan till exempel testa att läsa in en rapport för en användare i Kanada som talar franska genom att ange language
parametervärdet till fr-CA
.
Kommentar
Genom att lägga till parametern language
i rapport-URL:er kan du testa metadataöversättningar i Power BI-tjänst. Den här tekniken kräver inte att du konfigurerar om några inställningar på den lokala datorn eller i webbläsaren.
Stöd för flera nationella inställningar för ett enda språk
Du kan behöva ha stöd för flera nationella inställningar för ett enda talat språk. Tänk dig ett scenario med användare som talar franska men bor i olika länder, till exempel Frankrike, Belgien och Kanada. Du publicerar en semantisk modell med ett standardspråk en-US
för och metadataöversättningar för ytterligare tre kulturnamn, inklusive es-ES
, fr-FR
och de-DE
.
Vad händer när en fransktalande kanadensisk användare öppnar en rapport med sidhuvudvärdet Accept-Language på fr-CA
? Läser Power BI-tjänst in översättningar för franska (fr-FR
) eller faller det tillbaka på de engelska semantiska modellobjektnamnen?
Mått fungerar för närvarande annorlunda än tabeller och kolumner i Power BI. Med mått försöker Power BI-tjänst hitta den närmaste matchningen. För kulturnamnet för fr-CA
skulle namnen på måtten läsas in med hjälp av metadataöversättningarna för fr-FR
.
Med tabeller och kolumner kräver Power BI-tjänst en exakt matchning mellan kulturnamnet i begäran och de metadataöversättningar som stöds. Om det inte finns någon exakt matchning återgår Power BI-tjänst till att läsa in semantiska modellobjektnamn. Namnen på tabeller och kolumner i det här scenariot skulle läsas in med hjälp av engelska semantiska modellobjektnamn.
Kommentar
Den här användningen av standardspråket för namnen på tabeller och kolumner är ett känt problem för Power BI.
Vi rekommenderar att du lägger till metadataöversättning för alla kulturnamn som du vill stödja. I det här exemplet lägger du till tre uppsättningar franska översättningar för att stödja kulturnamnen fr-FR
, fr-BE
och fr-CA
. Metoden hanterar scenariot där franska översättningar för användare i Frankrike skiljer sig från franska översättningar för användare i Kanada.
Implementera översättningar med hjälp av mått och USERCULTURE
En annan funktion i Power BI som hjälper dig att skapa rapporter med flera språk är dax-funktionen (Data Analysis Expressions). USERCULTURE
När den USERCULTURE
anropas i ett mått returnerar funktionen kulturnamnet för den aktuella rapportinläsningskontexten. Den här metoden gör det möjligt att skriva DAX-logik i mått som implementerar översättningar dynamiskt.
Du kan implementera översättningar dynamiskt genom att anropa USERCULTURE
i ett mått, men du kan inte uppnå samma resultat med beräknade tabeller eller beräknade kolumner. DAX-uttrycken för beräknade tabeller och beräknade kolumner utvärderas vid semantisk modellbelastningstid. Om du anropar USERCULTURE
funktionen i DAX-uttrycket för en beräknad tabell eller beräknad kolumn returneras kulturnamnet för semantikmodellens standardspråk. Om du anropar USERCULTURE
ett mått returneras kulturnamnet för den aktuella användaren.
Exempelrapporten visar USERCULTURE
returvärdet i det övre högra hörnet av rapportbanderollen. Du visar vanligtvis inte ett rapportelement som det här i ett riktigt program.
Den här koden är ett enkelt exempel på hur du skriver ett DAX-uttryck för ett mått som implementerar dynamiska översättningar. Du kan använda en SWITCH
instruktion som anropar USERCULTURE
för att skapa ett grundläggande mönster för att implementera dynamiska översättningar.
Product Sales Report Label = SWITCH( USERCULTURE() ),
"es-ES", "Informe De Ventas De Productos",
"fr-FR", "Rapport Sur Les Ventes De Produits",
"fr-BE", "Rapport Sur Les Ventes De Produits",
"fr-CA", "Rapport Sur Les Ventes De Produits",
"de-DE", "Produktverkaufsbericht",
"Product Sales Report"
)
Mer information finns i Lär dig grunderna för DAX i Power BI Desktop.
Formatera datum och tal med aktuellt användarspråk
Du kan översätta dynamiskt genom att skriva ett DAX-uttryck i ett mått med villkorslogik baserat på användarens kulturnamn. I de flesta fall behöver du inte skriva villkorsstyrd DAX-logik baserat på användarens nationella inställningar eftersom visuella Power BI-objekt automatiskt hanterar språkspecifik formatering i bakgrunden.
I ett enkelt scenario skapar du en rapport för en målgrupp av rapportkonsumenter som bor i både New York (en-US
) och i London (en-GB
). Alla användare talar engelska (en
), men vissa bor i olika regioner (US
och GB
) där datum och siffror formateras på olika sätt. En användare från New York vill till exempel se datum i ett mm/dd/yyyy
format medan en användare från London vill se datum i ett dd/mm/yyyy
format.
Allt fungerar som förväntat om du konfigurerar kolumner och mått med hjälp av formatsträngar som stöder regional formatering. Om du formaterar ett datum rekommenderar vi att du använder en formatsträng, till exempel Kort datum eller Långt datum , eftersom de stöder regional formatering.
Här följer några exempel på hur ett datumvärde formaterat med kort datum visas när det läses in under olika nationella inställningar.
Nationella inställningar | Format |
---|---|
en-US | 12/31/2022 |
en-GB | 31/12/2022 |
pt-PT | 31-12-2022 |
de-DE | 31.12.2022 |
ja-JP | 2022/12/31 |