Delen via


Verzameling gegevenssetvelden (Report Builder en SSRS)

Gegevenssetvelden vertegenwoordigen de gegevens uit een gegevensverbinding. Een veld kan numerieke of niet-numerieke gegevens vertegenwoordigen. Voorbeelden hiervan zijn verkoopbedragen, totale verkoop, klantnamen, database-id's, URL's, afbeeldingen, ruimtelijke gegevens en e-mailadressen. Op het ontwerpoppervlak worden velden weergegeven als expressies in rapportitems, zoals tekstvakken, tabellen en grafieken.

Een rapport heeft drie typen velden en geeft deze weer in het deelvenster Rapportgegevens: gegevenssetvelden, berekende gegevenssetvelden en ingebouwde velden.

  • Gegevenssetvelden. De metagegevens die de verzameling velden vertegenwoordigen die worden geretourneerd wanneer de gegevenssetquery wordt uitgevoerd op de gegevensbron.

  • Berekende gegevenssetvelden. Aanvullende velden die u voor de gegevensset maakt. Elk berekend veld wordt gemaakt door een expressie te evalueren die u definieert.

  • Ingebouwde velden. De metagegevens die een verzameling velden vertegenwoordigen die door Report Builder worden geleverd, die rapportgegevens bevatten, zoals de naam van het rapport of het tijdstip waarop het rapport is verwerkt. Zie Ingebouwde globals en gebruikersverwijzingen (Report Builder en SSRS) voor meer informatie.

Veldnamen van gegevenssets worden opgeslagen als onderdeel van de definitie van de rapportgegevensset. Zie Rapport ingesloten gegevenssets en gedeelde gegevenssets (Report Builder en SSRS) voor meer informatie.

Opmerking

U kunt gepagineerde rapportdefinitiebestanden (.rdl) maken en wijzigen in Microsoft Report Builder, Power BI Report Builder en in Report Designer in SQL Server Data Tools.

Gegevenssetvelden en -query's

Gegevenssetvelden worden opgegeven door de opdracht gegevenssetquery en door berekende velden die u definieert. De verzameling velden die u in uw rapport ziet, is afhankelijk van het type gegevensset dat u hebt:

  • Gedeelde gegevensset. De veldverzameling is de lijst met velden voor de query in de definitie van de gedeelde gegevensset op het moment dat u de gedeelde gegevensset rechtstreeks aan uw rapport hebt toegevoegd of wanneer u een rapportonderdeel hebt toegevoegd waarin de gedeelde gegevensset is opgenomen. De lokale veldverzameling wordt niet gewijzigd wanneer de definitie van de gedeelde gegevensset wordt gewijzigd op de rapportserver. Als u de lokale veldverzameling wilt bijwerken, moet u de lijst vernieuwen voor de lokale gedeelde gegevensset.

    Opmerking

    Rapportonderdelen zijn afgeschaft voor alle releases van SQL Server Reporting Services vanaf SQL Server Reporting Services 2019 en alle releases van Power BI Report Server vanaf Power BI Report Server september 2022.

  • Ingesloten gegevensset. De veldverzameling is de lijst met velden die worden geretourneerd door de huidige query uit te voeren op de gegevensbron.

Zie voor meer informatie velden toevoegen, bewerken, vernieuwen in het deelvenster Rapportgegevens (Report Builder en SSRS)

Berekende velden

U geeft handmatig een berekend veld op door een expressie te maken. Berekende velden kunnen worden gebruikt om nieuwe waarden te maken die niet aanwezig zijn in de gegevensbron. Een berekend veld kan bijvoorbeeld een nieuwe waarde, een aangepaste sorteervolgorde voor een set veldwaarden of een bestaand veld vertegenwoordigen dat wordt geconverteerd naar een ander gegevenstype.

Berekende velden zijn lokaal in een rapport en kunnen niet worden opgeslagen als onderdeel van een gedeelde gegevensset.

Zie Velden toevoegen, bewerken, vernieuwen in het deelvenster Rapportgegevens (Report Builder en SSRS) voor meer informatie.

Entiteiten en entiteitsvelden

Als u met een rapportmodelgegevensbron werkt, geeft u de entiteiten en entiteitsvelden op als rapportgegevens. In de ontwerpfunctie voor query's voor een rapportmodel kunt u gerelateerde entiteiten interactief verkennen en selecteren en de velden kiezen die u wilt opnemen in uw rapportgegevensset. Nadat u de query hebt ontworpen, ziet u de verzameling entiteits-id's en entiteitsvelden in het deelvenster Rapportgegevens. Entiteits-id's worden automatisch gegenereerd door het rapportmodel en worden doorgaans niet weergegeven voor de eindgebruiker.

