Lektion 7: Erstellen eines Drillthroughberichts
Neu: 17. Juli 2006
Eine der Möglichkeiten der Verwendung von Parametern besteht darin, einen Drillthrough zu anderen Berichten auszuführen. In dieser Lektion fügen Sie dem AdventureWorks-Beispielbericht "Territory Sales Drilldown" einen Parameter hinzu. Im Bericht werden die Berichtsdaten nach der Sales Territory-Gruppe gefiltert. Zur Angabe verfügbarer Werte für den Parameter erstellen Sie ein TerritoryGroup-Dataset, mit dem die genauen Werte abgerufen werden, die für Sales Territory-Gruppen aus der AdventureWorks-Datenbank zur Verfügung stehen.
In der nächsten Lektion verwenden Sie diesen Bericht als Ziel verschiedener Arten von Navigationsaktionen.
So öffnen Sie das Berichtsserverprojekt Advanced Parameters Tutorial
Öffnen Sie in SQL Server Business Intelligence Development Studio das Berichtsserverprojekt Advanced Parameters Tutorial, das in der vorherigen Lektion erstellt wurde.
Doppelklicken Sie im Projektmappen-Explorer auf den Resellers Worldwide-Bericht. Der Bericht wird in der Layoutansicht geöffnet.
Klicken Sie auf die Registerkarte Daten.
So importieren Sie den AdventureWorks-Beispielbericht Territory Sales Drilldown
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Ordner Berichte, und wählen Sie Hinzufügen und anschließend Vorhandenes Element aus. Das Dialogfeld Vorhandenes Element hinzufügen wird geöffnet.
Hinweis: Mit dem Befehl Berichte importieren werden vorhandene Microsoft Access-Berichte importiert. Vorhandene Reporting Services-Berichte können nicht mit dem Befehl importiert werden. Navigieren Sie zum Ordner mit den AdventureWorks-Beispielberichten. Der Standardspeicherort lautet *<drive>:\*Programme\Microsoft SQL Server\90\Samples\Reporting Services\Report Samples\AdventureWorks Sample Reports. Doppelklicken Sie auf den Bericht Territory Sales Drilldown.rdl, um ihn dem Projekt Advanced Parameter Tutorial hinzuzufügen.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Territory Sales Drilldown.rdl, und wählen Sie Umbenennen aus. Geben Sie Parameterized Territory Sales Drilldown.rdl ein. Drücken Sie die EINGABETASTE.
Doppelklicken Sie auf den Bericht Parameterized Territory Sales Drilldown. Der Bericht wird in der Layoutansicht geöffnet.
Als Nächstes müssen Sie die Datenquelle für diesen Bericht dahingehend ändern, dass die in Lektion 1 erstellte freigegebene Datenquelle verwendet wird.
So binden Sie ein Dataset an eine andere Datenquelle
Klicken Sie auf die Registerkarte Daten, um zur Datenansicht zu wechseln. Daraufhin wird folgender Fehler angezeigt: "Es kann keine Verbindung mit der Datenbank hergestellt werden. Legen Sie die Verbindungszeichenfolge fest, und testen Sie sie."
Für den Parameterized Territory Sales Drilldown-Bericht wird die Datenquelle "AdventureWorks" verwendet. Diese Angabe muss zugunsten der freigegebenen Datenquelle "Resellers" geändert werden.
Wählen Sie in der Dropdownliste Datasets das TerritorySales-Dataset aus, und klicken Sie auf die Schaltfläche Ausgewähltes Dataset bearbeiten.
Wählen Sie auf der Registerkarte Abfrage in der Dropdownliste Datenquelle den Eintrag Resellers aus.
Klicken Sie auf OK.
Klicken Sie auf Ausführen (!), um das Resultset anzuzeigen.
Daraufhin müssten mehrere tausend Zeilen mit Werten für sechs Spalten angezeigt werden: Name, SalesPersonID, FirstName, LastName, SalesOrderNumber, TotalDue.
Sie erstellen ein neues Dataset für die gültigen Werte, um diesen Bericht zu parametrisieren. Daraufhin erstellen Sie den neuen Berichtsparameter SalesTerritoryGroup und legen fest, dass die gültigen Werte des Parameters aus diesem Dataset abgerufen werden.
So erstellen Sie ein Dataset für verfügbare Werte
Klicken Sie in der Dropdownliste Dataset auf die Option <Neues Dataset>. Das Dialogfeld Dataset wird geöffnet.
Geben Sie auf der Registerkarte Abfrage in das Textfeld Name den Namen ValidValuesforTerritoryGroup ein.
Überprüfen Sie, ob die Datenquelle gleich Resellers ist.
Überprüfen Sie, ob der Befehlstyp gleich Text ist.
Fügen Sie folgende Abfrage im Abfragebereich ein.
SELECT DISTINCT [Group] AS SalesTerritoryList FROM [AdventureWorks].[Sales].[SalesTerritory]
Die Group-Spalte der Sales.SalesTerritory-Tabelle in der AdventureWorks-Datenbank enthält die Werte für Vertriebsregionen.
Klicken Sie auf Ausführen (!), um das Resultset anzuzeigen.
Die SalesTerritoryList-Spalte wird mit drei Zeilen angezeigt: Europe, North America und Pacific. Diese entsprechen drei verfügbaren Werten für den mehrwertigen SalesTerritoryGroup-Parameter, den Sie im nächsten Arbeitsschritt erstellen*.*
So fügen Sie einen neuen mehrwertigen Berichtsparameter hinzu
Klicken Sie auf die Registerkarte Layout.
Wählen Sie im Menü Bericht den Befehl Berichtsparameter aus. Das Dialogfeld Berichtsparameter wird geöffnet.
Klicken Sie auf Hinzufügen. Es wird ein neuer Berichtsparameter mit Standardwerten erstellt.
Geben Sie im Abschnitt Eigenschaften im Textfeld Name den Namen SalesTerritoryGroup ein. Überprüfen Sie, ob der Datentyp gleich String ist.
Wählen Sie die Option Mehrwertig aus.
Geben Sie an der Eingabeaufforderung die Zeichenfolge Sales Territory Group: ein.
Deaktivieren Sie die Option Leeren Wert zulassen.
Klicken Sie im Abschnitt Verfügbare Werte auf Aus Abfrage.
Wählen Sie in der Dropdownliste Dataset den Wert TerritoryGroup aus.
Wählen Sie in der Dropdownliste Wertfeld den Wert SalesTerritory aus.
Wählen Sie in der Dropdownliste Bezeichnungsfeld den Wert SalesTerritory aus.
Klicken Sie im Abschnitt Standardwerte auf Aus Abfrage.
Wählen Sie in der Dropdownliste Dataset den Wert TerritoryGroup aus.
Wählen Sie in der Dropdownliste Wertfeld den Wert SalesTerritory aus.
Daraufhin werden die Standardwerte für SalesTerritoryGroup auf alle Werte festgelegt, die für das ValidValuesforTerritoryGroup-Dataset abgerufen wurden.
Klicken Sie auf OK.
Sie haben einen Berichtsparameter und die entsprechenden verfügbaren Werte definiert. Im nächsten Arbeitsschritt ändern Sie die TerritorySales-Datasetabfrage so, dass die Spalte für die Sales Territory-Gruppe berücksichtigt wird, anhand der Sie soeben die Gruppe der gültigen Werte erstellt haben. Anschließend ändern Sie die Abfrage, sodass Sie das Resultset auf Daten für die ausgewählten Parameterwerte für SalesTerritoryGroup beschränken können.
So binden Sie den Berichtsparameter an die Datasetabfrage
Klicken Sie auf die Registerkarte Daten.
Wählen Sie in der Dropdownliste Dataset den Wert TerritorySales aus. Die TerritorySales-Abfrage wird im Abfragebereich angezeigt.
Ändern Sie die vorhandene Abfrage, indem Sie die Sales Territory-Gruppe hinzufügen. Diesen Schritt haben Sie bereits für die Abfrage der gültigen Werte ausgeführt. Fügen Sie die Beschränkungsklausel
HAVING (ST.[Group] IN (@SalesTerritoryGroup))
hinzu, mit der die Ergebnisse auf die Daten für die ausgewählten Vertriebsgebiete beschränkt werden.Ersetzen Sie die vorhandene Abfrage durch folgende Abfrage:
SELECT ST.[Group] AS SalesTerritory, ST.Name, SP.SalesPersonID, C.FirstName, C.LastName, SOH.SalesOrderNumber, SOH.TotalDue FROM Sales.SalesTerritory ST INNER JOIN Sales.SalesPerson SP ON ST.TerritoryID = SP.TerritoryID INNER JOIN HumanResources.Employee E ON SP.SalesPersonID = E.EmployeeID INNER JOIN Person.Contact C ON E.ContactID = C.ContactID INNER JOIN Sales.SalesOrderHeader SOH ON SP.SalesPersonID = SOH.SalesPersonID GROUP BY ST.[Group],ST.Name, SP.SalesPersonID, C.FirstName, C.LastName, SOH.SalesOrderNumber, SOH.TotalDue HAVING (ST.[Group] IN (@SalesTerritoryGroup)) ORDER BY ST.Name
(Optional) Überprüfen Sie, ob der Abfrageparameter an den Berichtsparameter gebunden ist. Klicken Sie auf die Schaltfläche Ausgewähltes Dataset bearbeiten, und klicken Sie auf die Registerkarte Parameter. Der @SalesTerritoryGroup-Parameter muss auf den Ausdruck
=Parameters!SalesTerritoryGroup.Value
festgelegt sein.Klicken Sie auf Ausführen (!), um das Resultset anzuzeigen. Das Dialogfeld Abfrageparameter definieren wird angezeigt. Geben Sie Europe ein.
Das Resultset wird angezeigt und enthält ausschließlich Werte für Europa.
Hinweis: Das Testen mehrwertiger Parameter wird im Abfrage-Designer nicht unterstützt.
Für den Parameterized Territory Sales Drilldown-Bericht ist eine bereits vorhandene Hyperlinkaktion zum Textfeld SalesOrderNumber definiert, die sich auf einen Drillthroughbericht im selben Berichtsordner bezieht. Im nächsten Arbeitsschritt ändern Sie den Hyperlink dahingehend, dass der Standardbeispielordner verwendet wird.
So verweisen Sie den Sales Order Number-Drillthrough auf den Beispielberichtsordner
Klicken Sie auf die Registerkarte Layout.
Klicken Sie mit der rechten Maustaste auf das Textfeld SalesOrderNumber, und wählen Sie Eigenschaften aus. Das Dialogfeld Textfeldeigenschaften wird geöffnet.
Klicken Sie auf die Registerkarte Navigation.
Ersetzen Sie im Abschnitt Hyperlink für die Option Zu Bericht springen den Berichtsnamen durch diese vollqualifizierte Berichtsadresse:
/AdventureWorks Sample Reports/Sales Order Detail
Klicken Sie auf OK.
Klicken Sie im Menü Datei auf Alles speichern.
So ändern Sie die Berichtsbeschreibung
Wählen Sie im Menü Bericht den Befehl Berichtseigenschaften aus. Das Dialogfeld Berichtseigenschaften wird geöffnet.
Ersetzen Sie den Text im Textfeld Beschreibung durch folgenden Text: Adventure Works sales by territory with territory parameter.
Klicken Sie auf OK.
Hinweis: Wenn Sie einen Bericht für den Berichtsserver bereitstellen, wird durch Änderungen, die Sie an der Beschreibung im Berichts-Designer vornehmen, die auf dem Berichtsserver veröffentlichte Beschreibung nicht überschrieben. Wenn Sie eine veröffentlichte Beschreibung ersetzen möchten, löschen Sie die Beschreibung mithilfe des Berichts-Managers, und stellen Sie den Bericht anschließend aus dem Berichts-Designer erneut bereit. Wenn Sie die Beschreibung im Berichts-Manager löschen möchten, navigieren Sie zum Bericht, und klicken Sie auf die Registerkarte Eigenschaften. Markieren Sie den Text für Beschreibung, und löschen Sie ihn. Klicken Sie auf Anwenden.
Nächste Schritte
Sie haben Berichtselement-Textfeldern erfolgreich Hyperlinks hinzugefügt. In der nächsten Lektion erstellen Sie einen verknüpften Bericht auf der Grundlage des veröffentlichten Resellers Worldwide-Berichts, um einen Bericht bereitzustellen, mit dem Werte für die Berichtsparameter für eine Zielgruppe vordefiniert werden. Siehe Lektion 8: Hinzufügen eines verknüpften Berichts mit benutzerdefinierten Parameterwerten.
Siehe auch
Andere Ressourcen
Verwenden von Parametern in Reporting Services
Verwenden von Parametern zum Verbinden mit anderen Berichten