Share via


Relational Query Designer Gebruikersinterface (Report Builder)

Report Builder en Report Designer in SQL Server Data Tools (SSDT) bieden zowel een grafische ontwerpfunctie voor query's als een op tekst gebaseerde ontwerpfunctie voor query's waarmee u een query kunt maken die de gegevens opgeeft die moeten worden opgehaald uit relationele databases van Microsoft SQL Server en Microsoft SQL Database en Microsoft SQL Server 2016 (13.x) Analytics Platform System (PDW) voor een rapportgegevensset. Gebruik de grafische ontwerpfunctie voor query's om de metagegevens te verkennen, interactief een query te maken en de resultaten voor uw query weer te geven. Gebruik de ontwerpfunctie voor tekstquery's om de query weer te geven die is gemaakt door de grafische ontwerpfunctie voor query's of om een query te wijzigen. U kunt ook een bestaande query importeren uit een bestand of rapport.

Opmerking

Als u in Report Builder een query wilt opgeven voor gegevensbrontypen Oracle, OLE DB, ODBC en Teradata, moet u de ontwerpfunctie voor tekstquery's gebruiken. Zie De gebruikersinterface van Query Designer op basis van tekst (Report Builder) voor meer informatie.

Belangrijk

Gebruikers hebben toegang tot gegevensbronnen wanneer ze query's maken en uitvoeren. U moet minimale machtigingen verlenen voor de gegevensbronnen, zoals alleen-lezenmachtigingen.

Grafische ontwerpfunctie voor query's

In de grafische ontwerpfunctie voor query's kunt u de databasetabellen en -weergaven verkennen en interactief de SQL SELECT-instructie maken waarmee de databasetabellen en -kolommen worden opgegeven waaruit gegevens voor een gegevensset moeten worden opgehaald. U kiest de velden die u wilt opnemen in de gegevensset en geeft desgewenst filters op waarmee de gegevens in de gegevensset worden beperkt. U kunt opgeven dat filters worden gebruikt als parameters en de waarde van het filter opgeven tijdens runtime. Als u meerdere gerelateerde tabellen kiest, beschrijft de ontwerpfunctie voor query's de relatie tussen sets van twee tabellen.

De grafische ontwerpfunctie voor query's is onderverdeeld in drie gebieden. Afhankelijk van of de query tabellen/weergaven of opgeslagen procedures/tabelwaardefuncties gebruikt, verandert de indeling van de ontwerpfunctie voor query's.

Opmerking

SQL Server 2016 (13.x) Analytics Platform System (PDW) biedt geen ondersteuning voor opgeslagen procedures of tabelwaardefuncties.

In de volgende afbeelding ziet u de grafische ontwerpfunctie voor query's wanneer deze wordt gebruikt met tabellen of weergaven.

Grafische ontwerper voor query's

In de volgende afbeelding ziet u de grafische ontwerpfunctie voor query's wanneer deze wordt gebruikt met opgeslagen procedures of tabelwaardefuncties.

Opgeslagen procedure in de grafische ontwerpfunctie voor query's opgeslagen

In de volgende tabel wordt de functie van elk deelvenster beschreven.

Databaseweergave
Geeft een hiërarchische weergave weer van tabellen, weergaven, opgeslagen procedures en tabelwaardefuncties die zijn geordend op databaseschema.

Geselecteerde velden
Geeft de lijst weer met databaseveldnamen uit de geselecteerde items in het deelvenster Databaseweergave. Deze velden worden de veldverzameling voor de rapportgegevensset.

Functieparameters
Geeft de lijst met invoerparameters weer voor opgeslagen procedures of tabelwaardefuncties in het deelvenster Databaseweergave.

relaties
Geeft een lijst weer met relaties die zijn afgeleid van geselecteerde velden voor tabellen of weergaven in het deelvenster Databaseweergave of de relaties die u handmatig hebt gemaakt.

Toegepaste filters
Geeft een lijst met velden en filtercriteria weer voor tabellen of weergaven in de databaseweergave.

Queryresultaten
Geeft voorbeeldgegevens weer voor de resultatenset voor de automatisch gegenereerde query.

Deelvenster Databaseweergave

