Lektion 1: Erstellen freigegebener Datasets und Konfigurieren von Berichtsparametern (SSRS)

In dieser Lektion erstellen Sie freigegebene Datasets und konfigurieren Berichtsparameter auf Grundlage der Datasetabfrageparameter für den Bericht "Employee_Sales_Summary_2008R2".

Lernziele

In diesem Lernprogramm lernen Sie Folgendes:

  • Erstellen einer Kopie des Basisberichts für den Start

  • Hinzufügen von mehreren freigegebenen Datasets zum Projekt und zum Bericht

  • Konfigurieren von Berichtsparametern, die automatisch für jeden Datasetabfrageparameter erstellt werden

  • Hinzufügen einer Szenariobeschreibung, die dem Berichtsbenutzer den Zweck des Berichts beschreibt

  • Hinzufügen von bedingt ausgeblendetem Text , um die Datenquellen- und Datasetabfrageinformationen anzuzeigen

  • Hinzufügen von bedingt ausgeblendetem Text , um vom Berichtsbenutzer ausgewählte Parameterwerte anzuzeigen

  • Hinzufügen von bedingt ausgeblendetem Text , um die Berichtsbeschreibung anzuzeigen

  • Hinzufügen eines Berichtstitels

  • Anzeigen und Überprüfen des Berichts in der Vorschau

  • Bereitstellen des Berichts

Ungefähre Dauer dieses Lernprogramms: 15 Minuten.

Anforderungen

Informationen zu den Anforderungen finden Sie unter Erforderliche Komponenten für AdventureWorks 2008R2-Beispielberichte (SSRS).

Für diese Lektion wird vorausgesetzt, dass Sie Erstellen des Berichtsserverprojekts und des Berichts AdventureWorks2008R2_Base (SSRS) abgeschlossen haben.

Tipps

Eine Liste allgemeiner Tipps finden Sie unter Berichtsentwurfstipps (Report Builder 3.0 und SSRS).

So öffnen Sie das Projekt und erstellen eine Kopie des Berichts

  1. Öffnen Sie in Business Intelligence Development Studio das Berichtsserverprojekt "AdventureWorks 2008R2-Beispielberichte".

  2. Führen Sie im Projektmappen-Explorer die folgenden Aktionen aus:

    1. Klicken Sie mit der rechten Maustaste auf den Bericht "AdventureWorks2008R2_Base.rdl", und klicken Sie dann auf Kopieren.

    2. Klicken Sie mit der rechten Maustaste auf den Projektknoten, und klicken Sie dann auf Einfügen.

    3. Benennen Sie den kopierten Bericht in Employee_Sales_Summary_2008R2.rdl um.

Erstellen freigegebener Datasets

In diesem Berichtsprojekt werden vier freigegebene Datasets verwendet, die auf der freigegebenen Datenquelle "AdventureWorks2008R2" basieren.

Erstellen von "EmployeeSalesYearOverYear2008R2"

