2009-03-02 7 views
3

Mon rapport SSRS utilise des groupes pour diviser les données dans le groupe. J'aimerais avoir un séparateur de ligne à la dernière rangée du groupe. J'ai caché le pied de page de groupe et l'en-tête car cela me donne une ligne supplémentaire quand je rends le rapport à Excel, donc la bordure de l'en-tête ou du pied de groupe pour ceci ne fonctionne pas. Je voulais éviter les lignes supplémentaires dans Excel. Y a-t-il un autre moyen d'essayer d'y arriver?devider de groupe dans le rapport de service de rapport

Répondre

5

La fonctionnalité la plus puissante de Reporting Services est probablement la possibilité d'utiliser des expressions pour n'importe quelle propriété d'objet. Ajoutez à cela la fonction précédente qui vous permet d'accéder à la valeur précédente d'un champ et vous avez une solution.

Sélectionnez toute la ligne Détail. Développez la propriété BorderStyle et entrez le code suivant pour la propriété Top (en supposant que nous voulons une ligne de séparation entre tous les départements):

=IIF(Previous(Fields!Department.Value) <> Fields!Department.Value, "Solid", "None") 

Cela se compare à la valeur précédente du champ Département avec la valeur actuelle et si elles sont différentes , il rend la bordure supérieure de cette ligne de détail solide. Bien que cela place une ligne à la rangée supérieure du groupe suivant plutôt qu'à la rangée inférieure du groupe précédent, elle est visuellement et fonctionnellement équivalente à ce que vous recherchez avec l'avantage d'être vraiment facile à implémenter.

+0

C'est génial. –

Questions connexes