Delen via


Dynamische opmaakreeksen maken voor metingen

VAN TOEPASSING OP: Power BI Desktop-Power BI-service

Met dynamische notatietekenreeksen voor metingenkunt u bepalen hoe metingen worden weergegeven in visuals door voorwaardelijk een notatietekenreeks met een afzonderlijke DAX-formule toe te passen.

Dynamische notatietekenreeksen overwinnen een inherent nadeel van het gebruik van de functie FORMAT. Met FORMAT worden zelfs numerieke gegevenstypen geretourneerd als een tekenreeks, die mogelijk niet werkt met visuals waarvoor numerieke waarden zijn vereist, zoals grafieken. Wanneer u tekenreeksen met dynamische notatie gebruikt, blijft het gegevenstype behouden en wordt de meting niet gedwongen om over te schakelen naar een tekenreeksgegevenstype. Hiermee worden verschillende notatietekenreeksen toegepast op de meting, afhankelijk van de context.

Tekenreeksen met dynamische opmaak kunnen ook worden gebruikt met berekeningsgroepen. Dezelfde DAX-patronen die met berekeningsgroepen werken, kunnen ook worden gebruikt in tekenreeksen voor dynamische notatie voor metingen, maar het bereik is beperkt tot afzonderlijke metingen in plaats van alle metingen in het model. Zie Berekeningsgroepen - Tekenreeksen met dynamische notatie voor meer informatie.

Dynamische formaatreeksen creëren

Om een dynamische opmaaktekenreeks te maken

  1. Selecteer in het deelvenster Gegevens de meting waarvoor u een tekenreeks voor dynamische opmaak wilt opgeven.

  2. Selecteer Dynamisch in de sectie Opmaak van het lint Meetgereedschappen en kies Opmaak in de lijst. Links van de DAX-formulebalk wordt een nieuwe keuzelijst weergegeven met Opmaak die al is geselecteerd. In deze dropdown kunt u overschakelen tussen de DAX-expressie voor statische metingen en de DAX-expressie voor dynamische opmaakreeksen. Welke statische formaat tekenreeks er ook werd gebruikt voordat er naar Dynamisch werd overgeschakeld, wordt vooraf ingevuld als een tekenreeks in de DAX-formulebalk.

    Schermafbeelding van de Opmaak-vervolgkeuzelijst.

  3. Overschrijf de tekenreeks met een DAX-expressie die het juiste notatieformaat voor uw meting genereert. Met de volgende expressie wordt bijvoorbeeld de gewenste tekenreeks voor de valutanotatie opgezoekt uit de tabel Landvalutanotatietekenreeksen:

    schermopname van de expressie voor de meting van dynamische opmaak.

  4. Controleer of de dynamische opmaak tekenreeks werkt in een visual.

    Als u de tekenreeks voor dynamische opmaak wilt verwijderen en wilt terugkeren naar een tekenreeks met statische opmaak, selecteer dan in de sectie Opmaak in de >Opmaak-lijst een andere opmaakoptie. Omdat deze actie niet ongedaan is, wordt er een dialoogvenster weergegeven waarin u wordt gevraagd of u wilt doorgaan. Als u weer een dynamisch formaat wilt gebruiken, moet u de DAX-expressie opnieuw invoeren.

    Schermopname van de waarschuwing voor formaatwijziging.

Voorbeeld

De beste manier om meer te weten te komen over een nieuwe functie is om het zelf te proberen. U kunt precies dat doen met het PBIX-voorbeeldbestand Adventure Works 2020, dat beschikbaar is bij het DAX-voorbeeldmodel. Met behulp van het voorbeeldmodel kunt u valutaconversie toevoegen om het geconverteerde verkoopbedrag per jaar weer te geven. Nadat u het hebt gedownload, opent u het bestand in Power BI Desktop.

Nieuwe tabellen maken

