Freigeben über


Lektion 4: Hinzufügen von kaskadierenden Parametern (Berichts-Generator 2.0)

Kaskadierende Parameter ermöglichen das Verwalten großer Berichtsdatenmengen. Bei kaskadierenden Parametern hängt die Liste der Werte für einen Parameter von dem Wert ab, der in vorangehenden Parametern ausgewählt wurde.

In dieser Lektion erstellen Sie einen neuen Bericht mit einer Hauptdatasetabfrage, die Abfrageparameter für Unterkategorie und Produkt der Bekleidungskategorie definiert. Außerdem definieren Sie zwei weitere Datasets, um verfügbare Werte für jeden kaskadierenden Parameter bereitzustellen.

So erstellen Sie eine neue Berichtsdefinitionsdatei und speichern sie auf dem Berichtsserver

  1. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Microsoft SQL Server 2008 Berichts-Generator, und klicken Sie dann auf Berichts-Generator 2.0.

  2. Klicken Sie auf der Entwurfsoberfläche auf Zum Hinzufügen eines Titels hier klicken, und geben Sie dann Kaskadierende Parameter ein.

  3. Klicken Sie in der Schaltfläche Berichts-Generator auf Speichern unter.

  4. Klicken Sie auf Letzte Sites und Server.

  5. Klicken Sie auf den Namen des Berichtsservers, auf dem Sie Berechtigungen zum Speichern von Berichten haben.

  6. Geben Sie in NameKaskadierende Parameter ein.

  7. Klicken Sie auf Speichern.

    Sie haben einen neuen Bericht auf dem Berichtsserver gespeichert.

So fügen Sie einen Datenquellenverweis hinzu

  1. Klicken Sie auf der Symbolleiste des Berichtsdatenbereichs auf Neu und anschließend auf Datenquelle.

  2. Wählen Sie Freigegebene Verbindung oder Berichtsmodell verwenden aus.

  3. Suchen oder wählen Sie die Datenquelle für die AdventureWorks2008-Beispieldatenbank aus, die Sie in Lernprogramm: Erstellen eines einfachen Tabellenberichts (Berichts-Generator 2.0) erstellt haben.

  4. Klicken Sie auf OK.

    Sie haben einen Verweis auf die Datenquelle für die AdventureWorks2008-Datenbank hinzugefügt. 

So erstellen Sie das Hauptdataset mit einer Abfrage und Abfrageparametern

  1. Klicken Sie auf der Symbolleiste des Berichtsdatenbereichs auf Neu und anschließend auf Dataset.

  2. Geben Sie in das Feld Name den Namen SalesbyCategory ein.

  3. Klicken Sie unter dem Abfragebereich auf Abfrage-Designer.

  4. Klicken Sie auf Als Text bearbeiten.

  5. Fügen Sie folgende Abfrage im Abfragebereich ein:

    SELECT
      SH.OrderDate
      ,DATENAME(weekday, SH.OrderDate) as Weekday
      ,SH.SalesOrderNumber
      ,SD.OrderQty
      ,SD.LineTotal
      ,P.Name AS [Product]
      ,PS.Name AS [Subcategory]
    FROM Sales.SalesPerson SP 
      INNER JOIN Sales.SalesOrderHeader AS SH 
          ON SP.BusinessEntityID = SH.SalesPersonID
      INNER JOIN Sales.SalesOrderDetail AS SD 
         ON SH.SalesOrderID = SD.SalesOrderID
      INNER JOIN Production.Product AS P
       ON SD.ProductID = P.ProductID
      INNER JOIN Production.ProductSubcategory AS PS
       ON PS.ProductSubcategoryID = P.ProductSubcategoryID
      INNER JOIN Production.ProductCategory AS PC
       ON PC.ProductCategoryID = PS.ProductCategoryID
    WHERE PC.Name = 'Clothing' 
       AND (SH.OrderDate BETWEEN (@StartDate) AND (@EndDate))
       AND PS.Name = (@Subcategory)
       AND P.Name IN (@Product)
    

    Abfrageparameter für @StartDate, @EndDate, @Subcategory, und @Product wurden hinzugefügt, um die Hauptabfrage für eine Gruppe von kaskadierenden Werten zu erstellen.

  6. Klicken Sie auf Ausführen (!) , um das Resultset anzuzeigen. Das Dialogfeld Abfrageparameter definieren wird geöffnet.

  7. Geben Sie mithilfe der folgenden Tabelle in der Parameterwert-Spalte einen Wert für jeden Abfrageparameter ein.

    Parametername

    Parameterwert

    @StartDate

    20010101

    @EndDate

    20030101

    @Subcategory

    Handschuhe

    @Product

    Komplette Handschuhe, M

  8. Klicken Sie auf OK. 

    Das Resultset enthält eine Liste von Bestellnummern für den angegebenen Handschuhtyp.

    Beim Ausführen der Abfrage wurde durch jeden Abfrageparameter ein entsprechender Berichtsparameter erzeugt. Klicken Sie zweimal auf OK, um den Abfrage-Designer und das Dialogfeld zu schließen.

  9. (Optional) Erweitern Sie im Berichtsdatenbereich den Knoten Parameter , und prüfen Sie, ob die folgenden Berichtsparameter angezeigt werden: StartDate, EndDate, Subcategory und Product.

  10. (Optional) Der Wert der einzelnen Datasetabfrageparameter ist jeweils an einen Berichtsparameter mit dem gleichen Namen gebunden. Klicken Sie im Bereich für die Berichtsdaten mit der rechten Maustaste auf SalesbyCategory und anschließend auf Dataseteigenschaften, um dies zu überprüfen.

    1. Klicken Sie auf Parameter.

    2. Die Spalte Parametername sollte die folgenden Namen enthalten @StartDate, @EndDate, @Subcategory, und @Product.

    3. Die Spalte Parameterwert sollte die folgenden Werte enthalten [@StartDate], [@EndDate], [@Subcategory] und [@Product].

      Diese einfachen Ausdrücke verweisen auf die Berichtsparameter, die im Bereich für die Berichtsdaten angezeigt werden.

    Als Nächstes erstellen Sie ein Dataset, um Werte für @Subcategory und @Product bereitzustellen. Jedes neue Dataset füllt die verfügbaren Werte und die Standardwerte für den Parameter auf.