Uitgebreide veldeigenschappen gebruiken

Gegevensbronnen die ondersteuning bieden voor multidimensionale query's, zoals SQL Server Analysis Services, ondersteunen veldeigenschappen op velden. Veldeigenschappen worden weergegeven in de resultatenset voor een query, maar zijn niet zichtbaar in het deelvenster Rapportgegevens . Ze zijn nog steeds beschikbaar voor gebruik in uw rapport. Als u naar een eigenschap voor een veld wilt verwijzen, sleept u het veld naar het rapport en wijzigt u de standaardeigenschapswaarde in de veldnaam van de gewenste eigenschap. In een Analysis Services-kubus kunt u bijvoorbeeld indelingen definiëren voor waarden in de kubuscellen. De opgemaakte waarde is beschikbaar met behulp van de veldeigenschap FormattedValue. Als u de waarde rechtstreeks wilt gebruiken in plaats van een waarde te gebruiken en de opmaakeigenschap van het tekstvak in te stellen, sleept u het veld naar het tekstvak en wijzigt u de standaardexpressie =Fields!FieldName.Value in =Fields!FieldName.FormattedValue.

Opmerking

Niet alle veldeigenschappen kunnen worden gebruikt voor alle gegevensbronnen. De eigenschappen Value en IsMissing worden gedefinieerd voor alle gegevensbronnen. Andere vooraf gedefinieerde eigenschappen (zoals Key, UniqueName en ParentUniqueName voor multidimensionale gegevensbronnen) worden alleen ondersteund als de gegevensbron deze eigenschappen biedt. Aangepaste eigenschappen worden ondersteund door sommige gegevensproviders. Zie voor meer informatie specifieke onderwerpen over uitgebreide veldeigenschappen voor uw gegevensbrontype in Report Embedded Datasets en Shared Datasets (Report Builder en SSRS). Zie voor een SQL Server Analysis Services-gegevensbron bijvoorbeeld uitgebreide veldeigenschappen voor een Analysis Services-database (SSRS).

Informatie over standaardexpressies voor velden

Een tekstvak kan een tekstvakrapportitem zijn in de hoofdtekst van het rapport of een tekstvak in een cel in een tablix-gegevensgebied. Wanneer u een veld koppelt aan een tekstvak, bepaalt de locatie van het tekstvak de standaardexpressie voor de veldreferentie. In de hoofdtekst van het rapport moet een expressie voor een tekstvakwaarde een statistische waarde en een gegevensset opgeven. Als er slechts één gegevensset in het rapport bestaat, wordt deze standaardexpressie voor u gemaakt. Voor een veld dat een numerieke waarde vertegenwoordigt, is de standaard statistische functie Som. Voor een veld dat een niet-numerieke waarde vertegenwoordigt, is de standaardaggregaties Eerst.

In een tablix-gegevensgebied is de standaardveldexpressie afhankelijk van de rij- en groepslidmaatschappen van het tekstvak waaraan u het veld toevoegt. De veldexpressie voor het veld Sales, wanneer deze wordt toegevoegd aan een tekstvak in de detailrij van een tabel, is [Sales]. Als u hetzelfde veld toevoegt aan een tekstvak in een groepskoptekst, is (Sum[Sales])de standaardexpressie, omdat de groepskoptekst samenvattingswaarden voor de groep weergeeft, niet detailwaarden. Wanneer het rapport wordt uitgevoerd, evalueert de rapportprocessor elke expressie en vervangt het resultaat in het rapport.

Zie Expressies (Report Builder en SSRS) voor meer informatie over expressies.

Veldgegevenstypen

Wanneer u een gegevensset maakt, zijn de gegevenstypen van de velden in de gegevensbron mogelijk niet precies de gegevenstypen die in een rapport worden gebruikt. Gegevenstypen kunnen een of twee toewijzingslagen doorlopen. De extensie voor gegevensverwerking of gegevensprovider kan gegevenstypen van de gegevensbron toewijzen aan CLR-gegevenstypen (Common Language Runtime). De gegevenstypen die worden geretourneerd door extensies voor gegevensverwerking, worden toegewezen aan een subset van CLR-gegevenstypen (Common Language Runtime) van .NET Framework.