Het voorbeeldmodel bevat niet alle gegevens die nodig zijn om tekenreeksen voor dynamische opmaak te maken en te gebruiken. Om aan de slag te gaan, moet u eerst twee tabellen toevoegen.

  1. Selecteer op het Start-lint Gegevens invoeren.

  2. Voer in het dialoogvenster Tabel maken de volgende tabelnaam in en kopieer en plak de volgende tabel:

    Tabelnaam: Landvaluta formaat tekenreeksen

    Land/regio Valuta Notatie
    Australië Dollar AU$#,0,00
    Canada Dollar C$#,0,00
    Denemarken Kroon kr#,0
    Eurozone Euro € #,0,00
    Japan Yen ¥ #,0
    Zweden Kroon kr#,0
    Zwitserland Frank CHF#,0,00
    Verenigd Koninkrijk Pond £ #,0
    Verenigde Staten Dollar US$#,0,00
  3. Controleer of de tabel er juist uitziet en klik vervolgens op Laden.

    Schermopname van het dialoogvenster Tabel maken.

  4. Herhaal de vorige stappen voor de volgende tabel:

    Tabelnaam: Jaarlijkse gemiddelde wisselkoersen

    Land/regio Valuta Jaar Jaarlijkse gemiddelde wisselkoers
    Australië Dollar 2022 1.442
    Australië Dollar 2021 1.332
    Australië Dollar 2020 1.452
    Australië Dollar 2019 1.439
    Australië Dollar 2018 1.34
    Australië 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
    Denemarken Kroon 2022 7.077
    Denemarken Kroon 2021 6.29
    Denemarken Kroon 2020 6.538
    Denemarken Kroon 2019 6.67
    Denemarken Kroon 2018 6.319
    Denemarken Kroon 2017 6.864
    Eurozone Euro 2022 0.951
    Eurozone Euro 2021 0.846
    Eurozone Euro 2020 0.877
    Eurozone Euro 2019 0.893
    Eurozone Euro 2018 0.848
    Eurozone 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
    Zweden Kroon 2022 10.122
    Zweden Kroon 2021 8.584
    Zweden Kroon 2020 9.205
    Zweden Kroon 2019 9.457
    Zweden Kroon 2018 8.703
    Zweden Kroon 2017 8.894
    Zwitserland Franc 2022 0.955
    Zwitserland Franc 2021 0.914
    Zwitserland Frank 2020 0.939
    Zwitserland Franc 2019 0.994
    Zwitserland Franc 2018 0.979
    Zwitserland Frank 2017 1.024
    Verenigd Koninkrijk Pond 2022 0.811
    Verenigd Koninkrijk Pond 2021 0.727
    Verenigd Koninkrijk Pond 2020 0.779
    Verenigd Koninkrijk Pond 2019 0,784
    Verenigd Koninkrijk Pond 2018 0.75
    Verenigd Koninkrijk Pond 2017 0.808

Een kolom Jaar maken

Er is een nieuwe jaarkolom nodig in de bestaande tabel Datum.

  1. Klik in de modelweergave met de rechtermuisknop op de tabel Datum en selecteer vervolgens Nieuwe kolom.

  2. Voer in de DAX-formulebalk de volgende expressie in: Year = YEAR([Date])en druk vervolgens op Enter.

    Schermopname van de jaarformule in de DAX-formulebalk.

Relaties maken

Er zijn relaties nodig tussen de nieuwe tabellen jaarlijkse gemiddelde wisselkoersen en landnotatietekenreeksen, en tussen de tabel Jaarlijkse gemiddelde wisselkoersen en de bestaande tabel Datum.

  1. Als u Autodetectie voor relaties hebt ingeschakeld, is de relatie tussen landvalutanotatie en jaarlijkse gemiddelde wisselkoersen in de kolom Land mogelijk voor u gemaakt. Als dat niet het is, maakt u deze relatie:

    • Tabel 1: Jaarlijkse gemiddelde wisselkoersen
    • Tabel 1 Kolom: Land
    • Kardinaliteit: Veel tot één
    • Tabel 2: Notatietekenreeksen voor landvaluta
    • Tabel 2 Kolom: Land
    • Deze relatie actief maken: Ja
    • Kruisfilterrichting: Enkel

    De relatie moet er als volgt uitzien:

    Schermopname van de relatie-eigenschappen tussen landvaluta formaatreeksen en jaarlijkse gemiddelde wisselkoersen.

  2. Als u Autodetectie hebt ingeschakeld voor relaties, is er mogelijk een relatie tussen landvaluta-opmaakreeksen en verkoopgebied op de kolom Land gemaakt. Deze relatie is echter niet juist voor ons model. Verwijder deze relatie in de modelweergave .

  3. Maak in plaats daarvan een relatie tussen jaarlijkse gemiddelde wisselkoersen en datum in de kolom Year .

    • Tabel 1: Jaarlijkse gemiddelde wisselkoersen
    • Tabel 1 Kolom: Jaar
    • Kardinaliteit: veel-op-veel
    • Tabel 2: Datum
    • Tabel 2 Kolom: Jaar
    • Deze relatie actief maken: Ja
    • Kruisfilterrichting: Enkelvoudig ('Jaargemiddelde wisselkoers' filtert 'Datum')

    De relatie moet er als volgt uitzien:

    schermopname van relatie.

  4. Sla uw model op.

