Opret dynamiske formatstrenge til målinger
GÆLDER FOR: Power BI Desktop
Power BI-tjeneste
Med dynamiske formatstrenge for målingerkan du bestemme, hvordan målinger vises i visualiseringer, ved betinget anvendelse af en formatstreng med en separat DAX-formel.
Dynamiske formatstrenge overvinder en indbygget ulempe ved at bruge funktionen FORMAT. Med FORMAT returneres selv numeriske datatyper som en streng, som muligvis ikke fungerer sammen med visualiseringer, der kræver numeriske værdier, f.eks. diagrammer. Når du bruger dynamiske formatstrenge, bevarer målingen sin datatype og tvinges ikke til at ændre til en strengdatatype. Dette anvender forskellige formatstrenge på målingen, afhængigt af konteksten.
Dynamiske formatstrenge kan også bruges sammen med beregningsgrupper. De samme DAX-mønstre, der fungerer sammen med beregningsgrupper, kan også bruges i dynamiske formatstrenge til målinger, men omfanget er begrænset til individuelle målinger i stedet for alle målinger i modellen. Du kan få mere at vide under Beregningsgrupper – Strenge til dynamisk format.
Opret dynamiske formatstrenge
Sådan opretter du en dynamisk formatstreng
Vælg den måling, du vil angive en streng til dynamisk format for, i ruden Data .
Vælg Dynamisk på listen Formatér på båndet >> Der vises en ny liste, hvor Format allerede er valgt, til venstre for DAX-formellinjen. På denne rulleliste kan du skifte mellem DAX-udtrykket for statisk måling og DAX-udtrykket for strengen til dynamisk format. Uanset hvilken statisk formatstreng der var i brug, før du skiftede til Dynamic, udfyldes den på forhånd som en streng på DAX-formellinjen.
Overskriv strengen med et DAX-udtryk, der skriver den korrekte formatstreng for målingen. Følgende udtryk slår f.eks. den ønskede streng for valutaformat op fra tabellen "Country Currency Format Strings":
Kontrollér, at din dynamiske formatstreng fungerer i en visualisering.
Hvis du vil slette strengen til dynamisk format og vende tilbage til at bruge en statisk formatstreng, skal du vælge en anden formatindstilling i afsnittet Formatering>på listen Formatér. Da handlingen ikke kan fortrydes, vises der en dialogboks, hvor du bliver spurgt, om du vil fortsætte. Hvis du vil gå tilbage til at bruge en dynamisk formatstreng igen, skal du angive DAX-udtrykket igen.
Eksempel
Den bedste måde at få mere at vide om en ny funktion på er at prøve den selv. Det kan du gøre med eksempelfilen Adventure Works 2020 PBIX , der er tilgængelig i DAX-eksempelmodellen. Ved hjælp af eksempelmodellen kan du tilføje valutakonvertering for at få vist omregnet salgsbeløb efter år. Når du har downloadet, skal du åbne filen i Power BI Desktop.
Opret nye tabeller
Eksempelmodellen indeholder ikke alle de data, der er nødvendige for at oprette og bruge dynamiske formatstrenge. For at komme i gang skal du først tilføje to tabeller.
På båndet Hjem skal du vælge Angiv data.
I dialogboksen Opret tabel skal du angive følgende tabelnavn og derefter kopiere og indsætte følgende tabel:
Tabelnavn: Strenge til landevalutaformat
Land Valuta Format Australien Dollar KR#,0,00 Canada Dollar C$#,0,00 Danmark Krone kr#,0 Euroområdet Euro € #,0.00 Japan Yen ¥ #,0 Sverige Krone kr#,0 Schweiz Franc CHF#,0.00 Storbritannien Pund Kr. #,0 USA Dollar US$#,00 Kontrollér, at tabellen ser korrekt ud, og klik derefter på Indlæs.
Gentag de forrige trin for følgende tabel:
Tabelnavn: Årlige gennemsnitlige valutakurser
Land Valuta Year Årlig gennemsnitlig valutakurs Australien Dollar 2022 1.442 Australien Dollar 2021 1.332 Australien Dollar 2020 1.452 Australien Dollar 2019 1.439 Australien Dollar 2018 1.34 Australien Dollar 2017 1.358 Canada Dollar 2022 1.301 Canada Dollar 2021 1.254 Canada Dollar 2020 1.341 Canada Dollar 2019 1.327 Canada Dollar 2018 1.297 Canada Dollar 2017 1.35 Danmark Krone 2022 7.077 Danmark Krone 2021 6.29 Danmark Krone 2020 6.538 Danmark Krone 2019 6.67 Danmark Krone 2018 6.319 Danmark Krone 2017 6.864 Euroområdet Euro 2022 0.951 Euroområdet Euro 2021 0.846 Euroområdet Euro 2020 0.877 Euroområdet Euro 2019 0.893 Euroområdet Euro 2018 0.848 Euroområdet Euro 2017 0.923 Japan Yen 2022 131.454 Japan Yen 2021 109.817 Japan Yen 2020 106.725 Japan Yen 2019 109.008 Japan Yen 2018 110.424 Japan Yen 2017 116.667 Sverige Krone 2022 10.122 Sverige Krone 2021 8.584 Sverige Krone 2020 9.205 Sverige Krone 2019 9.457 Sverige Krone 2018 8.703 Sverige Krone 2017 8.894 Schweiz Franc 2022 0.955 Schweiz Franc 2021 0.914 Schweiz Franc 2020 0.939 Schweiz Franc 2019 0.994 Schweiz Franc 2018 0.979 Schweiz Franc 2017 1.024 Storbritannien Pund 2022 0.811 Storbritannien Pund 2021 0.727 Storbritannien Pund 2020 0.779 Storbritannien Pund 2019 0.784 Storbritannien Pund 2018 0.75 Storbritannien Pund 2017 0.808
Opret en kolonne af typen Year
Der kræves en ny kolonne af typen Year i den eksisterende datotabel.
Højreklik på tabellen Dato i modelvisning, og vælg derefter Ny kolonne.
Angiv følgende udtryk på DAX-formellinjen:
Year = YEAR([Date])
, og tryk derefter på Enter.
Oprette relationer
Der er brug for relationer mellem de nye tabeller Årlige gennemsnitlige valutakurser og Strenge til landevalutaformat og mellem tabellen Årlige gennemsnitlige valutakurser og den eksisterende datotabel.
Hvis du har Registrer automatisk for relationer på, kan relationen mellem Country Currency Format Strings og Yearly Average Exchange Rates i kolonnen Country være blevet oprettet for dig. Hvis ikke, skal du oprette denne relation:
- Tabel 1: Årlige gennemsnitlige valutakurser
- Kolonne i tabel 1: Land
- Kardinalitet: Mange til én
- Tabel 2: Strenge til landevalutaformat
- Tabel 2- kolonne: Land
- Aktivér denne relation: Ja
- Tværgående filterretning: Enkelt
Relationen skal se sådan ud:
Hvis du har registrer automatisk for relationer på, kan der være oprettet en relation mellem Strenge til landevalutaformat og Salgsområde i kolonnen Country . Denne relation er dog ikke korrekt for vores model. Slet denne relation i modelvisning .
Opret i stedet en relation mellem Årlige gennemsnitlige valutakurser og Dato i kolonnen Year .
- Tabel 1: Årlige gennemsnitlige valutakurser
- Tabel 1- kolonne: År
- Kardinalitet: Mange til mange
- Tabel 2: Dato
- Tabel 2- kolonne: År
- Aktivér denne relation: Ja
- Tværgående filterretning: Enkelt ('Årlig gennemsnitlig valutakurs' filtrerer 'Dato')
Relationen skal se sådan ud:
Gem din model.
Opret en målingsgruppetabel
En målingsgruppe hjælper dig med at organisere forskellige målinger ved at have dem i en enkelt tabel.
På båndet Hjem skal du vælge Angiv data.
Lad værdierne være tomme i dialogboksen Opret tabel. Navngiv tabellen Sales-målinger, og klik derefter på Indlæs. Denne tabel indeholder dine nye målinger.
Oprette målinger
Udvid og højreklik på Salgsmålinger i ruden Data, og vælg derefter Ny måling. Indtast følgende DAX-udtryk på DAX-formellinjen, og tryk derefter på Enter:
Sales Amount = SUM(Sales[Sales Amount])
Det skal se sådan ud:
Højreklik på Kolonne1 i Salgsmålinger, og vælg derefter Skjul i rapportvisning. Dette ændrer Salgsmålinger til en målingsgruppe, som nu vises øverst i ruden Data med et ikon for målingsgruppe, som dette:
Du kan nu oprette en måling for at beregne valutakursen. Højreklik på Salgsmålinger, vælg Ny måling, angiv følgende udtryk på DAX-formellinjen, og tryk derefter på Enter:
Exchange Rate (Yearly Avg) = IF ( ISBLANK ( SELECTEDVALUE ( 'Country Currency Format Strings'[Country] ) ) || SELECTEDVALUE ( 'Country Currency Format Strings'[Country] ) = "United States", 1, AVERAGE ( 'Yearly Average Exchange Rates'[Yearly Average Exchange Rate] ) )
Nu skal du oprette en anden måling for at konvertere målingen Sales Amount til andre valutaer. Højreklik på Salgsmålinger, vælg Ny måling, angiv følgende udtryk på DAX-formellinjen, og tryk derefter på Enter:
Converted Sales Amount = SUMX('Date', CALCULATE( [Sales Amount] * [Exchange Rate (Yearly Avg)]))
Opret en rapport
Gå til Rapportvisning. Føj en ny tom side til rapporten.
Føj et kurvediagramvisual til din nye rapportside. Du kan bruge denne visualisering til at se målingen, før du tilføjer strengen til dynamisk format for målinger.
Vælg Konverteret salgsbeløb i ruden> Data. Uden at klikke et andet sted skal du også vælge Year i tabellen Date .
Kopiér og indsæt derefter visualiseringen, så du har to visuelle elementer i kurvediagrammet. Skift den anden visualisering med kurvediagrammet til en tabelvisualisering, og flyt den derefter ned under kurvediagrammet på følgende måde:
Føj en visualisering i udsnitsværktøjet til din rapportside. På båndet Format skal du føje Country fra tabellen Country Currency Format Strings til udsnittet.
Omarranger visualiseringerne, indtil de har et bedre layout, f.eks.:
Selvom det ikke er påkrævet, kan du ændre egenskaber for visualiseringer for at oprette en pænere rapport:
Udsnit
- Indstillinger for udsnit: Vælg én
- Størrelse og typografi, indre margen: 10 pixel, alle kanter
- Størrelse og typografi, visuel kant: lyse grå, 10 pixel afrundede hjørner
- Indstillinger for udsnit, typografi: Felt
- Sidehoved i udsnit: Fra
- Værdier, kant: Venstre, #333333, 6 stregbredder
Table
- Størrelse og typografi, indre margen: 10 pixel, alle kanter
- Størrelse og typografi, visuel kant: lyse grå, 10 pixel afrundede hjørner
- Gitter, vandrette gitterlinjer: hvid, 2 bredde
- Gitter, lodrette gitterlinjer: hvid, 2 bredde
- Gitter, kant: hvid
- Gitter, indstillinger: 2 rækkers indre margen
- Værdier, værdier: Baggrundsfarve #F6F4F4
- Værdier, værdier: Alternativ baggrundsfarve #F6F4F4
- Kolonneoverskrifter, Tekst: Fed, Tekstfarve hvid, Baggrundsfarve #0D6ABF
Kurvediagram
- Størrelse og typografi, indre margen: 10 pixel, alle kanter
- Størrelse og typografi, visuel kant: lyse grå, 10 pixel afrundede hjørner
- Titel, undertitel: Slået til
- Y-akse, Titel: Fra
- Y-akse: Fra
- Mærker: Slået til
- Datamærkater: Slået til
- Datamærkater, Værdier: Fed, Blå
Lærred (valgfrit)
- Lærredsbaggrund: lyse grå, 85 % gennemsigtighed
Med disse visuelle egenskaber får du en flot rapportside som denne:
Opret en streng til dynamisk format
Hvis du vælger forskellige landenavne i udsnittet, vises målingsresultatet Konverteret salgsbeløb i visualiseringer, men ikke i det rigtige format for det pågældende land eller område.
Vælg Konverteret salgsbeløb i ruden> Data.
Klik på rullelisten Formatér på båndet Måleværktøjer, og vælg derefter Dynamisk.
På rullelisten til venstre for formellinjen skal der nu stå Format, og formlen på formellinjen skal have en formatstreng. Erstat formatstrengen med følgende DAX-udtryk, og tryk derefter på Enter:
SELECTEDVALUE ( 'Country Currency Format Strings'[Format], "\$#,0.00;(\$#,0.00);\$#,0.00" )
Det skal se sådan ud:
Vælg et andet land i udsnittet. De visuelle elementer i tabel- og kurvediagrammet skal nu vise det konverterede valutabeløb i det korrekte format for det pågældende land eller område. Prøv at vælge et andet land/område i udsnittet for at se, hvordan visualiseringerne ændres.
Gem din model.
Kendte problemer og overvejelser
Visualiseringer har formateringsindstillinger, der kan påvirke, hvordan formatstrengen vises. Hvis formateringen vises uventet i en visualisering, skal du gå til indstillingerne for visualformat, søge efter Vis enheder og ændre den fra Automatisk til Ingen.
Der kan refereres direkte til selve målingen i strengen til dynamisk format ved hjælp af navnet, f.eks. [Måling A] eller indirekte ved hjælp
SELECTEDMEASURE()
af .Dynamiske formatstrenge for målinger er kun til modelmålinger. Rapportmålinger , der kan føjes til en rapport med direkte forbindelse, kan ikke have dynamiske formatstrenge for målinger.
Når du klikker på Foretag ændringer af denne model i en rapport med direkte forbindelse med DirectQuery til Analysis Services, flyttes forbindelsen til DirectQuery via Analysis Services. Generelt kan du foretage ændringer af formatstrengene for fjernmodelmålingerne. Med dynamiske formatstrenge til målinger:
- Eksterne modelmålinger med definerede dynamiske formatstrenge blokeres fra at foretage ændringer af formatstrengen i en statisk formatstreng eller til et andet DAX-udtryk for strengen dynamisk format.
- Fjernmodelmålinger kan ikke ændres fra en statisk formatstreng til et DAX-udtryk for dynamisk formatstreng, der er defineret i den lokale model.
- Lokale modelmålinger er blokeret fra at bruge dynamiske formatstrenge til målinger.