So fügen Sie ein freigegebenes Dataset für Jahresvergleichsumsätze hinzu

  1. Fügen Sie im Projektmappen-Explorer ein freigegebenes Dataset mit dem Namen EmployeeSalesYearOverYear2008R2 hinzu.

    Die Daten helfen, die Frage zu beantworten: Wie lassen sich meine Saisonumsätze über die Jahre vergleichen?

    Im Bericht werden diese Daten im Liniendiagramm und im Sparklinediagramm angezeigt.

  2. Zeigen Sie auf die freigegebene Datenquelle AdventureWorks2008R2, und fügen Sie die folgende Abfrage hinzu:

    SELECT   P.FirstName + ' ' + P.LastName AS Employee, 
       DATEPART(Year, SOH.OrderDate) AS [Year], 
       DATEPART(Month, SOH.OrderDate) AS MonthNumber, 
       DATENAME(Month, SOH.OrderDate) AS [Month], 
       SUM(DET.LineTotal) AS Sales
    FROM [Sales].[SalesPerson] SP 
       INNER JOIN [Sales].[SalesOrderHeader] SOH ON SP.[BusinessEntityID] = SOH.[SalesPersonID]
       INNER JOIN Sales.SalesOrderDetail DET ON SOH.SalesOrderID = DET.SalesOrderID
       INNER JOIN [Sales].[SalesTerritory] ST ON SP.[TerritoryID] = ST.[TerritoryID] 
       INNER JOIN [HumanResources].[Employee] E ON SOH.[SalesPersonID] = E.[BusinessEntityID] 
       INNER JOIN [Person].[Person] P ON P.[BusinessEntityID] = SP.[BusinessEntityID]
    WHERE (DATEPART(Year, SOH.OrderDate) <= @ReportYear - 1 OR
       DATEPART(Year, SOH.OrderDate) = @ReportYear AND DATEPART(Month, SOH.OrderDate) <= @ReportMonth) AND 
       (SOH.SalesPersonID = (@EmployeeID))
    GROUP BY P.FirstName + ' ' + P.LastName, SOH.SalesPersonID, 
       DATEPART(Year, SOH.OrderDate), DATEPART(Month, SOH.OrderDate), 
       DATENAME(Month, SOH.OrderDate)
    

    Das freigegebene Dataset wird im Projektmappen-Explorer angezeigt.

  3. Erstellen Sie im Bereich "Berichtsdaten" ein Dataset mit dem Namen "EmployeeSalesYearOverYear2008R2".

  4. Wählen Sie im Dialogfeld Dataseteigenschaften die Option Verwenden Sie ein freigegebenes Dataset aus, und klicken Sie auf das im Projektmappen-Explorer erstellte Dataset.

    Die Datasetabfrage enthält die Abfragevariablen @ReportMonth, @ReportYear und @EmployeeID.

  5. Überprüfen Sie in Dataseteigenschaften, ob für jede Abfragevariable ein Datasetparameter erstellt wird.

  6. Überprüfen Sie im Bereich "Berichtsdaten", ob für jeden Datasetparameter ein Berichtsparameter erstellt wird.

Das Dataset im Bereich "Berichtsdaten" ist ein Verweis auf das freigegebene Dataset im Projektmappen-Explorer. Nachdem der Bericht veröffentlicht wurde, zeigt der Verweis auf das freigegebene Dataset auf dem Berichtsserver oder der SharePoint-Website.

Erstellen von "EmployeeSalesDetail2008R2"

So fügen Sie ein freigegebenes Dataset hinzu, das Daten für jeden Auftrag enthält

  1. Fügen Sie im Projektmappen-Explorer ein freigegebenes Dataset mit dem Namen EmployeeSalesDetail2008R2 hinzu.

    Diese Daten helfen, die Frage zu beantworten: Erreiche ich meine Sollvorgaben für den Verkauf für den ganzen Monat und jede Kategorie?

    Im Bericht werden diese Daten von der Matrix und den eingebetteten Indikatoren angezeigt.

  2. Verwenden Sie die freigegebene Datenquelle "AdventureWorks2008R2" und die folgende Abfrage:

    SELECT PER.FirstName + ' ' + PER.LastName AS Employee,
       PS.Name AS Subcategory, SUM(DET.LineTotal) AS Sales, 
       SOH.SalesOrderID,  SOH.SalesOrderNumber, 
       P.Name AS Product, 
       SUM(DET.OrderQty) AS OrderQty, DET.UnitPrice, 
       PC.Name AS Category
    FROM Sales.SalesOrderHeader SOH 
       INNER JOIN [Sales].[SalesPerson] SP ON SP.[BusinessEntityID] = SOH.[SalesPersonID]
       INNER JOIN Sales.SalesOrderDetail DET ON SOH.SalesOrderID = DET.SalesOrderID
       INNER JOIN [HumanResources].[Employee] E ON SOH.[SalesPersonID] = E.[BusinessEntityID] 
       INNER JOIN [Person].[Person] PER ON PER.[BusinessEntityID] = SP.[BusinessEntityID]
       INNER JOIN Production.Product P ON DET.ProductID = P.ProductID 
       INNER JOIN Production.ProductSubcategory PS ON P.ProductSubcategoryID = PS.ProductSubcategoryID 
       INNER JOIN Production.ProductCategory PC ON PS.ProductCategoryID = PC.ProductCategoryID
    WHERE (DATEPART(Year, SOH.OrderDate) = @ReportYear) AND 
       (DATEPART(Month, SOH.OrderDate) = @ReportMonth) AND 
        (SOH.SalesPersonID = @EmployeeID)
    GROUP BY PER.FirstName + ' ' + PER.LastName, 
       DATEPART(Month, SOH.OrderDate), SOH.SalesOrderID, SOH.SalesOrderNumber, 
       P.Name, PS.Name, DET.UnitPrice, PC.Name
    

    Das freigegebene Dataset wird im Projektmappen-Explorer angezeigt.

  3. Erstellen Sie im Bereich "Berichtsdaten" ein Dataset mit dem Namen "EmployeeSalesDetail2008R2".

  4. Wählen Sie im Dialogfeld Dataseteigenschaften die Option Verwenden Sie ein freigegebenes Dataset aus, und klicken Sie auf das im Projektmappen-Explorer erstellte Dataset.