So legen Sie Datentyp für Datumsparameter und Standardwerte fest

  1. Klicken Sie im Berichtsdatenbereich mit der rechten Maustaste auf StartDate, und klicken Sie dann auf Parametereigenschaften.

  2. Wählen Sie unter Datentyp die Option Datum/Uhrzeit aus.

  3. Klicken Sie auf Standardwerte.

  4. Wählen Sie die Option Werte angeben aus.

  5. Klicken Sie auf Hinzufügen.

  6. Geben Sie in Wert2001-01-01 ein.

  7. Klicken Sie auf OK.

  8. Klicken Sie im Berichtsdatenbereich mit der rechten Maustaste auf EndDate, und klicken Sie dann auf Parametereigenschaften.

  9. Wählen Sie unter Datentyp die Option Datum/Uhrzeit aus.

  10. Klicken Sie auf Standardwerte.

  11. Wählen Sie die Option Werte angeben aus.

  12. Klicken Sie auf Hinzufügen.

  13. Geben Sie in Wert2003-01-01 ein.

  14. Klicken Sie auf OK.

Die Datentypen für den Datumsparameter und die Standardwerte wurden festgelegt.

So fügen Sie das Dataset mit Werten für den Berichtsparameter "Subcategory" hinzu

  1. Klicken Sie auf der Symbolleiste des Berichtsdatenbereichs auf Neu und anschließend auf Dataset.

  2. Geben Sie in das Feld Name den Wert SubcategoryValues ein.

  3. Klicken Sie auf Abfrage-Designer und dann auf Als Text bearbeiten.

  4. Geben Sie den folgenden Abfragetext im Bereich Abfrage ein:

    SELECT DISTINCT PSC.Name AS Subcategory 
       FROM Production.ProductSubcategory AS PSC
          INNER JOIN Production.ProductCategory AS PC
          ON PC.ProductCategoryID = PSC.ProductCategoryID
          WHERE PC.Name = 'Clothing'
    
  5. Klicken Sie zweimal auf OK, um den Abfrage-Designer und das Dialogfeld zu schließen.

  6. Das Dataset SubcategoryValues wird im Bereich für die Berichtsdaten angezeigt. Die Feld Subcategory weist 8 Zeilen auf, in denen die Unterkategorien für die Bekleidungskategorie aufgelistet werden.

    Im Anschluss legen Sie die Eigenschaften für den Berichtsparameter @Subcategory fest, um Werte aus dieser Abfrage für die verfügbaren Werte ebenso wie für die Standardwerte zu verwenden.

