2009-06-17 26 views
7

Tworzę raport "master" w SSRS 2008, który współpracuje z innymi raportami na temat osoby. Czasami nie wszystkie inne raporty są istotne i jako takie nic nie zwracają. Chciałbym móc wykluczyć to z głównego raportu, aby nie pozostawić pustej strony.Jak pominąć pusty podraport w SSRS 2008

Jestem świadomy funkcji "brak wierszy", ale cała strona z po prostu "Nie dotyczy tej osoby" nie jest najlepszym rozwiązaniem!

Zasadniczo szukam sposobu określenia, czy podraport jest "pusty" i użyj go w wyrażeniu widoczności.

Każda pomoc jest najbardziej ceniona

Odpowiedz

13

OK, więc mam to teraz zorientowali. Odpowiedź polega na umieszczeniu podraportu w prostokącie. Następnie ustawić widoczność prostokąta na coś takiego:

=IIF(First(Fields![SOMEFEILD].Value, "[SOMEDATASET]") IS NOTHING, TRUE, FALSE) 

Gdzie [SOMEDATASET] to zbiór danych wypełniane w ten sam sposób jak ten wypełniania podraportu. Jeśli podraport jest pusty, wówczas [SOMEDATASET] również będzie puste, a bardziej do tego punktu, pole [SOMEFEILD] będzie równe NOTHING.

Bada-Bing! Jeden raport, który nie jest zagracony przez marnowanie papieru pustych stron.

Uwaga: istnieje jeden zły efekt uboczny tego podejścia, ponieważ serwer SQL będzie wysyłał te same informacje dwa razy, jeden raz, aby wypełnić zestaw danych podraportu, i ponownie, aby wypełnić zduplikowany zestaw danych w raporcie. Dla mnie jest to do przyjęcia, inni mogą chcieć o tym wiedzieć.

+0

Dobra robota. (bufor spełniający 15 granic kar) – jgallant

+3

Po przemyśleniu problemu podczas przerwy na lunch zdecydowałem, że dwukrotne zwrócenie dokładnie tych samych danych to * nigdy * dobry pomysł. Mam zamiar napisać procedurę przechowywaną, która zwraca tylko liczbę wierszy z procedur przechowywanych używanych do wypełniania podraportów. Następnie sprawdź, czy liczby te wynoszą 0, czy nie, i odpowiednio ustaw widoczność odpowiednich podraportów. – Brian

+2

dzięki za pomysł, musiałem wyszarzyć komórkę w raporcie tablix, jeśli podraport nie zwraca nic. Więc po prostu wstawiam podraport do prostokąta i ustawię kolor tła prostokąta na szary. Nie musiałem nawet używać wyrażeń, ponieważ SSRS domyślnie nic nie zwraca, jeśli podraport nie zwraca nic. Jedyny problem jaki miałem, gdy wydrukowałem swój raport, nie wyświetlał szarych komórek lub w formacie PDF (ale pokazywał go na ekranie), więc ustawiłem tekst Brak wierszy dla podraportu = CHR (32) i zrobiłem to. . Dzięki za pomysł! – mishkin

Powiązane problemy