Erstellen von "EmpSalesMonth2008R2"

So fügen Sie ein freigegebenes Dataset für monatliche Vergleichsumsätze hinzu

  1. Fügen Sie im Projektmappen-Explorer ein freigegebenes Dataset mit dem Namen "EmpSalesMonth2008R2" hinzu.

    Diese Daten helfen, die Frage zu beantworten: Wie verläuft der Kategorieumsatz für diesen Monat im Vergleich zu Umsätzen im gleichen Monat aus vorherigen Jahren?

    Im Bericht werden diese Daten im Säulendiagramm und in einem Datenbalkendiagramm angezeigt.

  2. Verwenden Sie die freigegebene Datenquelle "AdventureWorks2008R2" und die folgende Abfrage:

    SELECT PER.FirstName + ' ' + PER.LastName AS Employee, 
       DATEPART(Year, SOH.OrderDate) AS [Year], 
       DATEPART(Month, SOH.OrderDate) AS [MonthNumber], 
       DATENAME(Month, SOH.OrderDate) AS [Month], 
       PC.Name AS Category, SUM(DET.LineTotal) AS Sales
    FROM Sales.SalesOrderHeader SOH 
       INNER JOIN [Sales].[SalesPerson] SP ON SP.[BusinessEntityID] = SOH.[SalesPersonID]
       INNER JOIN Sales.SalesOrderDetail DET ON SOH.SalesOrderID = DET.SalesOrderID
       INNER JOIN [HumanResources].[Employee] E ON SOH.[SalesPersonID] = E.[BusinessEntityID] 
       INNER JOIN [Person].[Person] PER ON PER.[BusinessEntityID] = SP.[BusinessEntityID]
       INNER JOIN Production.Product P ON DET.ProductID = P.ProductID 
       INNER JOIN Production.ProductSubcategory PS ON P.ProductSubcategoryID = PS.ProductSubcategoryID 
       INNER JOIN Production.ProductCategory PC ON PS.ProductCategoryID = PC.ProductCategoryID
    WHERE
       (DATEPART(Year, SOH.OrderDate) <= @ReportYear) 
       AND (DATEPART(Month, SOH.OrderDate) = @ReportMonth)  
       AND (SOH.SalesPersonID = @EmployeeID)
    GROUP BY PER.FirstName + ' ' + PER.LastName, 
       DATEPART(Year, SOH.OrderDate), DATEPART(Month, SOH.OrderDate), 
       DATENAME(Month, SOH.OrderDate), PC.Name
    

    Das freigegebene Dataset wird im Projektmappen-Explorer angezeigt.

  3. Erstellen Sie im Bereich "Berichtsdaten" ein Dataset mit dem Namen "EmpSalesMonth2008R2".

  4. Wählen Sie im Dialogfeld Dataseteigenschaften die Option Verwenden Sie ein freigegebenes Dataset aus, und klicken Sie auf das im Projektmappen-Explorer erstellte Dataset.

Erstellen von "SalesEmployees2008R2"

