Delen via


Dynamische opmaakreeksen maken voor metingen

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

Met dynamische notatietekenreeksen voor metingen kunt u bepalen hoe metingen worden weergegeven in visuals. Een opmaaktekenreeks voorwaardelijk toepassen met behulp van een afzonderlijke DAX-formule (Data Analysis Expression).

Dynamische opmaakreeksen lossen een probleem op met de functie FORMAT. FORMAT retourneert alle resultaten als tekenreeksen, zelfs numerieke gegevenstypen. Dit gedrag kan problemen veroorzaken met visuals zoals grafieken die numerieke waarden nodig hebben.

Wanneer u tekenreeksen met dynamische opmaak gebruikt, behoudt de meting het gegevenstype en verandert deze niet in een tekenreeksgegevenstype. U past verschillende notatietekenreeksen toe op de meting, afhankelijk van de context.

U kunt ook tekenreeksen met dynamische notatie gebruiken met berekeningsgroepen. Dezelfde DAX-patronen die werken met berekeningsgroepen, werken ook in dynamische opmaakreeksen voor metingen. Het bereik is echter 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

  1. Selecteer in het deelvenster Gegevens de meting waarvoor u een tekenreeks voor dynamische opmaak wilt opgeven.
  2. Selecteer in het lint Hulpmiddelen voor meten , onder de sectie Opmaak , de optie Dynamisch in de keuzelijst Opmaak . Links van de DAX-formulebalk wordt een nieuwe vervolgkeuzelijst weergegeven met Opmaak die al is geselecteerd. Gebruik deze vervolgkeuzelijst om te schakelen tussen de DAX-expressie voor statische maat en de DAX-expressie voor dynamische formaatreeks. De tekenreeks voor statische opmaak die u hebt gebruikt voordat u overschakelde naar dynamisch, is vooraf ingevuld als een tekenreeks in de DAX-formulebalk.

Het waardegedeelte van een tekstvak gebruiken

Wanneer u met tekstvakken in uw rapporten werkt, kunt u metingswaarden weergeven met dynamische opmaak. Het waardegedeelte van een tekstvak gebruiken:

  1. Selecteer het tekstvak in uw rapport.

  2. Selecteer in het deelvenster Opmaak onder Waarden de veldknop (fx-pictogram).

  3. Kies de meting waarop een tekenreeks met dynamische opmaak is toegepast.

  4. In het tekstvak wordt de meetwaarde weergegeven met behulp van de dynamische opmaakstring.

    Zie Tekstvakken en vormen toevoegen aan Power BI-rapporten voor meer informatie over tekstvakken en dynamische inhoud.

    Schermafbeelding van de Opmaak-vervolgkeuzelijst.

  5. Overschrijf de tekenreeks met een DAX-expressie die het juiste notatieformaat voor uw meting genereert. Met de volgende expressie wordt bijvoorbeeld gezocht naar de gewenste tekenreeks voor de valutanotatie uit een tabel Valuta-indeling land/regio :

    schermopname van de expressie voor de meting van dynamische opmaak.

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

    Als u de dynamische opmaakreeks wilt verwijderen en wilt terugkeren naar een statische opmaakreeks, selecteert u in de sectie Opmaak in de vervolgkeuzelijst >Opmaak 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 twee tabellen toevoegen.

  1. Selecteer op het Start-lint Gegevens invoeren.

  2. Voer in het dialoogvenster Tabel makentekenreeksen voor land-/regiovalutanotatie in het veld Naam in en kopieer en plak de volgende tabel:

    Country/Region 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 correct uitziet en selecteer Laden.

    Schermopname van het dialoogvenster Tabel maken.

  4. Herhaal de vorige stappen voor de volgende tabel:

    Tabelnaam: Jaarlijkse gemiddelde wisselkoersen

    Country/Region 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 Frank 2022 0.955
    Zwitserland Frank 2021 0.914
    Zwitserland Frank 2020 0.939
    Zwitserland Frank 2019 0.994
    Zwitserland Frank 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

Voeg een nieuwe kolom Year toe aan de bestaande tabel Date.

  1. Klik in de modelweergave met de rechtermuisknop op de tabel Datum en selecteer 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

