Erstellen des Berichts Customers_Near_Stores_2008R2 (SSRS)

In diesem Lernprogramm erfahren Sie, wie Sie den Bericht Customers_Near_Stores_2008R2 aus der Sammlung von AdventureWorks 2008R2-Beispielberichten erstellen.

Dieser Bericht zeigt eine Liste von Kunden und Kundendemografien für einzelne AdventureWorks-Kunden an, die innerhalb eines angegebenen Radius eines geografischen Standorts leben. Der geografische Standort wird als String-Parameter übergeben, der eine Well-Known Text-Darstellung (WKT) eines geografischen Standorts enthält. Weitere Informationen zu den Berichten und ihren Beziehungen finden Sie unter Lernprogramme: Erstellen von AdventureWorks 2008R2-Beispielberichten (SSRS).

Lernziele

In diesem Lernprogramm führen Sie folgende Aufgaben aus:

  • Hinzufügen eines Datasets mit einzelnen Kundeninformationen, einschließlich der Entfernung von der Privatadresse zu einem angegebenen Standort

  • Hinzufügen eines Datasets mit Einzelhandelsgeschäftsinformationen

  • Konfigurieren eines Parameters, der einen geografischen Standort als Text enthält

  • Konfigurieren eines Parameters, der eine Entfernung vom Geschäft angibt

  • Anzeigen von Datenquelle, Dataset und ausgewählten Parameterwerten auf der letzten Seite des Berichts

  • Hinzufügen eines Berichtstitels, der Informationen zum Zweck des Berichts enthält

  • Hinzufügen der Berichtsbeschreibung

  • Hinzufügen einer Tabelle, um Kundendemografie für Kunden anzuzeigen, die innerhalb der angegebenen Entfernung des angegebenen Geschäftsstandorts leben

  • Definieren einer NoRowsMessage, um anzuzeigen, wenn keine Kunden innerhalb der angegebenen Entfernung leben

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

Ungefähre Dauer dieses Lernprogramms: 15 Minuten.

Anforderungen

Eine Liste der Anforderungen finden Sie unter Erforderliche Komponenten für AdventureWorks 2008R2-Beispielberichte (SSRS).

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

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

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

  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 "Customers_Near_Stores_2008R2.rdl" um.

So erstellen Sie das Dataset für Kundeninformationen

  • Fügen Sie im Bereich Berichtsdaten ein eingebettetes Dataset mit dem Namen CustomerLocations hinzu. Verwenden Sie die freigegebene Datenquelle AdventureWorks2008R2 und die folgende Abfrage:

    SELECT
        [CustomerID]
       , [PersonID] as BusinessEntityID 
       , p.FirstName as Name1
       , p.LastName AS Name2
       , ea.EmailAddress
      -- , t.Name as AddressType -- Home or Shipping
       , ad.City, ad.PostalCode
       , sp.Name as StateProvince
       , sp.StateProvinceCode
       , ad.SpatialLocation.STDistance((@GeoLocation))/1609.344 as DistanceinMiles
       , ad.SpatialLocation
       , p.Demographics.value('declare namespace awns="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/IndividualSurvey"; (awns:IndividualSurvey/awns:NumberCarsOwned) [1]','int') as NumberCarsOwned
       , p.Demographics.value('declare namespace awns="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/IndividualSurvey"; (awns:IndividualSurvey/awns:CommuteDistance) [1]','varchar(30)') as CommuteDistance
      FROM [Sales].[Customer] c
       INNER JOIN Person.Person p ON p.BusinessEntityID = c.PersonID
       INNER JOIN Person.BusinessEntityAddress a ON a.BusinessEntityID = p.BusinessEntityID
       INNER JOIN Person.AddressType t ON a.AddressTypeID = t.AddressTypeID
       INNER JOIN Person.[Address] ad ON ad.AddressID = a.AddressID 
       INNER JOIN Person.EmailAddress ea ON ea.BusinessEntityID = p.BusinessEntityID
       INNER JOIN Person.StateProvince sp ON sp.StateProvinceID = ad.StateProvinceID
     WHERE   -- StoreID IS NULL means Customer is an Individual
        StoreID IS NULL 
        AND t.Name = N'Home' 
        AND sp.CountryRegionCode = N'US'
        -- 1 Mile = 1609.344 Meters 
        AND (ad.SpatialLocation.STDistance((@GeoLocation))/1609.344) < (@Radius)
    

