2010-01-26 7 views
1

J'ai un rapport qui montre les rendez-vous des clients, par le représentant des ventes pour les 3 derniers mois regroupés par secteur clients. Dans l'en-tête de groupe Secteur client, je souhaite afficher le pourcentage du total global des clients dans ce secteur que les rendez-vous représentent.SSRS: Comment afficher un pourcentage du total global dans un en-tête de groupe

Par exemple, mon rapport montre que 6 nominations ont été faites par John Smith pour les clients dans le secteur de « défense » au cours des 3 derniers mois. John Smith a également effectué 4 rendez-vous pour des clients du secteur «Gouvernement local».

Je sais que j'ai un total de 10 clients de la Défense et 20 clients du gouvernement local. Comment puis-je montrer le pourcentage de clients dans ce secteur au cours des trois derniers mois?

J'affichons actuellement:

Sales Rep: John Smith (10 appointments) 
    Sector: Defence (2 customers) 
      Customer 1 (4 appointments) 
       Appointment 1 -- Blah 
       Appointment 2 -- Blah 
       Appointment 3 -- Blah 
       Appointment 4 -- Blah 
      Customer 2 (2 appointments) 
       Appointment 1 -- Blah 
       Appointment 2 -- Blah 
    Sector: Local Government (2 customers) 
      Customer 3 (3 appointments) 
       Appointment 1 -- Blah 
       Appointment 2 -- Blah 
       Appointment 3 -- Blah 
      Customer 4 (1 appointment) 
       Appointment 1 -- Blah 

Et je veux montrer:

Sales Rep: John Smith (10 appointments) 
    Sector: Defence (2 customers - **20% of total Defence customers**) 
      Customer 1 (4 appointments) 
       Appointment 1 -- Blah 
       Appointment 2 -- Blah 
       Appointment 3 -- Blah 
       Appointment 4 -- Blah 
      Customer 2 (2 appointments) 
       Appointment 1 -- Blah 
       Appointment 2 -- Blah 
    Sector: Local Government (2 customers - **10% of Local Government customers**) 
      Customer 3 (3 appointments) 
       Appointment 1 -- Blah 
       Appointment 2 -- Blah 
       Appointment 3 -- Blah 
      Customer 4 (1 appointment) 
       Appointment 1 -- Blah 

Je suis un noob SSRS, donc je ne sais pas comment je peux y parvenir. Est-ce que j'ajoute un jeu de données au rapport contenant le nombre total de clients dans chaque secteur client? Si je fais cela, comment puis-je utiliser le total pour dire, Défense, dans l'expression que je montre actuellement dans l'en-tête du groupe Secteur client pour calculer le pourcentage du nombre total de clients dans ce secteur?

En raison des restrictions de base de données, je ne peux pas créer des tables, vues ou procs stockées dans la base de données source, donc tout le travail doit être fait dans le rapport. J'utilise SSRS 2005

Répondre

1

Je pense que ce que vous voulez accomplir est sans doute fait plus facilement en ajoutant% des clients en tant que colonne dans votre requête SQL pour les données actuelles. Cela dépend du nombre de jeux de données que vous avez en ce moment. Si vous postez votre SQL pour vos jeux de données, je serais heureux de vous conseiller; sans cela, je vais devoir deviner. Ceci est probablement assez proche pour vous conduire sur le bon chemin.

Si vous avez les données ci-dessus sont tirés dans un grand résultat dénormalisé de la forme:

SELECT 
    SalesRep 
    , Sector 
    , Customer 
    , Appointment 
    , (SELECT count(*) FROM customers WHERE s.sector = sector) as numCustomerPerSector 
FROM SalesReps sr 
INNER JOIN Sectors s 
    ON ... 
... 
WHERE 1=1 

Je suis sûr que ce n'est pas la solution optimale, mais cela fonctionnera.

+0

Merci Bob. J'ai finalement trouvé une solution très similaire à la vôtre. Pas élégant, mais ça marche. – ABC123

Questions connexes