In het deelvenster Databaseweergave worden de metagegevens weergegeven voor databaseobjecten die u kunt weergeven. Dit wordt bepaald door de verbinding en referenties van de gegevensbron. In de hiërarchische weergave worden databaseobjecten weergegeven die zijn geordend op databaseschema. Vouw het knooppunt voor elk schema uit om tabellen, weergaven, opgeslagen procedures en tabelwaardefuncties weer te geven. Vouw een tabel of weergave uit om de kolommen weer te geven.

Deelvenster Geselecteerde velden

In het deelvenster Geselecteerde velden worden de velden in de rapportgegevensset en de groepen en aggregaties weergegeven die in de query moeten worden opgenomen.

De volgende opties worden weergegeven:

  • Geselecteerde velden Geeft de databasevelden weer die u selecteert voor tabellen of weergaven of de invoerparameters voor opgeslagen procedures of tabelwaardefuncties. De velden die in dit deelvenster worden weergegeven, worden de veldverzameling voor de rapportgegevensset.

    Gebruik het deelvenster Rapportgegevens om de veldverzameling voor een rapportgegevensset weer te geven. Deze velden vertegenwoordigen de gegevens die u kunt weergeven in tabellen, grafieken en andere rapportitems wanneer u een rapport bekijkt.

  • Groeperen en aggregeren schakelt het gebruik van groepering en aggregaties in de query in. Als u de groeperings- en statistische functie uitschakelt nadat u groepering en aggregaties hebt toegevoegd, worden deze verwijderd. De tekst ( geen)geeft aan dat er geen groepering en aggregaties worden gebruikt. Als u de groeperings- en statistische functie weer inschakelt, worden de vorige groeperingen en aggregaties hersteld.

  • Als u veld verwijdert, wordt het geselecteerde veld verwijderd.

Groeperen en aggregeren

Query's naar databases met een grote tabel kunnen een aantal gegevensrijen retourneren die te groot zijn om nuttig te zijn in een rapport en die invloed hebben op de prestaties van het netwerk dat de enorme hoeveelheid gegevens en op de rapportserver die het rapport verwerkt, transporteert. Om het aantal gegevensrijen te beperken, kan de query SQL-aggregaties bevatten die de gegevens op de databaseserver samenvatten. SQL-aggregaties verschillen van aggregaties aan de clientzijde, die worden toegepast wanneer het rapport wordt weergegeven.

Aggregaties bieden samenvattingen van gegevens en de gegevens worden gegroepeerd ter ondersteuning van de aggregaties die de samenvattingsgegevens leveren. Wanneer u een statistische functie in de query gebruikt, worden de andere velden die door de query worden geretourneerd, automatisch gegroepeerd en bevat de query de SQL GROUP BY-component. U kunt gegevens samenvatten zonder een aggregaties toe te voegen met behulp van alleen de optie Gegroepeerd op in de lijst Groeperen en Aggregeren . Veel van de aggregaties bevatten een versie die gebruikmaakt van het sleutelwoord DISTINCT. Het opnemen van DISTINCT elimineert dubbele waarden.

Microsoft SQL Server maakt gebruik van Transact-SQL en Microsoft SQL Server 2016 (13.x) Analytics Platform System (PDW) maakt gebruik van SQL. Beide dialecten van de SQL-taal ondersteunen de component, het trefwoord en de statistische functies die de ontwerpfunctie voor query's biedt.

Zie Transact-SQL Reference (Database Engine) voor meer informatie over Transact-SQL.

De volgende tabel bevat de aggregaties en bevat korte beschrijvingen van deze aggregaties.