Een metinggroepstabel maken

Met een maateenheidgroep kunt u verschillende metingen ordenen door ze in één tabel te hebben.

  1. Selecteer Gegevens invoeren op het Start-lint.

  2. Laat in het Dialoogvenster Tabel Maken de waarden leeg. Geef de tabel Verkoopmetingen een naam en klik vervolgens op Laden. Deze tabel bevat uw nieuwe metingen.

Maatregelen opstellen

  1. Vouw in het deelvenster Gegevens de maateenheden uit en klik met de rechtermuisknop op Verkoopmetingen en selecteer vervolgens Nieuwe meting. Voer de volgende DAX-expressie in de DAX-formulebalk in en druk op Enter:

    Sales Amount = SUM(Sales[Sales Amount])
    

    Dit ziet er als volgt uit:

    Schermopname van dax-formule voor verkoopbedragmeting.

  2. Klik in Verkoopmetingen met de rechtermuisknop op Kolom1 en selecteer Verbergen in de rapportweergave. Hiermee worden verkoopmaatregelen gewijzigd in een maatregelgroep, die nu bovenaan het deelvenster Gegevens wordt weergegeven met een pictogram voor een maatregelgroep, zoals hieronder weergegeven.

    Schermopname van Kolom1 in de maateenheidgroep Verkoop.

  3. U kunt nu een meting maken om de wisselkoers te berekenen. Klik met de rechtermuisknop op Verkoopmetingen, selecteer Nieuwe meting, voer de volgende expressie in de DAX-formulebalk in en druk op 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] )
    )
    
    

    Dit ziet er als volgt uit: schermopname van de dax-formule voor wisselkoersen in de DAX-editor.

  4. U maakt nu een andere meting om de meting Verkoopbedrag te converteren naar andere valuta's. Klik met de rechtermuisknop op Verkoopmetingen, selecteer Nieuwe meting, voer de volgende expressie in de DAX-formulebalk in en druk op Enter:

        Converted Sales Amount = 
        SUMX('Date',
        CALCULATE( [Sales Amount] * [Exchange Rate (Yearly Avg)]))
    
    

    De verkoopmeetwaarden meetgroep moeten er nu als volgt uitzien: schermopname van de formule van de geconverteerde verkoopbedragmeting.

Een rapport maken

  1. Ga naar de rapportweergave. Voeg een nieuwe, lege pagina toe aan het rapport.

  2. Voeg een lijndiagramvisual toe aan uw nieuwe rapportpagina. U gebruikt deze visual om uw meting te bekijken voordat u de dynamische opmaakreeks voor metingen toevoegt.

  3. Selecteer Geconverteerde verkoophoeveelheid in het deelvenster >. Zonder ergens anders te klikken, selecteert u ook Year in de tabel Date.

    schermopname van het visuele Lijndiagram in rapportweergave.

  4. Kopieer en plak de visual zodat u twee visuals voor een lijndiagram hebt. Wijzig de tweede lijndiagramvisual in een tabelvisual en verplaats deze vervolgens onder het lijndiagram, zoals hieronder:

    Schermopname van de visual van het kopiëerlijndiagram.

  5. Voeg een slicervisual toe aan uw rapportpagina. Voeg in het lint OpmaakLand uit de tabel Landvalutanotatiereeksen toe aan de slicer.

    Schermopname van de Land slicer.

  6. Rangschik de visuals opnieuw totdat ze een betere indeling hebben, ongeveer als volgt:

    schermopname van het opnieuw rangschikken van visuals.

  7. Hoewel dit niet vereist is, kunt u visuele eigenschappen wijzigen om een mooier rapport te maken:

    Snijder

    • Slicer-instellingen: Eén selectie
    • Grootte en stijl, opvulling: 10 px, alle randen
    • Grootte en stijl, visuele rand: lichtgrijs, 10 px afgeronde hoeken
    • Slicerinstellingen, Stijl: Tegel
    • Slicer-koptekst: Uit
    • Waarden, rand: links, #333333, 6 lijnbreedte

    Tabel

    • Grootte en stijl, opvulling: 10 px, alle randen
    • Grootte en stijl, visuele rand: lichtgrijs, 10 px afgeronde hoeken
    • Raster, horizontale rasterlijnen: Wit, 2 breedte
    • Raster, verticale rasterlijnen: Wit, 2 breedte
    • Raster, rand: wit
    • Raster, opties: 2 rijen ruimte
    • Waarden, Waarden: achtergrondkleur #F6F4F4
    • Waarden, waarden: Afwisselende achtergrondkleur #F6F4F4
    • Kolomkoppen, Tekst: Vet, Tekstkleur wit, Achtergrondkleur #0D6ABF

    Lijndiagram

    • Grootte en stijl, opvulling: 10 px, alle randen
    • Grootte en stijl, visuele rand: lichtgrijs, 10 px afgeronde hoeken
    • Titel, ondertitel: aan
    • Y-as, Titel: Uit
    • Y-as: Uit
    • Markeringen: Aan
    • Gegevenslabels: Aan
    • Gegevenslabels, Waarden: Vet, Blauw

    Canvas (optioneel)

    • Achtergrond van canvas: lichtgrijs, 85% transparantie

    Met deze visuele eigenschappen krijgt u een mooie rapportpagina, zoals deze:

    Schermopname van grijze canvasachtergrond voor weergave.