So legen Sie verfügbare Werte und Standardwerte für den Berichtsparameter "Subcategory" fest

  1. Klicken Sie im Bereich für die Berichtsdaten im Ordner Parameter mit der rechten Maustaste auf Subcategory, und klicken Sie dann auf Parametereigenschaften.

  2. Klicken Sie auf Verfügbare Werte.

  3. Klicken Sie auf Werte aus Abfrage abrufen.

  4. Klicken Sie unter Dataset in der Dropdownliste auf den Eintrag SubcategoryValues.

  5. Klicken Sie im Feld Wert auf Subcategory.

  6. Klicken Sie im Feld Bezeichnung auf Subcategory.

  7. Klicken Sie auf Standardwerte.

  8. Klicken Sie auf Werte angeben.

  9. Klicken Sie auf Hinzufügen.

  10. Geben Sie in WertHandschuhe ein.

  11. Klicken Sie auf OK.

    Als Nächstes erstellen Sie einen Parameter @Product, der von folgendem Wert abhängig ist @Subcategory.

So fügen Sie das Dataset mit Werten für den Berichtsparameter "Product" hinzu

  1. Klicken Sie auf der Symbolleiste des Berichtsdatenbereichs auf Neu und anschließend auf Dataset.

  2. Geben Sie im Feld Name den Namen ProductValues ein.

  3. Klicken Sie auf Abfrage-Designer und dann auf Als Text bearbeiten.

  4. Geben Sie den folgenden Abfragetext im Bereich Abfrage ein:

    SELECT DISTINCT P.Name AS Product
    FROM Production.Product P
       INNER JOIN Production.ProductSubcategory AS PSC
       ON P.ProductSubcategoryID = PSC.ProductSubcategoryID
       INNER JOIN Production.ProductCategory AS PC
       ON PC.ProductCategoryID = PSC.ProductCategoryID
       WHERE (PC.Name = 'Clothing'
          AND PSC.Name = (@Subcategory))
    
  5. Klicken Sie zweimal auf OK, um den Abfrage-Designer und das Dialogfeld zu schließen.

    Im Bereich für die Berichtsdaten wird das ProductValues-Dataset mit dem Feld Product hinzugefügt.

Im Anschluss legen Sie die Eigenschaften für den Parameter @Product fest, um Werte aus dieser Abfrage für die verfügbaren Werte ebenso wie für die Standardwerte zu verwenden.

So legen Sie verfügbare Werte und Standardwerte für den Berichtsparameter "Product" fest

  1. Klicken Sie im Bereich für die Berichtsdaten im Ordner Parameter mit der rechten Maustaste auf Product, und klicken Sie dann auf Parametereigenschaften.

  2. Wählen Sie Mehrere Werte zulassen aus.

  3. Klicken Sie auf Verfügbare Werte.

  4. Klicken Sie auf Werte aus Abfrage abrufen.

  5. Klicken Sie unter Dataset in der Dropdownliste auf den Eintrag ProductValues.

  6. Klicken Sie im Feld Wert auf Product.

  7. Klicken Sie im Feld Bezeichnung auf Product.

  8. Klicken Sie auf Standardwerte.

  9. Klicken Sie auf Werte aus Abfrage abrufen.

  10. Klicken Sie unter Dataset in der Dropdownliste auf den Eintrag ProductValues.

  11. Klicken Sie im Feld Wert auf Product.

  12. Klicken Sie auf OK.

  13. Klicken Sie auf Ausführen, um den Bericht in der Vorschau anzuzeigen.

  14. Wählen Sie aus der Dropdownliste Subcategory die Option Pullover aus.

    Beachten Sie, dass die Dropdownliste für Product nur Produkte anzeigt, die Pullover sind.

  15. Klicken Sie auf der Berichts-Viewer-Symbolleiste auf Bericht anzeigen.

    In der Tabelle und dem Diagramm im Bericht werden Bestellungen angezeigt, die die ausgewählten Produkte enthalten, und die von den Berichtsparametern für Bestelldatum und Wochentage begrenzt werden.

Nächste Schritte

Sie haben erfolgreich einen neuen Bericht erstellt, in dem Bestellungen für bestimmte Produkte angezeigt werden. Dabei wurden kaskadierende Parameter verwendet, die nach Unterkategorie filtern. In der nächsten Lektion erfahren Sie, wie ein Parameter an einen Drillthroughbericht übergeben wird. Siehe Lektion 5: Hinzufügen von Parametern zur Übergabe an einen Drillthroughbericht (Berichts-Generator 2.0).