Samenvoegen Description
Gemiddelde Retourneert het gemiddelde van de waarden in een groep. Implementeert de statistische SQL AVG.
Aantal Retourneert het aantal items in een groep. Implementeert de statistische SQL COUNT.
Aantal big Retourneert het aantal items in een groep. Dit is de statistische SQL-COUNT_BIG. Het verschil tussen COUNT en COUNT_BIG is dat COUNT_BIG altijd een waarde voor het gegevenstype bigint retourneert.
Minuut Retourneert de minimumwaarde in een groep. Implementeert de statistische SQL MIN.
Max Retourneert de maximumwaarde in een groep. Implementeert de statistische SQL MAX-functie.
StDev Retourneert de statistische standaarddeviatie van alle waarden in een groep. Implementeert de statistische SQL STDEV.
StDevP Retourneert de statistische standaarddeviatie voor de populatie van alle waarden in een opgegeven groepexpressie. Implementeert de statistische SQL STDEVP.
Som Retourneert de som van alle waarden in de groep. Implementeert de statistische SQL SUM.
Var Geeft als resultaat de statistische variantie van alle waarden in de groep. Implementeert de statistische SQL VAR.
VarP Geeft als resultaat de statistische variantie voor de populatie voor alle waarden in de groep. Implementeert de statistische SQL VARP.
Gem Verschillend Retourneert unieke gemiddelden. Implementeert een combinatie van de AVG-aggregatie en het sleutelwoord DISTINCT.
Aantal Uniek Retourneert unieke aantallen. Implementeert een combinatie van de statistische functie COUNT en het sleutelwoord DISTINCT.
Aantal big distinct Retourneert een uniek aantal items in een groep. Implementeert een combinatie van de COUNT_BIG statistische functie en het sleutelwoord DISTINCT.
StDev Distinct Retourneert unieke statistische standaarddeviaties. Implementeert een combinatie van de statistische functie STDEV en het sleutelwoord DISTINCT.
StDevP Uniek Retourneert unieke statistische standaarddeviaties. Implementeert een combinatie van de statistische functie STDEVP en het sleutelwoord DISTINCT.
Som uniek Retourneert unieke sommen. Implementeert een combinatie van de statistische functie SUM en het sleutelwoord DISTINCT.
Var Distinct Retourneert unieke statistische afwijkingen. Implementeert een combinatie van de statistische functie VAR en het sleutelwoord DISTINCT.
VarP Distinct Retourneert unieke statistische afwijkingen. Hiermee wordt een combinatie van de statistische functie VARP en het sleutelwoord DISTINCT geïmplementeerd.

Functieparameters-deelvenster

In het deelvenster Functieparameters worden de parameters weergegeven voor een opgeslagen procedure of tabelwaardefunctie. De volgende kolommen worden weergegeven:

  • Parameternaam geeft de naam weer van de parameter die is gedefinieerd door de opgeslagen procedure of tabelwaardefunctie.

  • Waarde A die moet worden gebruikt voor de parameter wanneer de query wordt uitgevoerd om gegevens op te halen die tijdens het ontwerptijd moeten worden weergegeven in het deelvenster Queryresultaten. Deze waarde wordt niet gebruikt wanneer het rapport wordt uitgevoerd tijdens runtime.

Deelvenster Relaties

In het deelvenster Relaties worden de joinrelaties weergegeven. De relaties kunnen automatisch worden gedetecteerd op basis van de refererende-sleutelrelaties die worden opgehaald uit de metagegevens van de database of u kunt ze handmatig maken.