So erstellen Sie das Dataset für eine Liste der verfügbaren Werte für Mitarbeiter

  1. Fügen Sie im Projektmappen-Explorer ein freigegebenes Dataset mit dem Namen SalesEmployees2008R2 hinzu.

    Diese Daten enthalten gültige Werte für den @EmployeeID-Parameter.

  2. Verwenden Sie die freigegebene Datenquelle "AdventureWorks2008R2" und die folgende Abfrage:

    SELECT s.[BusinessEntityID], p.[FirstName] + N' ' + p.LastName AS Employee, e.[JobTitle]
    FROM [Sales].[SalesPerson] s
       INNER JOIN [HumanResources].[Employee] e ON e.[BusinessEntityID] = s.[BusinessEntityID]
       INNER JOIN [Person].[Person] p ON p.[BusinessEntityID] = s.[BusinessEntityID]
    

    Das freigegebene Dataset wird im Projektmappen-Explorer angezeigt.

  3. Erstellen Sie im Bereich "Berichtsdaten" ein Dataset mit dem Namen "SalesEmployees2008R2".

  4. Wählen Sie im Dialogfeld Dataseteigenschaften die Option Verwenden Sie ein freigegebenes Dataset aus, und klicken Sie auf das im Projektmappen-Explorer erstellte Dataset.

Konfigurieren der Berichtsparameter

Die freigegebenen Datasets enthalten Datasetabfragen mit Abfragevariablen für ReportYear, ReportMonth und EmployeeID. Entsprechende Berichtsparameter werden automatisch für jede Abfragevariable erstellt. Standardmäßig werden die Eigenschaften für jeden Berichtsparameter für den Datentyp String, einzelner Wert und kein Standardwert oder Liste gültiger Werte festgelegt. Sie müssen jeden Parameter nach Bedarf manuell konfigurieren.

Ändern der Reihenfolge der Parameter

So ändern Sie die Reihenfolge von Parametern auf der Berichts-Viewer-Symbolleiste

  1. Doppelklicken Sie im Bereich für die Berichtsdaten auf ShowAll.

  2. Klicken Sie auf der Symbolleiste des Berichtsdatenbereichs auf Nach unten, bis der Parameter in der Liste an letzter Stelle steht.

  3. Klicken Sie auf ReportMonth.

  4. Klicken Sie auf Nach oben, bis der Parameter in der Liste an erster Stelle steht.

Konfigurieren von ReportMonth

Konfigurieren Sie @ReportMonth, um Werte nur von einem einzeln angegebenen Satz von Werten zu akzeptieren. Der Standardwert muss einer dieser Werte sein, oder der Bericht wird nicht automatisch ausgeführt.

So konfigurieren Sie den Berichtsparameter @ReportMonth

  1. Erweitern Sie im Bereich "Berichtsdaten" den Eintrag Parameter.

  2. Öffnen Sie Parametereigenschaften für @ReportMonth.

  3. Ändern Sie auf der Seite Allgemein den Datentyp in Integer.

  4. Wählen Sie auf der Seite Verfügbare Werte die Option Werte angeben aus.

  5. Fügen Sie einen Eintrag für jeden der 12 Monate hinzu. Legen Sie Bezeichnung auf den Namen des Monats und Wert auf den Ordnungswert des Monats fest. Der erste Eintrag ist z. B. Januar und 1. Der letzte Eintrag ist Dezember und 12. Füllen Sie alle 12 Werte aus.

  6. Wählen Sie auf der Seite Standardwerte die Option Werte angeben aus. Geben Sie im Feld Werte den Wert 7 ein.

Dies legt den Juli als Standardwert fest. Besitzt jeder Berichtsparameter einen Standardwert, wird der Bericht beim erstmaligen Anzeigen automatisch ausgeführt.

Konfigurieren von ReportYear

So konfigurieren Sie den Berichtsparameter @ReportYear

  1. Öffnen Sie Parametereigenschaften für @ReportYear.

  2. Ändern Sie auf der Seite Allgemein den Datentyp in Integer.

  3. Wählen Sie auf der Seite Standardwerte die Option Werte angeben aus.

  4. Fügen Sie einen Wert hinzu. Geben Sie im Feld Werte den Wert 2007 ein.

Konfigurieren von EmployeeID

So konfigurieren Sie den Berichtsparameter @EmployeeID

  1. Öffnen Sie Parametereigenschaften für @EmployeeID.

  2. Ändern Sie auf der Seite Allgemein die Eingabeaufforderung in Mitarbeiter.

  3. Ändern Sie Datentyp in Integer.

  4. Wählen Sie auf der Seite Verfügbare Werte die Option Werte aus Abfrage abrufen aus.

  5. Wählen Sie unter Dataset "SalesEmployees2008R2" aus.

  6. Wählen Sie als WertBusinessEntityID aus.

  7. Wählen Sie als BezeichnungEmployee aus.

  8. Wählen Sie auf der Seite Standardwerte die Option Werte angeben aus. Geben Sie im Feld Werte den Wert 283 ein. Dieser Wert ist die Mitarbeiter-ID für David Campbell.