Een tekenreeks voor dynamische opmaak maken

Als u verschillende landnamen in de slicer selecteert, wordt de meting Geconverteerde verkoophoeveelheid weergegeven in visuals, maar niet in de juiste indeling voor dat land of die regio.

  1. Selecteer Geconverteerde verkoophoeveelheid in het deelvenster >.

  2. Klik in het lint Hulpmiddelen voor meten op de keuzelijst Opmaak en selecteer Dynamisch.

  3. In de vervolgkeuzelijst links van de formulebalk moet nu Opmaak worden opgegeven. De formule in de formulebalk moet een opmaaktekenreeks hebben. Vervang de notatietekenreeks door de volgende DAX-expressie en druk op Enter:

    SELECTEDVALUE ( 'Country Currency Format Strings'[Format], "\$#,0.00;(\$#,0.00);\$#,0.00" )
    

    Dit ziet er als volgt uit:

    schermopname van dynamische tekenreeksen voor landvalutanotatie.

  4. Selecteer een ander land in de slicer. In de tabel- en lijndiagramvisuals moet nu het geconverteerde valutabedrag, in de juiste indeling, voor dat land of die regio worden weergegeven. Selecteer een ander land/andere regio in de slicer om te zien hoe de visuals veranderen.

    Schermopname van de geconverteerde verkoophoeveelheid visual.

  5. Sla uw model op.

Bekende problemen en overwegingen

  • Visuals hebben opmaakopties die van invloed kunnen zijn op hoe de opmaaktekenreeks wordt weergegeven. Als de opmaak onverwacht wordt weergegeven in een visual, gaat u naar de opties voor visuele opmaak, zoekt u naar weergave-eenheden en wijzigt u deze van Automatisch in Geen.

    Schermopname van weergave-eenheden van automatisch naar geen.

  • De maatregel zelf kan direct worden verwezen in zijn dynamische formaatstring door de naam te gebruiken, zoals [Measure A], of indirect door gebruik te maken van SELECTEDMEASURE().

  • Dynamische opmaakreeksen voor metingen zijn alleen bedoeld voor metingen in het model. Rapportmetingen die kunnen worden toegevoegd aan een liveverbindingsrapport, kunnen geen tekenreeksen voor dynamische opmaak voor metingen hebben.

  • Wanneer u met DirectQuery voor Analysis Services op Wijzigingen aanbrengen in dit model klikt in een liveverbindingsrapport, wordt de verbinding met de DirectQuery over Analysis Services verplaatst. Over het algemeen kunt u wijzigingen aanbrengen in de notatietekenreeksen van de externe modelmetingen. Met tekenreeksen voor dynamische opmaak voor metingen:

    • Externe modelmetingen met gedefinieerde dynamische opmaaktekenreeksen worden geblokkeerd om wijzigingen aan te brengen in een statische opmaaktekenreeks of in een andere, dynamische opmaaktekenreeks-DAX-expressie.
    • Metingen voor externe modellen kunnen niet worden gewijzigd van een statische opmaakstring naar een DAX-expressie voor dynamische opmaak die in het lokale model is gedefinieerd.
    • Lokale modelmetingen kunnen geen gebruik maken van dynamische opmaakreeksen voor metingen.