De volgende opties worden weergegeven:

  • Automatisch detecteren schakelt de functie automatisch detecteren in waarmee automatisch relaties tussen tabellen worden gemaakt. Als automatische detectie is ingeschakeld, maakt de ontwerpfunctie voor query's relaties van refererende sleutels in tabellen; anders moet u de relaties handmatig maken. Wanneer u tabellen selecteert in het deelvenster Databaseweergave , wordt automatisch geprobeerd relaties te maken. Als u automatisch detecteren inschakelt nadat u handmatig joins hebt gemaakt, worden deze joins verwijderd.

    Belangrijk

    Bij gebruik met SQL Server 2016 (13.x) Analytics Platform System (PDW) worden de metagegevens die nodig zijn om joins te maken niet opgegeven en kunnen relaties niet automatisch worden gedetecteerd. Als uw query gegevens ophaalt uit SQL Server 2016 (13.x) Analytics Platform System (PDW), moeten alle tabel joins handmatig worden gemaakt.

  • Relatie toevoegen voegt een relatie toe aan de lijst Relaties.

    Als automatisch detecteren is ingeschakeld, worden de tabellen waaruit kolommen in de query worden gebruikt, automatisch toegevoegd aan de lijst Relaties . Wanneer automatisch detecteren identificeert dat twee tabellen zijn gerelateerd, wordt er één tabel toegevoegd aan de kolom Linkertabel , de andere de kolom Rechtertabel en wordt er een inner join tussen gemaakt. Elke relatie genereert een JOIN-component in de query. Als de tabellen niet zijn gerelateerd, worden ze allemaal weergegeven in de kolom Linkertabel en de kolom Jointype geeft aan dat de tabellen niet zijn gerelateerd aan andere tabellen. Wanneer de functie 'automatisch detecteren' is ingeschakeld, kunt u geen relaties handmatig toevoegen tussen tabellen die volgens automatisch detecteren geen relatie hebben.

    Als automatische detectie is uitgeschakeld, kunt u relaties tussen tabellen toevoegen en wijzigen. Klik op Velden bewerken om de velden op te geven die u wilt gebruiken om de twee tabellen te koppelen.

    De volgorde waarin de relaties worden weergegeven in de lijst Relaties , is de volgorde waarin de joins worden uitgevoerd in de query. U kunt de volgorde van relaties wijzigen door ze omhoog en omlaag te verplaatsen in de lijst.

    Wanneer u meerdere relaties in een query gebruikt, moet in een procedurerelatie naar een van de tabellen in elke relatie worden verwezen, met uitzondering van de eerste.

    Als naar beide tabellen in een relatie wordt verwezen door een voorgaande relatie, genereert de relatie geen afzonderlijke join-component; in plaats daarvan wordt een joinvoorwaarde toegevoegd aan de join-component die is gegenereerd voor de voorgaande relatie. Het jointype wordt afgeleid door de voorgaande relatie waarnaar dezelfde tabellen verwijzen.

  • Velden bewerken Hiermee opent u het dialoogvenster Gerelateerde velden bewerken waarin u relaties tussen tabellen toevoegt en wijzigt. U hebt de velden in de rechter- en linkertabellen gekozen om samen te voegen. U kunt meerdere velden uit de linkertabel en rechtertabel samenvoegen om meerdere joinvoorwaarden in een relatie op te geven. De twee velden die de linker- en rechtertabellen samenvoegen, hoeven niet dezelfde naam te hebben. De gekoppelde velden moeten compatibele gegevenstypen hebben.

  • Met Relatie verwijderen wordt de geselecteerde relatie verwijderd.

  • Relaties omhoog en omlaag verplaatsen verplaatst relaties omhoog of omlaag in de lijst Relaties . De volgorde waarin relaties in de query worden geplaatst, kan van invloed zijn op de queryresultaten. De relaties worden toegevoegd aan de query in de volgorde waarin ze worden weergegeven in de lijst Relaties .

De volgende kolommen worden weergegeven:

  • Linkertabel geeft de naam weer van de eerste tabel die deel uitmaakt van een joinrelatie.

  • Jointype Geeft het type SQL JOIN-instructie weer dat wordt gebruikt in de automatisch gegenereerde query. Als er een beperking voor refererende sleutels wordt gedetecteerd, wordt INNER JOIN standaard gebruikt. Andere jointypen kunnen LEFT JOIN of RIGHT JOIN zijn. Als geen van deze jointypen van toepassing is, wordt de kolom Jointype niet-gerelateerd weergegeven. Er worden geen CROSS JOIN-joins gemaakt voor niet-gerelateerde tabellen; In plaats daarvan moet u handmatig relaties maken door kolommen in de linker- en rechtertabellen samen te voegen.

  • In de rechtertabel wordt de naam van de tweede tabel in de joinrelatie weergegeven.

  • Join-velden bevat de paren gekoppelde velden, als een relatie meerdere joinvoorwaarden heeft, worden de paren gekoppelde velden gescheiden door komma's (,).

Deelvenster Toegepaste filters

In het deelvenster Toegepaste filters worden de criteria weergegeven die worden gebruikt om het aantal rijen met gegevens te beperken dat tijdens runtime wordt opgehaald. Criteria die in dit deelvenster worden opgegeven, worden gebruikt om een SQL WHERE-component te genereren. Wanneer u de parameteroptie selecteert, wordt automatisch een rapportparameter gemaakt. Met rapportparameters die zijn gebaseerd op queryparameters kan een gebruiker waarden opgeven voor de query om de gegevens in het rapport te beheren.