Hinzufügen der Szenariobeschreibung

So fügen Sie die Szenariobeschreibung hinzu

  • Ersetzen Sie den Text im Textfeld für die Szenariobeschreibung durch den folgenden Text:

    Als Vertriebsmitarbeiter für AdventureWorks möchte ich wissen, wo meine Umsätze in Vergleich zu Saisonumsätzen in vorherigen Jahren liegen.

    Die Zeilen- und Sparklinediagramme zeigen Jahresvergleichsumsätze für alle Kategorien an.

    Die Matrix mit Indikatoren zeigt aktuelle Umsätze im Vergleich zu Sollvorgaben an. Ändern Sie die Sollvorgabenwerte auf der Berichts-Viewer-Symbolleiste.

    Die Säulen- und Datenbalkendiagramme zeigen die Umsätze in jeder Kategorie an.

In späteren Lektionen erstellen Sie einen Link von Wörtern im Text zu den verwandten Datenbereichen.

Anzeigen von Datenquellen-, Dataset- und Parameterwerten

Sie können Datasetabfrage-Befehlstext und die vom Benutzer für jeden Berichtsparameter ausgewählten Werte anzeigen. Um den Bericht übersichtlicher zu gestalten, können Sie diese Informationen in Textfelder in einem bedingt ausgeblendeten Rechteckcontainer auf der letzten Seite einfügen.

So fügen Sie ein Rechteck hinzu

  1. Fügen Sie ein Rechteck am unteren Rand des Berichts über dem Seitenfuß hinzu.

  2. Führen Sie in den Eigenschaften für Rechteck folgende Schritte aus:

    1. Wählen Sie auf der Seite Allgemein die Option Seitenumbruch hinzufügen vor aus.

    2. Wählen Sie auf der Seite Sichtbarkeit die Option Je nach Ausdruck einblenden/ausblenden aus, und geben Sie Folgendes ein: =NOT Parameters!ShowAll.Value.

Fügen Sie in den folgenden Schritten dem Rechteck jedes abgeschlossene Textfeld hinzu. Erweitern Sie das Rechteck nach Bedarf. Mit dem Rechteck als Container können Sie problemlos alle Textfelder als Einheit verschieben.

So fügen Sie ein Textfeld hinzu, das Parameterwerte anzeigt

  1. Fügen Sie dem Hauptteil des Berichts ein Textfeld mit dem folgenden Text in separaten Zeilen hinzu:

    1. Berichtsmonat: [@ReportMonth] [@ReportMonth.Label]

    2. Berichtsjahr: [@ReportYear]

    3. EmployeeID: [@EmployeeID] [@EmployeeID.Label]

  2. Ziehen Sie das Textfeld in das Rechteck, und stellen Sie die Größe nach Bedarf ein.

So fügen Sie ein Textfeld hinzu, das Datenquellen- und Datasetinformationen anzeigt

  1. Fügen Sie dem Hauptteil des Berichts ein Textfeld mit dem Namen "DataSourceandDatasets" mit dem folgenden Text hinzu:

    1. Datenquelle AdventureWorks2008R2:

    2. Erstellen Sie einen Platzhalter mit dem Namen "AdventureWorks2008R2" mit dem folgenden Wert: =DataSources!AdventureWorks2008R2.DataSourceReference.

    3. Dataset EmployeeSalesYearOverYear2008R2:

    4. Erstellen Sie einen Platzhalter mit dem Namen "EmployeeSalesYearOverYear2008R2" mit dem folgenden Wert: =DataSets!EmployeeSalesYearOverYear2008R2.CommandText.

    5. Dataset EmployeeSalesDetail2008R2:

    6. Erstellen Sie einen Platzhalter mit dem Namen "EmployeeSalesDetail2008R2" mit dem folgenden Wert: =DataSets! EmployeeSalesDetail2008R2.CommandText.

    7. Dataset EmpSalesMonth2008R2.

    8. Erstellen Sie einen Platzhalter mit dem Namen "EmpSalesMonth2008R2" mit dem folgenden Wert: =DataSets! EmpSalesMonth2008R2.CommandText.

  2. Formatieren Sie den Text nach Bedarf. Unterstreichen Sie z. B. den Namen des Datasets.

  3. Ziehen Sie das Textfeld in das Rechteck, und stellen Sie die Größe nach Bedarf ein.

