Création du rapport Customers_Near_Stores_2008R2 (SSRS)
Ce didacticiel vous aide à générer le rapport Customers_Near_Stores_2008R2 à partir de la suite d'exemples de rapports AdventureWorks 2008R2.
Ce rapport affiche une liste de clients et de données démographiques pour des clients AdventureWorks particuliers qui vivent dans un rayon spécifié d'une géolocalisation. La géolocalisation est transmise en tant que paramètre String qui contient la représentation de texte WKT (Well Known Text) d'un emplacement géographique. Pour plus d'informations sur la suite de rapports et leurs relations, consultez Didacticiels : Création d'exemples de rapports AdventureWorks 2008R2 (SSRS).
Contenu du didacticiel
Dans ce didacticiel, vous effectuerez les tâches suivantes :
Ajouter un dataset avec des informations sur un client particulier, notamment la distance entre le domicile et un emplacement spécifié.
Ajouter un dataset avec des informations sur le magasin du revendeur.
Configurer un paramètre qui contient une géolocalisation sous forme de texte.
Configurer un paramètre qui spécifie une distance à partir du magasin.
Afficher la source de données, le dataset et les valeurs de paramètre choisies dans la dernière page du rapport.
Ajouter un titre de rapport qui inclut des informations relatives à l'objectif du rapport.
Ajouter la description du rapport.
Ajouter une table pour afficher les données démographiques pour les clients qui vivent dans le rayon spécifié du magasin spécifié.
Définir une propriété NoRowsMessage à afficher lorsqu'aucun client ne vit dans le rayon spécifié.
Afficher un aperçu du rapport et le vérifier.
Durée estimée pour effectuer ce didacticiel : 15 minutes.
Conditions requises
Pour obtenir la liste des conditions requises, consultez Composants requis pour les exemples de rapports AdventureWorks 2008R2 (SSRS).
Ce didacticiel part du principe que vous avez terminé le didacticiel Création du projet Report Server et du rapport AdventureWorks2008R2_Base (SSRS).
Pour ouvrir le projet et effectuer une copie d'un rapport
Dans Business Intelligence Development Studio, ouvrez le projet Report Server AdventureWorks 2008R2.
Dans l'Explorateur de solutions, procédez comme suit :
Cliquez avec le bouton droit sur le rapport AdventureWorks2008R2_Base.rdl, puis cliquez sur Copier.
Cliquez avec le bouton droit sur le nœud du projet, puis cliquez sur Coller.
Renommez le rapport copié en Customers_Near_Stores_2008R2.rdl.
Pour créer le dataset pour les informations sur le client
Dans le volet Données du rapport, ajoutez un dataset incorporé nommé CustomerLocations. Utilisez la source de données partagée AdventureWorks2008R2 et la requête suivante :
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)
La requête de dataset retourne des informations sur le client, notamment les données démographiques, pour les clients qui vivent dans @Radius miles de @GeoLocation.
Dans le rapport, ces données sont affichées dans la matrice.
Pour créer une liste de valeurs valides pour le paramètre Geolocation
Dans le volet Données du rapport, ajoutez un dataset incorporé nommé StoreLocation. Utilisez la source de données partagée AdventureWorks2008R2 et la requête suivante :
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'
La requête de dataset retourne une liste des sièges sociaux des magasins AdventureWorks et leurs géolocalisations.
Dans le rapport, ces données sont affichées sous la forme d'une liste de valeurs valides pour le paramètre @Geolocation. Dans la barre d'outils de la visionneuse de rapports, l'affichage indique l'étiquette de paramètre qui contient le nom de magasin et non la valeur qui contient la géolocalisation.
Pour configurer le paramètre de rapport @Geolocation
Ouvrez Propriétés du paramètre pour @Geolocation.
Remplacez Demander par Emplacement du magasin ?
Dans Valeurs disponibles, sélectionnez Obtenir les valeurs à partir d'une requête.
Pour Dataset, sélectionnez StoreLocation.
Pour Valeur, sélectionnez GeoLocation.
Pour Étiquette, sélectionnez Store.
Dans Valeurs par défaut, ajoutez une valeur et affectez-lui le texte suivant :
POINT (-82.4151596338717 40.7459610884615)
Cette valeur correspond au magasin nommé The Bike Mechanics.
Pour configurer le paramètre de rapport @Radius
Ouvrez les propriétés de paramètre pour @Radius.
Dans Demander, tapez Distance en miles ?
Remplacez Type de données par Entier.
Dans Valeurs par défaut, ajoutez une valeur et définissez-la sur 100.
Pour ajouter à l'en-tête de page des instructions permettant de revenir au rapport parent
Augmentez la hauteur de l'en-tête de page.
Sous le logo, ajoutez une zone de texte nommée tbBackInstructions avec le texte suivant : Utilisez le bouton Précédent du navigateur pour revenir au rapport parent.
Mettez en forme la zone de texte, si nécessaire.
Pour ajouter le titre du rapport
Dans la partie supérieure du rapport, sous l'en-tête de page, ajoutez une zone de texte nommée tbTitle avec le texte suivant :
Données sociodémographiques pour les [NCustomers] [Clients]
vivant dans un rayon de [@Radius] miles du magasin
[@GeoLocation.Label]
Regroupés par distances domicile-travail
Cliquez avec le bouton droit sur [NCustomers] pour ouvrir la boîte de dialogue Propriétés de l'espace réservé et affectez à Nom la valeur NCustomers et à Valeur la valeur =CountDistinct(Fields!CustomerID.Value,"CustomerLocations").
Cliquez avec le bouton droit sur [Customers] pour ouvrir la boîte de dialogue Propriétés de l'espace réservé et affectez à Nom la valeur clients et à Valeur la valeur =IIF(CountDistinct(Fields!CustomerID.Value,"CustomerLocations")=1,"Customer","Customers").
Centrez la zone de texte sur le rapport et mettez en forme chaque ligne de texte, si nécessaire.
Pour supprimer les zones de texte de scénario
- Supprimez la zone de texte ToggleInformation et la zone de texte qui contiennent le texte de scénario.
Pour ce rapport, les informations de scénario sont incluses dans le titre de rapport que vous venez d'ajouter.
Ajouter la description
Pour ajouter la description
Dans le pied de page, remplacez le texte figurant dans la zone de texte de description par le texte suivant :
Objectif : rapport d'extraction de marqueurs de magasins dans Sales_by_Region_2008R2. Affiche des informations sur les clients qui vivent dans le rayon spécifié en nombre de miles d'un magasin. La géolocalisation de magasin est un paramètre String qui contient une valeur texte WKT.
Cliquez sur l'arrière-plan du rapport pour afficher Propriétés du rapport dans le volet de propriétés.
Dans Description, collez le texte de description.
Afficher les données sociodémographiques des clients dans une table
Pour ajouter la table
Ajoutez une table nommée tblxTable_Demographics qui affiche les champs suivants du dataset CustomerLocations :
[Name2], [Name1]
[DistanceinMiles]
[NumberCarsOwned]
[EmailAddress]
Ajoutez un groupe de lignes basé sur [CommuteDistance].
Mettez en forme la table autant que nécessaire.
Pour ajouter un message à afficher en l'absence de données
Sélectionnez la table.
Dans le volet Propriétés, recherchez NoRowsMessage et tapez l'expression suivante : ="No customers live within " & Parameters!Radius.Value & " miles. Display the parameters on the toolbar and enter a different distance."
Afficher un aperçu du rapport et le vérifier
Pour afficher un aperçu du rapport et le vérifier
Exécutez le rapport et vérifiez les éléments suivants :
Les valeurs de paramètre s'affichent dans le titre de rapport.
La table est classée par distances domicile-travail.
Lorsque vous modifiez la valeur du paramètre de rayon, le nombre de clients change.
Lorsqu'il n'y a pas de clients dans le rayon spécifié, la valeur NoRowsMessage s'affiche.
Étapes suivantes
Vous avez terminé la génération de ce rapport. Pour générer d'autres exemples de rapports AdventureWorks, consultez Didacticiels : Création d'exemples de rapports AdventureWorks 2008R2 (SSRS).
Historique des modifications
Mise à jour du contenu |
---|
|