De volgende kolommen worden weergegeven:

  • Veldnaam Geeft de naam van het veld weer waarop de criteria moeten worden toegepast.

  • Operator Geeft de bewerking weer die moet worden gebruikt in de filterexpressie.

  • Waarde Geeft de waarde weer die moet worden gebruikt in de filterexpressie.

  • Parameter Geeft de optie weer om een queryparameter toe te voegen aan de query. Gebruik de eigenschappen van de gegevensset om de relatie tussen de queryparameter en de rapportparameter weer te geven.

Deelvenster Queryresultaten

In het deelvenster Queryresultaten worden de resultaten weergegeven voor de automatisch gegenereerde query die is opgegeven door selecties in de andere deelvensters. De kolommen in de resultatenset zijn de velden die u opgeeft in het deelvenster Geselecteerde velden en de rijgegevens worden beperkt door de filters die u opgeeft in het deelvenster Toegepaste filters. Als de query statistische functies bevat, bevat de resultatenset de nieuwe samengevoegde kolommen. Als de kolomkleur bijvoorbeeld wordt samengevoegd met behulp van de statistische functie Aantal, bevatten de queryresultaten een nieuwe kolom. Deze kolom heeft standaard de naam Count_Color.

Deze gegevens vertegenwoordigen waarden uit de gegevensbron op het moment dat u de query uitvoert. De gegevens worden niet opgeslagen in de rapportdefinitie. De werkelijke gegevens in het rapport worden opgehaald wanneer het rapport wordt verwerkt.

Sorteervolgorde in de resultatenset wordt bepaald door de volgorde waarin de gegevens worden opgehaald uit de gegevensbron. Sorteervolgorde kan worden gewijzigd door de query te wijzigen of nadat de gegevens voor het rapport zijn opgehaald.

Werkbalk Grafische ontwerpfunctie voor query's

De werkbalk van de ontwerpfunctie voor relationele query's bevat de volgende knoppen waarmee u de resultaten van een query kunt opgeven of weergeven.

Knop Description
Bewerken als tekst Schakel naar de ontwerpfunctie voor tekstgebaseerde query's om de automatisch gegenereerde query weer te geven of om de query te wijzigen.
Invoer Importeer een bestaande query uit een bestand of rapport. Bestandstypen .sql en RDL worden ondersteund.
Query uitvoeren Voer de query uit. In het deelvenster Queryresultaten wordt de resultatenset weergegeven.

Het begrijpen van automatisch gegenereerde query's

Wanneer u tabellen en kolommen of opgeslagen procedures en weergaven selecteert in het deelvenster Databaseweergave, haalt de ontwerpfunctie voor query's de onderliggende primaire sleutel- en refererende-sleutelrelaties op uit het databaseschema. Door deze relaties te analyseren, detecteert de ontwerpfunctie voor query's relaties tussen twee tabellen en voegt joins toe aan de query. Vervolgens kunt u de query wijzigen door groepen en aggregaties toe te voegen, relaties toe te voegen of te wijzigen en filters toe te voegen. Als u de querytekst wilt weergeven waarin de kolommen worden weergegeven waaruit u gegevens wilt ophalen, klikt u op De joins tussen tabellen en groepen of aggregaties op Bewerken als tekst.

Ontwerper voor Text-Based query's

Gebruik de ontwerpfunctie voor tekstgebaseerde query's voor de meeste controle over uw query. Als u wilt overschakelen naar de ontwerpfunctie voor query's op basis van tekst, klikt u in de werkbalk op Bewerken als tekst. Nadat u een query in de ontwerpfunctie voor tekstquery's hebt bewerkt, kunt u de ontwerpfunctie voor relationele query's niet meer gebruiken. De query wordt vervolgens altijd geopend in de ontwerpfunctie voor query's op basis van tekst. Zie De gebruikersinterface van Query Designer op basis van tekst (Report Builder) voor meer informatie.