Die Datasetabfrage gibt Kundeninformationen, einschließlich Kundendemografie, für Kunden zurück, die innerhalb von @Radius Meilen von @GeoLocation leben.

Im Bericht werden diese Daten in der Matrix angezeigt.

So erstellen Sie eine gültige Werteliste für den Geolocation-Parameter

  • Fügen Sie im Bereich Berichtsdaten ein eingebettetes Dataset mit dem Namen StoreLocation hinzu. Verwenden Sie die freigegebene Datenquelle AdventureWorks2008R2 und die folgende Abfrage:

    SELECT  
        [StoreID] as BusinessEntityID
        , s.Name as Store
       -- , t.Name as AddressType -- Main Office or Shipping
       , ad.PostalCode
       -- , sp.CountryRegionCode
       --, sp.Name as StateProvince
       --, sp.StateProvinceCode
       , ad.SpatialLocation.ToString() as GeoLocation
      FROM [Sales].[Customer] c
        INNER JOIN Sales.Store s ON s.BusinessEntityID = c.StoreID
        INNER JOIN Person.BusinessEntityAddress a ON a.BusinessEntityID = s.BusinessEntityID
        INNER JOIN Person.AddressType t ON a.AddressTypeID=t.AddressTypeID
        INNER JOIN Person.[Address] ad ON ad.AddressID = a.AddressID 
        INNER JOIN Person.StateProvince sp ON sp.StateProvinceID = ad.StateProvinceID
     WHERE  -- PersonID IS NULL means Customer is a store
       PersonID IS NULL 
       AND t.Name = N'Main Office' 
       AND sp.CountryRegionCode = N'US'
    

Die Datasetabfrage gibt eine Liste der Hauptbüros für AdventureWorks-Geschäfte und ihre geografischen Standorte zurück.

Im Bericht werden diese Daten als Liste von gültigen Werten für den @Geolocation-Parameter angezeigt. Auf der Berichts-Viewer-Symbolleiste wird die Parameterbezeichnung angezeigt, die den Geschäftsnamen enthält, nicht der Wert, der den geografischen Standort enthält.

So konfigurieren Sie den Berichtsparameter @Geolocation

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

  2. Ändern Sie die Eingabeaufforderung in Store location?.

  3. Wählen Sie unter Verfügbare Werte die Option Werte aus Abfrage abrufen aus.

  4. Wählen Sie für Dataset die Option StoreLocation aus.

  5. Wählen Sie für Wert die Option GeoLocation aus.

  6. Wählen Sie für Bezeichnung die Option Store aus.

  7. Fügen Sie in Standardwerte einen Wert hinzu, und legen Sie ihn auf den folgenden Text fest:

    POINT (-82.4151596338717 40.7459610884615)

Dieser Wert entspricht dem Geschäft namens "The Bike Mechanics".

So konfigurieren Sie den Berichtsparameter @Radius

  1. Öffnen Sie die Parametereigenschaften für @Radius.

  2. Geben Sie als Eingabeaufforderung den Text Distance in miles? ein.

  3. Ändern Sie Datentyp in Integer.

  4. Fügen Sie in Standardwerte einen Wert hinzu, und legen Sie ihn auf 100 fest.

So fügen Sie dem Seitenkopf Anweisungen für die Rückkehr zum übergeordneten Bericht hinzu

  1. Erweitern Sie die Höhe des Seitenkopfs.

  2. Fügen Sie unter dem Logo ein Textfeld mit dem Namen "tbBackInstructions" mit dem folgenden Text hinzu: Kehren Sie mithilfe der Browserschaltfläche "Zurück" zum übergeordneten Bericht zurück.

  3. Formatieren Sie das Textfeld nach Bedarf.