Hinzufügen der Beschreibung

So fügen Sie die Beschreibung hinzu

  1. Ersetzen Sie im Seitenfuß den Text im Textfeld für die Beschreibung durch den folgenden Text:

    Zweck: Zusammenfassungsbericht. Zeigt Jahresvergleichsumsätze für alle Kategorien, für einzelne Kategorien und für Kontingente an. Schließt Diagramme (Zeile, Sparkline, Säule mit Skalierungsunterbrechungen, Datenbalken), Tablix (Umschaltzeilen, Zeilengruppe, Indikatoren auf Tabellen- und Gruppenebene), Gruppen- und Berichtsvariablen, Rechteckcontainer, freigegebene Datasets, eine freigegebene Datenquelle, benutzerdefinierten Code für Diagrammlinienfarbe, Lesezeichen, Drillthroughaktion, mehrwertige Parameter sowie Parameter zur Steuerung der bedingten Sichtbarkeit von Textfeldern und Umschaltzeilen ein.

  2. Klicken Sie auf den Berichtshintergrund, um im Eigenschaftenbereich Berichtseigenschaften anzuzeigen.

  3. Fügen Sie in Beschreibung den Beschreibungstext ein.

Hinzufügen des Berichtstitels

So fügen Sie den Berichtstitel hinzu

  1. Fügen Sie im Seitenkopf ein Textfeld mit dem folgenden Text auf zwei Zeilen hinzu:

    Sales Report for [@EmployeeID.Label]

    [@ReportMonth.Label], [@ReportYear]

  2. Formatieren Sie nach Bedarf.

Anzeigen des Berichts in der Vorschau

So können Sie den Bericht in der Vorschau anzeigen und überprüfen

  1. Zeigen Sie eine Vorschau des Berichts an.

  2. Überprüfen Sie, ob der Bericht automatisch ausgeführt wird.

  3. Überprüfen Sie auf der Berichts-Viewer-Symbolleiste Folgendes:

    1. Berichtsmonat enthält eine Dropdownliste von allen Monaten. Der Standardwert ist Juli.

    2. Berichtsjahr hat den Standardwert 2007.

    3. Mitarbeiter enthält eine Dropdownliste mit den Namen aller Mitarbeiter. Der Standardwert ist David Campbell.

  4. Im Seitenkopf werden das Logo, der Berichtsname und der Berichtstitel angezeigt.

  5. Wenn Sie auf die Umschaltfläche klicken, wird der Szenariotext angezeigt.

  6. Wenn Sie ShowAll auf True festlegen und den Bericht ausführen, werden die Parameterwerte, Datenquellen- und Datasetinformationen sowie die Beschreibung auf der letzten Seite des Berichts angezeigt.

Bereitstellen des Berichts

So stellen Sie den Bericht bereit

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie Bereitstellen. Überprüfen Sie in der Statuszeile von BI Development Studio oder im Ausgabebereich, ob Fehler aufgetreten sind.

    HinweisHinweis

    Da der Bericht von freigegebenen Datasets abhängt, müssen Sie das gesamte Projekt bereitstellen, wenn Sie den Bericht zum ersten Mal bereitstellen.

  2. Navigieren Sie in einem Browser zum Berichtsserver oder zur SharePoint-Website, und überprüfen Sie, ob die freigegebenen Datenquellen, freigegebene Datasets und Berichte in den richtigen Ordnern angezeigt werden, und ob Sie die Berichte anzeigen können.

Nächste Schritte

Sie haben das Erstellen eines Berichtsprojekts und eines Basisberichts abgeschlossen. Sie können jetzt einen Beispielbericht erstellen. Weitere Informationen finden Sie unter Lernprogramme: Erstellen von AdventureWorks 2008R2-Beispielberichten (SSRS).