Überträgt man diese Anforderung auf die AdventureWorks Datenbank, könnte man sich folgende Aufgabenstellung vorstellen: Zu jeder Rechnungsposition sollen Detailinformationen dargestellt werden. Das Layout der Detailinformationen von Fahrrädern soll völlig anders gestaltet sein als das Layout der Detailinformationen von Bekleidung.
Die Idee
In einem Listenelement wird abhängig davon, ob die Detailinformationen zu "Bikes" oder "Clothing" gehört, ein Unterbericht dargestellt.
Listenelement mit zwei Unterberichten |
Die Überraschung
Das funktioniert nicht! Die Steuerung der Sichtbarkeit funktioniert immer nur für den ersten Unterbericht - der zweite wird nie sichtbar.
Die Lösung
Wir haben über eine "AND" Bedingung in der WHERE Klausel des Subreport-Datasets dafür gesorgt, dass das Dataset im Unterbericht "Bikes" keine Datensätze enthält, wenn die Rechnungsposition kein "Bike" ist. Ebenso haben wir dafür gesorgt, dass das Dataset im Unterbericht "Clothing" keine Datensätze enthält, wenn die Rechnungsposition kein "Clothing" ist.
Auf diese Weise rendert SSRS den Bericht wie gewünscht.