Maak relaties tussen de tabellen Jaar-gemiddelde wisselkoersen en valutatabellen land/regio, en tussen de tabel Jaarlijkse gemiddelde wisselkoersen en de bestaande tabel Datum.

  1. Als u Autodetectie inschakelt voor relaties (op het tabblad Hulpmiddelen voor kolommen, selecteert u Relaties beheren en selecteert u vervolgens Autodetectie), wordt de relatie tussen de notatiereeksen land/regiovaluta en jaarlijkse gemiddelde wisselkoersen voor de kolom Land/regio mogelijk voor u gemaakt. Als dat niet het geval is, maakt u deze relatie met behulp van de knop Nieuwe relatie in Kolomhulpmiddelen>Relaties beheren:

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

    De relatie moet er als volgt uitzien:

    Schermopname van relatie-eigenschappen tussen tekenreeksen voor land-/regiovaluta-indeling en jaarlijkse gemiddelde wisselkoersen.

  2. Als u Autodetectie inschakelt voor relaties, kan er een relatie tussen tekenreeksen voor land-/regiovaluta-indeling en verkoopgebied in de kolom Land/regio worden gemaakt. Verwijder deze relatie omdat deze niet juist is voor het model.

  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 op het Start-lint Gegevens invoeren.
  2. Laat in het Dialoogvenster Tabel Maken de waarden leeg. Geef de tabel Verkoopmetingen een naam en selecteer 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. Deze wijziging maakt verkoopmetingen een maateenheidgroep, die nu boven aan het deelvenster Gegevens wordt weergegeven met een pictogram van een maateenheidgroep, zoals deze:

    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/Region Currency Format Strings'[Country/Region] ) )
            || SELECTEDVALUE ( 'Country/Region Currency Format Strings'[Country/Region] ) = "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. Maak 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. Gebruik deze visual om uw maatstaf te zien voordat u de dynamische opmaakreeks voor maatstaven toevoegt.

  3. Selecteer Geconverteerde verkoophoeveelheid in het deelvenster >. Als u ergens anders niet hoeft te selecteren, selecteert u ook Year in de tabel Date .

    schermopname van het visuele Lijndiagram in rapportweergave.

  4. Kopieer en plak de visual zodat u twee lijndiagramvisuals 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 voor lijsten toe aan uw rapportpagina door de slicer Lijst te selecteren in het deelvenster Visualisaties . Selecteer in het deelvenster Gegevensde optie Land/regio in de tabel Valutanotatiereeksen voor land/regio om deze toe te voegen aan de slicer.

    Schermopname van de slicer Land/regio.

  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. Gebruik de knop Visual opmaken in het deelvenster Visualisaties om de volgende wijzigingen aan te brengen:

    Slicer

    • Visual>Slicerinstellingen>Enkele selectie>Aan
    • Algemene>>opvulling: 10 px, alle randen
    • Algemeen tabblad >Effecten>Visuele rand: Aan, lichtgrijs, 10 px afgeronde hoeken
    • Algemeen>Titel: Uit
    • Visual tab >knoppen>rand: #333333, 6 lijndikte

    Tabel

    • Algemene>>opvulling: 10 px, alle randen
    • Algemeen tabblad >Effecten>Visuele rand: Aan, lichtgrijs, afgeronde hoeken van 10 px
    • Visueel tabblad >Raster>Horizontale rasterlijnen: Aan, Wit, 2 breedte
    • Visualtabblad>Raster>Verticale rasterlijnen: Aan, Wit, breedte 2
    • Visueel tabblad >Raster>Rand: wit
    • Rasteropties voor >>: 2 rijopvulling
    • Visual tab >Waarden>Achtergrondkleur: #F6F4F4
    • Visual tab >Waarden>Alternatieve achtergrondkleur: #F6F4F4
    • Visuele tabblad >Kolomkoppen>Tekst: Vet, Tekstkleur wit, Achtergrondkleur #0D6ABF

    Lijndiagram

    • Algemene>>opvulling: 10 px, alle randen
    • Algemeen tabblad >Effecten>Visuele rand: Aan, lichtgrijs, 10 px afgeronde hoeken
    • Algemeen tabblad >Eigenschappen>Titel>ondertitel: Aan
    • Titel van visuele tab >Y-as>: Uit
    • Visual-tabblad>Y-aswaarden>:Uit
    • Visuele>: Aan
    • > : Aan
    • Visueel tabblad >Gegevenslabels>Waarde: vet, blauw

    Canvas (optioneel)

    • Canvasinstellingen>Achtergrond van canvas: lichtgrijs, 85% transparantie

    Met behulp van deze visuele eigenschappen maakt u een rapportpagina die er als volgt uitziet:

    Schermopname van grijze canvasachtergrond voor weergave.

Een tekenreeks voor dynamische opmaak maken

Wanneer u verschillende land-/regionamen in de slicer selecteert, worden in de visuals het resultaat van de meting Geconverteerde verkoophoeveelheid weergegeven, maar niet in de juiste indeling voor dat land/de regio.

  1. Selecteer in het deelvenster Gegevens onder Verkoopmetingende optie Geconverteerde verkoophoeveelheid.

  2. Selecteer Dynamisch in de vervolgkeuzelijst Opmaak op het lint Hulpmiddelen voor meten.

  3. In de keuzelijst links van de formulebalk staat nu Opmaak, terwijl de formule in de formulebalk een formaatreeks heeft. Vervang de notatietekenreeks door de volgende DAX-expressie en druk op Enter:

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

    Dit ziet er als volgt uit:

    Schermopname van dynamische formule tekenreeksen voor valutanotatie per land/regio.

  4. Selecteer een ander land/andere regio in de slicer. In de tabel- en lijndiagramvisuals wordt nu het geconverteerde valutabedrag weergegeven, in de juiste indeling, voor dat land/regio of die regio. 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 de weergave van de opmaaktekenreeks. Als de opmaak onverwacht wordt weergegeven in een visual, gaat u naar de visuele opties voorvisualisaties opmaken, zoekt u naar > en wijzigt u deze van Automatisch in Geen.

    Schermopname van weergave-eenheden van automatisch naar geen.

  • U kunt rechtstreeks verwijzen naar de meting in de tekenreeks voor dynamische indeling door de naam te gebruiken, zoals [Meting A], of indirect met behulp van SELECTEDMEASURE().

  • Dynamische opmaaktekenreeksen voor metingen zijn alleen van toepassing op modelmetingen. U kunt geen tekenreeksen voor dynamische opmaak toevoegen voor rapportmetingen in een liveverbindingsrapport.

  • Als u DirectQuery voor Analysis Services selecteert wanneer u Wijzigingen aan dit model aanbrengt in een liveverbindingsrapport, verschuift u de verbinding met de DirectQuery via Analysis Services. Over het algemeen kunt u wijzigingen aanbrengen in de notatietekenreeksen van de externe modelmetingen. Met dynamische notatietekenreeksen 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.
    • U kunt metingen van een extern model niet wijzigen van een statische opmaaktekenreeks naar een dynamische opmaaktekenreeks-DAX-expressie die in het lokale model is gedefinieerd.
    • Lokale modelmetingen kunnen geen gebruik maken van dynamische opmaakreeksen voor metingen.