Tekenreeksen voor dynamische opmaak maken voor metingen
VAN TOEPASSING OP: Power BI Desktop-Power BI-service
Met tekenreeksen voor dynamische opmaak voor metingen kunt u bepalen hoe metingen worden weergegeven in visuals door voorwaardelijk een opmaaktekenreeks met een afzonderlijke DAX-expressie toe te passen.
Notitie
Tekenreeksen voor dynamische opmaak voor metingen zijn momenteel beschikbaar als preview-versie. Wanneer u in preview bent, worden functionaliteit en documentatie waarschijnlijk gewijzigd.
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.
Tekenreeksen voor dynamische opmaak maken
Een tekenreeks voor dynamische opmaak maken
Selecteer in het deelvenster Gegevens de meting waarvoor u een tekenreeks voor dynamische opmaak wilt opgeven.
Selecteer Dynamisch in de sectie >Opmaak van hulpmiddelen voor meten op het lint> Opmaak. Links van de DAX-formulebalk wordt een nieuwe keuzelijst weergegeven met Opmaak die al is geselecteerd. In deze vervolgkeuzelijst kunt u schakelen tussen de DAX-expressie voor statische meting en de DAX-expressie voor de dynamische notatietekenreeks. Wat de tekenreeks voor statische opmaak ook werd gebruikt voordat u overschakelt naar Dynamisch, wordt vooraf ingevuld als een tekenreeks in de DAX-formulebalk.
Overschrijf de tekenreeks met een DAX-expressie waarmee de juiste notatietekenreeks voor uw meting wordt uitgevoerd. Met de volgende expressie wordt bijvoorbeeld de gewenste tekenreeks voor de valutanotatie opgezoekt uit de tabel Landvalutanotatietekenreeksen:
Controleer of de tekenreeks voor dynamische opmaak werkt in een visual.
Als u de tekenreeks voor dynamische opmaak wilt verwijderen en wilt terugkeren naar een tekenreeks met statische opmaak, selecteert u een andere opmaakoptie in de sectie >Opmaak. Omdat deze actie niet ongedaan is, wordt er een dialoogvenster weergegeven waarin u wordt gevraagd of u wilt doorgaan. Als u terug wilt gaan naar het gebruik van een tekenreeks voor dynamische opmaak, moet u de DAX-expressie opnieuw uitvoeren.
Opmerking
De beste manier om meer te weten te komen over een nieuwe functie is om het zelf te proberen. U kunt dit doen met het pbix-voorbeeldbestand Adventure Works 2020 dat beschikbaar is op 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.
Selecteer gegevens invoeren op het lint Start.
Voer in het dialoogvenster Tabel maken de volgende tabelnaam in en kopieer en plak de volgende tabel:
Tabelnaam: Tekenreeksen voor landvalutanotatie
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 OPGEGEVEN#,0,00 Verenigd Koninkrijk Pond £ #,0 Verenigde Staten Dollar US$#,0,00 Controleer of de tabel er juist uitziet en klik vervolgens op Laden.
Herhaal de vorige stappen voor de volgende tabel:
Tabelnaam: Jaarlijkse gemiddelde wisselkoersen
Land/regio Valuta Year 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
Er is een nieuwe jaarkolom nodig in de bestaande tabel Datum.
Klik in de modelweergave met de rechtermuisknop op de tabel Datum en selecteer vervolgens Nieuwe kolom.
Voer in de DAX-formulebalk de volgende expressie in:
Year = YEAR([Date])
en druk vervolgens op Enter.
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.
Als u Autodetectie hebt ingeschakeld voor relaties, is de relatie tussen tekenreeksen voor 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:
Als u autodetectie hebt ingeschakeld voor relaties, is er mogelijk een relatie tussen landvalutanotatietekenreeksen en verkoopgebied in de kolom Land gemaakt. Deze relatie is echter niet juist voor ons model. Verwijder deze relatie in de modelweergave .
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: Enkel ('Jaargemiddelde wisselkoers' filters 'Datum')
De relatie moet er als volgt uitzien:
Sla uw model op.
Een metinggroepstabel maken
Met een maateenheidgroep kunt u verschillende metingen ordenen door ze in één tabel te hebben.
Selecteer gegevens invoeren op het lint Start.
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.
Meetcriteria maken
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:
Klik in Verkoopmetingen met de rechtermuisknop op Kolom1 en selecteer Verbergen in de rapportweergave. Hiermee worden verkoopmetingen gewijzigd in een maateenheidgroep, die nu boven aan het deelvenster Gegevens wordt weergegeven met een pictogram voor een maateenheidgroep, zoals deze:
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:
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 maateenheidgroep Verkoopmetingen moet er nu als volgt uitzien:
Een rapport maken
Ga naar de rapportweergave. Voeg een nieuwe, lege pagina toe aan het rapport.
Voeg een lijndiagramvisual toe aan uw nieuwe rapportpagina. U gebruikt deze visual om uw meting te zien voordat u de tekenreeks voor dynamische opmaak voor metingen toevoegt.
Selecteer Geconverteerde verkoophoeveelheid in het deelvenster >Gegevens. Als u ergens anders op hoeft te klikken, selecteert u ook Year in de tabel Date .
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:
Voeg een slicervisual toe aan uw rapportpagina. Voeg op het lint Opmaak land uit de tabel Landnotatietekenreeksen toe aan de slicer.
Rangschik de visuals opnieuw totdat ze een betere indeling hebben, ongeveer als volgt:
Hoewel dit niet vereist is, kunt u visuele eigenschappen wijzigen om een mooier rapport te maken:
Slicer
- 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
- Slicerheader: 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 rijopvulling
- Waarden, waarden: achtergrondkleur #F6F4F4
- Waarden, waarden: alternatieve 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:
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.
Selecteer Geconverteerde verkoophoeveelheid in het deelvenster >Gegevens.
Klik in het lint Hulpmiddelen voor meten op de vervolgkeuzelijst Opmaak en selecteer Vervolgens Dynamisch.
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:
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.
Sla uw model op.
Bekende problemen en overwegingen
Tijdens de preview worden de volgende problemen en beperkingen opgelost:
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 opties voor visuele opmaak, zoekt u naar weergave-eenheden en wijzigt u deze van Automatisch in Geen.
De meting zelf kan rechtstreeks in de tekenreeks met dynamische notatie worden verwezen met behulp van de naam, zoals [Measure A], of indirect met behulp van
SELECTEDMEASURE()
.Tekenreeksen voor dynamische opmaak voor metingen zijn alleen bedoeld voor modelmetingen. 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. Tijdens de preview:
- Externe modelmetingen met gedefinieerde tekenreeksen voor dynamische opmaak kunnen geen opmaaktekenreekswijzigingen aanbrengen in een tekenreeks met statische opmaak of in een andere DAX-expressie voor dynamische opmaaktekenreeksen.
- Metingen voor externe modellen kunnen niet worden gewijzigd van een tekenreeks met statische opmaak in een DAX-expressie voor dynamische opmaak die is gedefinieerd in het lokale model.
- Metingen van lokaal model worden geblokkeerd voor het gebruik van tekenreeksen voor dynamische opmaak voor metingen.