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
Öffnen Sie in Business Intelligence Development Studio das AdventureWorks 2008R2-Berichtsserverprojekt.
Führen Sie im Projektmappen-Explorer die folgenden Aktionen aus:
Klicken Sie mit der rechten Maustaste auf den Bericht "AdventureWorks2008R2_Base.rdl", und klicken Sie dann auf Kopieren.
Klicken Sie mit der rechten Maustaste auf den Projektknoten, und klicken Sie dann auf Einfügen.
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
Öffnen Sie Parametereigenschaften für @Geolocation.
Ändern Sie die Eingabeaufforderung in Store location?.
Wählen Sie unter Verfügbare Werte die Option Werte aus Abfrage abrufen aus.
Wählen Sie für Dataset die Option StoreLocation aus.
Wählen Sie für Wert die Option GeoLocation aus.
Wählen Sie für Bezeichnung die Option Store aus.
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
Öffnen Sie die Parametereigenschaften für @Radius.
Geben Sie als Eingabeaufforderung den Text Distance in miles? ein.
Ändern Sie Datentyp in Integer.
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
Erweitern Sie die Höhe des Seitenkopfs.
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.
Formatieren Sie das Textfeld nach Bedarf.
So fügen Sie den Berichtstitel hinzu
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
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.
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.
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
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.
Klicken Sie auf den Berichtshintergrund, um im Eigenschaftenbereich Berichtseigenschaften anzuzeigen.
Fügen Sie in Beschreibung den Beschreibungstext ein.
Anzeigen der Kundendemografie in einer Tabelle
So fügen Sie die Tabelle hinzu
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]
Fügen Sie eine Zeilengruppe basierend auf [CommuteDistance] hinzu.
Formatieren Sie die Tabelle nach Bedarf.
So fügen Sie eine Meldung hinzu, die angezeigt wird, wenn es keine Daten gibt
Wählt die Tabelle aus.
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:
Die Parameterwerte werden im Berichtstitel angezeigt.
Die Tabelle wird nach Entfernung zur Arbeit geordnet.
Wenn Sie den Wert des Radiusparameters ändern, ändert sich die Anzahl der Kunden.
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).
Änderungsverlauf
Aktualisierter Inhalt |
---|
|