So fügen Sie den Berichtstitel hinzu

  1. Fügen Sie am oberen Rand des Berichts unter dem Seitenkopf ein Textfeld mit dem Namen "tbTitle" mit dem folgenden Text hinzu:

    Demografie für die [NCustomers] [Customers]

    innerhalb [@Radius] Meilen vom Geschäft

    [@GeoLocation.Label]

    Gruppiert nach Commute Distance

  2. Klicken Sie mit der rechten Maustaste auf [NCustomers], um das Dialogfeld Platzhaltereigenschaften zu öffnen, und legen Sie Name auf NCustomers und Wert auf =CountDistinct(Fields!CustomerID.Value,"CustomerLocations") fest.

  3. Klicken Sie mit der rechten Maustaste auf [Customers], um das Dialogfeld Platzhaltereigenschaften zu öffnen, und legen Sie Name auf Customers und Wert auf =IIF(CountDistinct(Fields!CustomerID.Value,"CustomerLocations")=1,"Customer","Customers") fest.

  4. Zentrieren Sie das Textfeld im Bericht, und formatieren Sie jede Textzeile nach Bedarf.

So löschen Sie die Szenariotextfelder

  • Löschen Sie das Textfeld ToggleInformation und das Textfeldtext mit dem Szenariotext.

Bei diesem Bericht sind die Szenarioinformationen im gerade hinzugefügten Berichtstitel enthalten.

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: Drillthroughbericht von Geschäftsmarkern von Sales_by_Region_2008R2. Zeigt Informationen zu Kunden an, die innerhalb der angegebenen Anzahl von Meilen von einem Geschäft entfernt leben. Der geografische Standort des Geschäfts (Geolocation) ist ein Zeichenfolgenparameter, der einen Well-Known Text-Wert (WKT) enthält.

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

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

Anzeigen der Kundendemografie in einer Tabelle

So fügen Sie die Tabelle hinzu

  1. Fügen Sie eine Tabelle mit dem Namen "tblxTable_Demographics" hinzu, in der die folgenden Felder aus dem CustomerLocations-Dataset angezeigt werden:

    • [Name2], [Name1]

    • [DistanceinMiles]

    • [NumberCarsOwned]

    • [EmailAddress]

  2. Fügen Sie eine Zeilengruppe basierend auf [CommuteDistance] hinzu.

  3. Formatieren Sie die Tabelle nach Bedarf.

So fügen Sie eine Meldung hinzu, die angezeigt wird, wenn es keine Daten gibt

  1. Wählt die Tabelle aus.

  2. Suchen Sie im Bereich Eigenschaften nach NoRowsMessage, und geben Sie den folgenden Ausdruck ein: ="No customers live within " & Parameters!Radius.Value & " miles. Display the parameters on the toolbar and enter a different distance."

Anzeigen und Überprüfen des Berichts in der Vorschau

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

  • Führen Sie den Bericht aus, und überprüfen Sie Folgendes:

    1. Die Parameterwerte werden im Berichtstitel angezeigt.

    2. Die Tabelle wird nach Entfernung zur Arbeit geordnet.

    3. Wenn Sie den Wert des Radiusparameters ändern, ändert sich die Anzahl der Kunden.

    4. Wenn es keine Kunden innerhalb der angegebenen Entfernung gibt, wird der NoRowsMessage-Wert angezeigt.

Nächste Schritte

Sie haben nun die Berichterstellung abgeschlossen. Wenn Sie andere AdventureWorks-Beispielberichte erstellen möchten, finden Sie weitere Informationen unter Lernprogramme: Erstellen von AdventureWorks 2008R2-Beispielberichten (SSRS).

Siehe auch

Andere Ressourcen

Änderungsverlauf

Aktualisierter Inhalt

  • Bericht wurde geändert, um auf AdventureWorks2008R2_Base.rdl zu basieren