Del via


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

  1. Vælg den måling, du vil angive en streng til dynamisk format for, i ruden Data .

  2. 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.

    Skærmbillede af rullelisten Formatér.

  3. 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":

    Skærmbillede af målingsudtrykket dynamisk format.

  4. 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.

    Skærmbillede af advarsel om ændring af format.

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.

  1. På båndet Hjem skal du vælge Angiv data.

  2. 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
  3. Kontrollér, at tabellen ser korrekt ud, og klik derefter på Indlæs.

    Skærmbillede af dialogboksen Opret tabel.

  4. 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.

  1. Højreklik på tabellen Dato i modelvisning, og vælg derefter Ny kolonne.

  2. Angiv følgende udtryk på DAX-formellinjen: Year = YEAR([Date]), og tryk derefter på Enter.

    Skærmbillede af formlen Year på DAX-formellinjen.

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.

  1. 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:

    Skærmbillede af egenskaber for relationer mellem strenge til landevalutaformat og årlige gennemsnitlige valutakurser.

  2. 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 .

  3. 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:

    Skærmbillede af relation.

  4. 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.

  1. På båndet Hjem skal du vælge Angiv data.

  2. 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

  1. 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:

    Skærmbillede af målingen Sales amount DAX.

  2. 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:

    Skærmbillede af Kolonne1 i målingsgruppen Salg.

  3. 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] )
    )
    
    

    Det bør se sådan ud: Skærmbillede af dax-formlen for valutakurser i DAX-editor.

  4. 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)]))
    
    

    Målingsgruppen Sales bør nu se sådan ud: Skærmbillede af formlen for målingen Konverteret salgsbeløb.

Opret en rapport

  1. Gå til Rapportvisning. Føj en ny tom side til rapporten.

  2. 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.

  3. Vælg Konverteret salgsbeløb i ruden> Data. Uden at klikke et andet sted skal du også vælge Year i tabellen Date .

    Skærmbillede af visualiseringen Kurvediagram i rapportvisning.

  4. 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:

    Skærmbillede af visualiseringen Kopiér kurvediagram.

  5. 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.

    Skærmbillede af udsnittet Land.

  6. Omarranger visualiseringerne, indtil de har et bedre layout, f.eks.:

    Skærmbillede af Omarranger visualiseringer.

  7. 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:

    Skærmbillede af grå lærredsbaggrund for visualisering.

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.

  1. Vælg Konverteret salgsbeløb i ruden> Data.

  2. Klik på rullelisten Formatérbåndet Måleværktøjer, og vælg derefter Dynamisk.

  3. 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:

    Skærmbillede af den dynamiske formel Country Currency Format Strings.

  4. 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.

    Skærmbillede af visualiseringen Konverteret salgsbeløb.

  5. 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.

    Skærmbillede af Vis enheder 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.