In de gegevensbron worden de gegevens opgeslagen in gegevenstypen die worden ondersteund door de gegevensbron. Gegevens in een SQL Server-database moeten bijvoorbeeld een van de ondersteunde SQL Server-gegevenstypen zijn, zoals nvarchar of datum/tijd. Wanneer u gegevens ophaalt uit de gegevensbron, worden de gegevens doorgegeven via een gegevensverwerkingsextensie of gegevensprovider die is gekoppeld aan het gegevensbrontype. Afhankelijk van de extensie voor gegevensverwerking kunnen gegevens worden geconverteerd van de gegevenstypen die door de gegevensbron worden gebruikt in gegevenstypen die worden ondersteund door de extensie voor gegevensverwerking. Reporting Services maakt gebruik van gegevenstypen die worden ondersteund door de Common Language Runtime (CLR) die is geïnstalleerd met SQL Server Data Tools (SSDT). De gegevensprovider wijst elke kolom in de resultatenset van het systeemeigen gegevenstype toe aan een CLR-gegevenstype (Common Language Runtime) van .NET Framework.

In elke fase worden de gegevens vertegenwoordigd door de gegevenstypen, zoals beschreven in de volgende lijst:

  • Gegevensbron De gegevenstypen die worden ondersteund door de versie van het type gegevensbron waarmee u verbinding maakt.

    Typische gegevenstypen voor een SQL Server-gegevensbron bevatten bijvoorbeeld int, datum/tijd en varchar. Gegevenstypen die zijn geïntroduceerd door SQL Server 2008 (10.0.x) hebben ondersteuning toegevoegd voor datum, tijd, datetimetz en datetime2. Zie Gegevenstypen (Transact-SQL) voor meer informatie.

  • Gegevensprovider of gegevensverwerkingsextensie De gegevenstypen die worden ondersteund door de versie van de gegevensprovider van de extensie voor gegevensverwerking die u selecteert wanneer u verbinding maakt met de gegevensbron. Gegevensproviders op basis van .NET Framework maken gebruik van gegevenstypen die worden ondersteund door de CLR. Zie Gegevenstypetoewijzingen (ADO.NET) en werken met basistypen op MSDN voor meer informatie over .NET Framework-gegevensprovidergegevenstypen.

    Typische gegevenstypen die worden ondersteund door .NET Framework bevatten bijvoorbeeld Int32 en String. Kalenderdatums en -tijden worden ondersteund door de structuur DateTime . In .NET Framework 2.0 Service Pack 1 is ondersteuning geïntroduceerd voor de dateTimeOffset-structuur voor datums met een tijdzone-offset.

    Opmerking

    De rapportserver maakt gebruik van de gegevensproviders die op de rapportserver zijn geïnstalleerd en geconfigureerd. Rapportcreatieclients in de preview-modus gebruiken de geïnstalleerde en geconfigureerde extensies voor gegevensverwerking op de clientcomputer. U moet uw rapport testen in zowel de rapportclient als de rapportserveromgeving.

  • Rapportprocessor De gegevenstypen zijn gebaseerd op de versie van de CLR die is geïnstalleerd toen u Reporting Services hebt geïnstalleerd.

    De gegevenstypen die de rapportprocessor gebruikt voor de nieuwe datum- en tijdtypen die zijn geïntroduceerd in SQL Server 2008 (10.0.x) worden bijvoorbeeld weergegeven in de volgende tabel:

    SQL-gegevenstype CLR-gegevenstype Description
    Datum Datum/tijd Alleen datum
    Time Periode Alleen tijd
    DateTimeTZ DateTimeOffset Datum en tijd met tijdzoneverschil
    DateTime2 Datum/tijd Datum en tijd met fractionele milliseconden

Zie Gegevenstypen (Database Engine) en Datum- en tijdgegevenstypen en -functies (Transact-SQL) voor meer informatie over SQL Server-databasetypen.

Zie Gegevenstypen in expressies (Report Builder en SSRS) voor meer informatie over het opnemen van verwijzingen naar een gegevenssetveld vanuit een expressie.

Ontbrekende velden tijdens runtime detecteren

Wanneer het rapport wordt verwerkt, bevat de resultatenset voor een gegevensset mogelijk geen waarden voor alle opgegeven kolommen omdat de kolommen niet meer aanwezig zijn in de gegevensbron. U kunt de veldeigenschap IsMissing gebruiken om te detecteren of waarden voor een veld tijdens runtime zijn geretourneerd. Zie Verzamelingsverwijzingen voor gegevenssetvelden (Report Builder en SSRS) voor meer informatie.