2008-11-19 17 views
14

Zajmuję się pomysłem wprowadzenia internetowego programu SSRS Report Builder do naszych użytkowników końcowych, aby umożliwić im tworzenie własnych raportów w oparciu o nasze bazy danych aplikacji produkcyjnych. Z tego, co widziałem do tej pory, to narzędzie jest łatwiejsze w użyciu niż projektant raportów VS Biz Intel Studio, a ponadto jest łatwiejsze do zainstalowania, a wdrażanie raportów jest bardziej zrozumiałe dla użytkownika końcowego (plus największą rzeczą jest brak SQL Zgaduję).Konstruktor raportów SSRS - problemy z doświadczeniem?

Czy ktoś ma jakiekolwiek myśli lub doświadczenia na temat pułapek dostarczania użytkownikom tego rodzaju mocy? W tej chwili otrzymujemy wiele próśb o wyeksportowanie danych do pliku płaskiego, aby można je było odczytać, a następnie budować raporty w programie Access, dlatego uważam, że usługa SSRS byłaby lepsza niż Accesss ...

Odpowiedz

14

Kilka wskazówek dla modelu raport wzorem:

1. Zbuduj mart dane

Istnieje kilka narzędzi, takich jak: Konstruktora raportów Business Objects, Oracle Discoverer, aby wymienić tylko kilka. Wszystkie mają warstwy metadanych, które umożliwiają przejście do narzędzia raportującego użytkownika końcowego, jednak wciąż potrzebują danych z łyżeczką w odpowiednim formacie, aby stworzyć skuteczne rozwiązanie. Oznacza to, że naprawdę musisz myśleć w kategoriach budowania pewnego rodzaju danych-mart.

Bez czystych danych, narzędzia odsłaniają wszystkie błędy w produkcyjnej bazie danych, więc użytkownicy będą musieli je zrozumieć, aby uzyskać poprawne wyniki. Oznacza to, że raportowanie powinno w rzeczywistości pochodzić z czystego źródła danych.

Masz około zerową kontrolę nad SQL, które te narzędzia produkują, więc są one całkiem zdolne do tworzenia zapytań, które będą przepuszczać Twoją produkcyjną bazę danych. Oznacza to, że raportowanie powinno odbywać się na oddzielnym serwerze. Schemat przyjazny dla narzędzi ad-hoc (taki jak schemat gwiazdy) złagodzi najgorsze potencjalne problemy związane z wydajnością.

2. Wyczyść dane

Nie ma deweloper w pętli z narzędziami ad-hoc, więc użytkownicy będą naiwnie użyć narzędzia nie wiedząc, jakie kwestie są dane. Wyniki niedokładnych zapytań będą zawsze wyświetlane jako błąd narzędzia. Aby uzyskać wiarygodność, pułapki te należy wyeliminować z zestawu danych poprzedzającego narzędzie.

3. Dodać do nawigacji wytrzymałe i odporne idiota

Report Builder można ustawić ograniczenia na przejście z jednego podmiotu na inny. Bez nich istnieje możliwość łączenia wielu tabel w relacji m: m. Nazywa się to Fan Trap i zwraca nieprawidłowe sumy. Musisz skonfigurować model, aby poszczególne tabele faktów były agregowane na wspólnych wymiarach - tj. Zwijane przed ich połączeniem. Uzyskanie tego prawa eliminuje klasę błędów. Większość narzędzi ma pewien mechanizm zapobiegający temu.

4. Sprawdź dane agregować

dostać to za darmo z Business Objects, ale trzeba będzie położyć na łączną środek każdego środka podstawy wyraźnie z Report Builder. Ukryj podstawowe miary i odsłoń zagregowane dane. Oznacza to, że system zwinie dane do wymiarów wybranych przez użytkownika.

Wnioski

Złożenie narzędzie ad hoc bezpośrednio nad produkcyjnej bazy danych nie jest prawdopodobne, aby dobrze pracować. Dane będą miały zbyt wiele pułapek, a schemat nie będzie się nadawał do raportowania. Oznacza to, że jesteś gotowy do pracy przy tworzeniu hurtowni danych w celu wyszorowania danych i przygotowania ich do narzędzia. Jeśli poświęcasz dużo czasu na tworzenie fragmentów ad-hoc, może to być sprawa biznesowa po prostu w czasach dewelopera, które później można zapisać.

EDYCJA: Kreator modeli raportów (jak większość takich rzeczy) sprawia, że ​​po uruchomieniu pojawia się niezły bałagan. Będziesz musiał dostosować ustawienia, takie jak ograniczenie generowania nieistotnych agregatów. W przeszłości miałem całkiem dobre wyniki generując sumy, ukrywając wszystkie podstawowe miary i eksponując agregaty tak, jakby były miarami podstawowymi. To dało zachowanie podobne do Business Objects. W określonych przypadkach możesz również chcieć wyświetlić liczbę, min/maks lub średnie.

Szczególną instancją, o której myślę był dość duży model raportu z około 1500 pól w nim, więc agregat-fest wygenerowany z kreatora był niezdolny do zarządzania z ponad 10.000 pól w sumie. Możesz także skonfigurować struktury folderów trochę jak Analysis Services i użyć ich do uporządkowania pól. Na koniec, jeśli zostanie wprowadzony, opis na polu pojawi się jako etykieta, jeśli najedziesz na niego kursorem w narzędziu użytkownika końcowego.

+1

Doskonałe! Dziękuję - jest to świetne wyjaśnienie, w jakim temacie danych pasują puzzle, a to wiele problemów, o których nie myślałem. –

9
Zaledwie kilka uwag na temat poprzedniej odpowiedzi:
1. model semantyczny zapytań używane przez SQL Server Reporting Services Report Builder został zaprojektowany z wyraźnym zamiarem zapobiegania Fan Pułapki/niepoprawne sumy na m: m relacje. Do włączenia tej funkcji nie jest wymagany żaden dodatkowy wysiłek; jest nieodłączną strukturą zapytań generowanych przez Konstruktora raportów.
2. Kreator modelu domyślnie tworzy pomiary zbiorcze na polach numerycznych, więc nie jest wymagany dodatkowy wysiłek w celu odsłonięcia agregatów. Możesz dostosować model, dodając lub usuwając obliczenia agregacji, odpowiednio.

Ogólnie rzecz biorąc, stare powiedzenie "śmieci w śmieciach" z pewnością ma zastosowanie. Jeśli Twoje dane nie są czyste, narzędzie do tworzenia raportów lub inne narzędzia raportowania ad hoc sprawią, że stanie się to bardziej oczywiste.

Engineer Aaron Meyers
Rozwój oprogramowania SQL Server Reporting Services
+0

Fajnie - dzięki Aaron! –

+0

Domyślnie to, co dostajesz od kreatora, jest dość nieporządne. Zwykle zalecam ukrywanie niezagregowanych miar i zmianę nazwy środków, przedstawiając je tak, jakby były miarami podstawowymi. Korzystaj z folderów do organizowania działań. W pewnym momencie miałem okazję stworzyć model raportu, który miał łącznie blisko 1500 pól; dokumentowanie i porządkowanie danych w modelu raportu było dość dużym przedsięwzięciem. – ConcernedOfTunbridgeWells

+0

Uważam jednak, że najłatwiejszym sposobem jest uzyskanie czystych danych prezentowanych w modelu raportu. – ConcernedOfTunbridgeWells

Powiązane problemy