Expressies in Power BI Report Builder
VAN TOEPASSING OP: Power BI Report Builder
Power BI Desktop
Expressies worden veel gebruikt in gepagineerde rapporten van Power BI Report Builder voor het ophalen, berekenen, weergeven, groeperen, sorteren, filteren, parameteriseren en opmaken van gegevens.
Veel eigenschappen van rapportitems kunnen worden ingesteld op een expressie. Met expressies kunt u de inhoud, het ontwerp en de interactiviteit van uw rapport beheren. Expressies worden geschreven in Microsoft Visual Basic, opgeslagen in de rapportdefinitie en geëvalueerd door de rapportprocessor wanneer u het rapport uitvoert.
In tegenstelling tot toepassingen zoals Microsoft Excel waar u rechtstreeks in een werkblad met gegevens werkt, werkt u in een rapport met expressies die tijdelijke aanduidingen voor gegevens zijn. Als u de werkelijke gegevens uit de geëvalueerde expressies wilt zien, moet u een voorbeeld van het rapport bekijken. Wanneer u het rapport uitvoert, evalueert de rapportprocessor elke expressie naarmate rapportgegevens en rapportindelingselementen, zoals tabellen en grafieken, worden gecombineerd.
Wanneer u een rapport ontwerpt, worden veel expressies voor rapportitems voor u ingesteld. Wanneer u bijvoorbeeld een veld van het gegevensvenster naar een tabelcel in het ontwerpoppervlak van het rapport sleept, wordt de waarde van het tekstvak ingesteld op een eenvoudige expressie voor het veld. In de volgende afbeelding worden in het deelvenster Rapportgegevens de gegevenssetvelden-id, Naam, SalesTerritory, Code en Verkoop weergegeven. Er zijn drie velden toegevoegd aan de tabel: [Name]
, [Code]
en [Sales]
. De notatie [Name]
op het ontwerpoppervlak vertegenwoordigt de onderliggende expressie =Fields!Name.Value
.
Wanneer u een voorbeeld van het rapport bekijkt, combineert de rapportprocessor het tabelgegevensgebied met de werkelijke gegevens uit de gegevensverbinding en geeft een rij weer in de tabel voor elke rij in de resultatenset.
Als u expressies handmatig wilt invoeren, selecteert u een item op het ontwerpoppervlak en gebruikt u snelmenu's en dialoogvensters om de eigenschappen van het item in te stellen. Wanneer u de knop (fx) of de waarde <Expression>
in een vervolgkeuzelijst ziet, weet u dat u de eigenschap kunt instellen op een expressie.
Eenvoudige en complexe expressies begrijpen
Expressies beginnen met een gelijkteken (=) en worden geschreven in Microsoft Visual Basic. Expressies kunnen bestaan uit een combinatie van constanten, operators en verwijzingen naar ingebouwde waarden (velden, verzamelingen en functies) en naar externe of aangepaste code.
U kunt expressies gebruiken om de waarde van veel eigenschappen van rapportitems op te geven. De meest voorkomende eigenschappen zijn waarden voor tekstvakken en tijdelijke aanduidingen. Als een tekstvak slechts één expressie bevat, is de expressie doorgaans de waarde van de tekstvakeigenschap. Als een tekstvak meerdere expressies bevat, is elke expressie de waarde van tijdelijke tekst in het tekstvak.
Expressies worden standaard weergegeven op het ontwerpoppervlak van het rapport als eenvoudige of complexe expressies.
Eenvoudig: Een eenvoudige expressie bevat een verwijzing naar één item in een ingebouwde verzameling, bijvoorbeeld een gegevenssetveld, een parameter of een ingebouwd veld. Op het ontwerpoppervlak wordt een eenvoudige expressie tussen vierkante haken weergegeven. Komt bijvoorbeeld
[FieldName]
overeen met de onderliggende expressie=Fields!FieldName.Value
. Eenvoudige expressies worden automatisch voor u gemaakt terwijl u de rapportindeling maakt en items van het deelvenster Rapportgegevens naar het ontwerpoppervlak sleept. Zie Voorvoegselsymbolen voor eenvoudige expressies voor meer informatie over de symbolen die verschillende ingebouwde verzamelingen vertegenwoordigen.Complex: Een complexe expressie bevat verwijzingen naar meerdere ingebouwde verwijzingen, operators en functie-aanroepen. Een complexe expressie wordt weergegeven als
<<Expr>>
wanneer de expressiewaarde meer dan een eenvoudige verwijzing bevat. Als u de expressie wilt weergeven, plaatst u de muisaanwijzer erop en gebruikt u de knopinfo. Als u de expressie wilt bewerken, opent u deze in het dialoogvenster Expressie .
In de volgende afbeelding ziet u typische eenvoudige en complexe expressies voor zowel tekstvakken als tijdelijke aanduidingen.
Als u voorbeeldwaarden wilt weergeven in plaats van tekst voor expressies, past u opmaak toe op het tekstvak of de tijdelijke aanduiding voor tekst. In de volgende afbeelding ziet u het ontwerpoppervlak van het rapport dat is ingeschakeld om voorbeeldwaarden weer te geven:
Informatie over voorvoegselsymbolen in eenvoudige expressies
Eenvoudige expressies gebruiken symbolen om aan te geven of de verwijzing naar een veld, een parameter, een ingebouwde verzameling of de verzameling ReportItems is. In de volgende tabel ziet u voorbeelden van weergave- en expressietekst:
Artikel | Voorbeeld van weergavetekst | Voorbeeld van expressietekst |
---|---|---|
Gegevenssetvelden | [Sales] [SUM(Sales)] [FIRST(Store)] |
=Fields!Sales.Value =Sum(Fields!Sales.Value) =First(Fields!Store.Value) |
Rapportparameters | [@Param] [@Param.Label] |
=Parameters!Param.Value =Parameters!Param.Label |
Ingebouwde velden | [&ReportName] |
=Globals!ReportName.Value |
Letterlijke tekens die worden gebruikt voor weergavetekst | \[Sales\] |
[Sales] |
Complexe expressies schrijven
Expressies kunnen verwijzingen bevatten naar functies, operators, constanten, velden, parameters, items uit ingebouwde verzamelingen en ingesloten aangepaste code of aangepaste assembly's.
De volgende tabel bevat de soorten verwijzingen die u in een expressie kunt opnemen:
Verwijzingen | Beschrijving | Voorbeeld |
---|---|---|
Constanten | Beschrijft de constanten die u interactief kunt openen voor eigenschappen waarvoor constante waarden zijn vereist, zoals tekstkleuren. | ="Blue" |
Operators | Beschrijft de operators die u kunt gebruiken om verwijzingen in een expressie te combineren. De operator & wordt bijvoorbeeld gebruikt voor het samenvoegen van tekenreeksen. | ="The report ran at: " & Globals!ExecutionTime & "." |
Ingebouwde verzamelingen | Beschrijft de ingebouwde verzamelingen die u kunt opnemen in een expressie, zoals Fields , Parameters en Variables . |
=Fields!Sales.Value =Parameters!Store.Value =Variables!MyCalculation.Value |
Ingebouwde rapport- en statistische functies | Beschrijft de ingebouwde functies, zoals Sum of Previous , die u vanuit een expressie kunt openen. |
=Previous(Sum(Fields!Sales.Value)) |
Aangepaste code- en assemblyverwijzingen in expressies in Report Builder | Hierin wordt beschreven hoe u toegang hebt tot de ingebouwde CLR-klassen xref:System.Math en xref:System.Convert , andere CLR-klassen, Visual Basic-runtimebibliotheekfuncties of -methoden van een externe assembly.Hierin wordt beschreven hoe u toegang krijgt tot aangepaste code die is ingesloten in uw rapport of die u compileert en installeert als een aangepaste assembly op zowel de rapportclient als de rapportserver. |
=Sum(Fields!Sales.Value) =CDate(Fields!SalesDate.Value) =DateAdd("d",3,Fields!BirthDate.Value) =Code.ToUSD(Fields!StandardCost.Value) |
Expressies valideren
Wanneer u een expressie maakt voor een specifieke rapportitemeigenschap, zijn de verwijzingen die u in een expressie kunt opnemen afhankelijk van de waarden die de eigenschap van het rapportitem kan accepteren en het bereik waarin de eigenschap wordt geëvalueerd. Voorbeeld:
De expressie
[Sum]
berekent standaard de som van de gegevens die binnen het bereik vallen op het moment dat de expressie wordt geëvalueerd. Voor een tabelcel is het bereik afhankelijk van groepslidmaatschappen voor rijen en kolommen.Voor de waarde voor een eigenschap Lettertype moet de waarde de naam van een lettertype evalueren.
De syntaxis van de expressie wordt gevalideerd tijdens het ontwerp. Validatie van expressiebereik vindt plaats wanneer u het rapport publiceert. Voor validatie die afhankelijk is van de werkelijke gegevens, kunnen fouten alleen tijdens runtime worden gedetecteerd. Sommige van deze expressies produceren #Error als een foutbericht in het weergegeven rapport.