WEBCON BPS – raportowanie z wykorzystaniem Reporting Services

Facebooktwitterpinterestlinkedinmail
dotyczy wersji: 8.0.x; autor: Karol Woźniak

 

Wstęp

Raporty wszelkich typów występują w każdej firmie oraz są sprawdzonym i skutecznym sposobem prezentowania danych statystycznych (i nie tylko). WEBCON BPS dysponuje narzędziem generowania raportów w oparciu o wcześniej przygotowaną strukturę. W połączeniu z narzędziem do tworzenia raportów jakim jest SQL Report Builder pozwala na dynamiczne generowanie raportów bazując na danych wprowadzanych na obiegach dokumentów.

Połączenie tych narzędzi umożliwia zredukowanie czasu poświęconego w innym wypadku na tworzenie i rozpowszechnianie raportów. Poniżej przykład zastosowania oraz konfiguracja krok po kroku.

Przed przystąpieniem do realizacji poniższego przykładu należy skonfigurować zgodnie z zaleceniami producenta SSRS (SQL Server Reporting Services).

Przykład użycia

Zostanie utworzony przykładowy raport zapotrzebowania na produkty (software, hardware) oraz usługi. Do przedstawienia danych zostanie użyta przygotowana tabela oraz wybrane typy wykresów. Dane będą pobierane z pól formularza na dokumentach startowanych w ramach ustalonego obiegu.

Poniżej widoczny efekt końcowy.

raport-zapotrzebowania

rs-wykresy

Następnie przejdziemy do stworzenia odpowiedniego raportu w SQL Report Builder.

Przykładowy proces dla tworzonego raportu powinien mieć następujące atrybuty:

  • Pojedynczy wiersz tekstu
  • Wiele wierszy tekstu 2x
  • Pole wyboru
  • Liczba zmienno-przecinkowa
  • Liczba całkowita
  • Data i godzina
  • Osoba lub grupa

Wartości tych atrybutów będą używane przez tabelę oraz wykresy (+ miernik).

Tworzenie struktury raportu

Na witrynie z raportami (domyślnie http://adresSerwera:80/ReportServer) włączamy Report Builder.

Wita nas ekran kreatora raportów lub zestawów danych. Wybieramy opcję tworzenie tabeli z kreatora i klikamy dalej.

rs-kreator

Po wybraniu kreatora tabeli lub macierzy przechodzimy do ekranu wyboru/tworzenia zestawu danych. Wybieramy „Utwórz zestaw danych” i przechodzimy dalej. W kolejnym oknie tj. wyboru połączenia ze źródłem danych tworzymy nowe źródło danych.

Jako typ połączenia wybieramy Microsoft SQL Server, a parametry połączenia wprowadzamy ręcznie (zgodnie ze specyfikacją: http://msdn.microsoft.com/en-us/library/ms156450.aspx#bkmk_connection_examples) lub klikamy „Kompiluj…”. W nowo otwartym oknie mamy możliwość ustawienia parametrów połączenia bez znajomości poprawnej formy connection string`a (http://en.wikipedia.org/wiki/Connection_string).

Należy wprowadzić pełną nazwę serwera tj. host + domena (http://en.wikipedia.org/wiki/Fully_qualified_domain_name).

rs-connect-string

Poniżej poprawne parametry połączenia (connection string) dla serwera Microsoft SQL. Również na tym ekranie mamy możliwość przetestowania połączenia – jest to ważny krok i na każdym etapie powinien być sprawdzany. Zatwierdzamy konfigurację połączenia do bazy przyciskiem „OK” i przechodzimy dalej.

rs-zrodlo

Widok na utworzone źródło danych. Przechodzimy dalej.

rs-tabela

Projektowanie zapytania to kluczowy krok w całym procesie tworzenia szkieletu raportu. W tym oknie musimy wskazać kolumny wybranej bazy danych, które będą uwzględniane w naszym raporcie.

Kluczowe dla nas informację dotyczące obiegu dokumentów (a więc również informacji wprowadzanych i/lub generowanych na dokumentach) znajdują się w tabeli WFElements wybranej bazy. Wszystkie wartości wprowadzanych atrybutów przechowywane są w kolumnach, których nazwy zaczynają się od WFD_Att… np. WFD_AttPeople1 = pierwszy atrybut typu „Osoba lub grupa” na danym procesie. Dla naszego przykładu zaznaczymy następujące kolumny bazy:

  • WFD_ID – unikatowy identyfikator każdego elementu
  • WFD_Signature – sygnatura dokumentu, posłuży nam do filtrowania wyników tylko wybranych sygnatur (czyli np. dokumentów dotyczących naszych zamówień)
  • WFD_TSUpdate – podaje czas ostatniej aktualizacji dokumentu
  • WFD_isFinished – zwraca true jeżeli dokument doszedł do ostatniego kroku na ścieżce
  • WFD_AttText1, WFD_AttLong1, WFD_AttLong2, WFD_AttChoose1, WFD_AttInt1, WFD_AttDecimal1, WFD_AttDateTime1, WFD_AttPeople1 – pola przechowujące wartości atrybutów na dokumencie

Kolejnym krokiem jest zastosowanie odpowiednich filtrów. W przykładzie wystarczy nam pobranie wartości wybranych pól z dokumentów o sygnaturze rozpoczynającej się od „BPM…”.

Zarówno kreowanie zapytania jak i dodawania filtrów nie wymaga wiedzy z zakresu SQL.

Po wprowadzeniu odpowiedniej konfiguracji klikamy „Dalej”.

rs-zapytanie

Porządkowanie pól umożliwia tworzenie skomplikowanych tabel z wieloma wewnętrznymi strukturami oraz grupowanie ich w celu odpowiedniego przedstawienia danych. W naszym przykładzie tworzymy prostą tabelę, więc przeciągamy widoczne na poniższym screenie kolumny do pola „Wartości”.

Następnie należy określić czy chcemy użyć wobec wybranych pól jednej z wbudowanych funkcji agregacyjnych m.in.: Sum(), Count(), First() etc. Wybór funkcji agregujących dostępny jest po kliknięciu prawym przyciskiem na wybraną wartość.

Niektóre typy pól np. Integer lub Decimal (całkowite lub zmienno-przecinkowe) automatycznie są agregowane przez funkcję Sum(). W naszym przypadku odznaczamy wszelkie dodatkowe funkcje i przechodzimy dalej do wyboru układu i stylu wyświetlania tabeli. Wprowadzamy tam preferowane ustawienia i klikamy „Zakończ” (w tworzonym przykładzie zostawiono domyślne ustawienia dla układu i stylu wyświetlania).

rs-pola

Po skończeniu pracy kreatora widoczny jest szkielet tabeli oraz nagłówek raportu. Nagłówkami kolumn są wybrane pola, natomiast w wierszu wartości tych pól.

rs-szkielet-tabeli

Docelowo struktura tabeli ma się prezentować następująco:

rs-struktura-tabeli

 

Ustawienia formatowania i właściwości

Należy pamiętać o zachowaniu odpowiednich rozmiarów raportu jeżeli ma być on generowany do pliku PDF. Zaprezentowany na początku raport mieści się na 1 stronie A4. Generując taki raport warto w zakładce „Widok” zaznaczyć checkbox „linijka”. W każdym momencie możliwe jest uruchomienie raportu a więc włączenie podglądu, w celu sprawdzenia jak wygląda aktualnie (również w podglądzie wydruku).

Zmian nazw nagłówków dokonujemy jak w zwykłym edytorze tekstowym. Dodanie wiersza tabeli również następuje poprzez menu kontekstowe tabeli dostępne po kliknięciu prawym przyciskiem myszy w jej obrębie.

Kwestie wyglądu i formatowania mogą być zmieniane poprzez okno „Właściwości”. Można je włączyć w zakładce „Widok” głównego paska narzędzie programu SQL Report Builder zaznaczając odpowiedni checkbox.

rs-formatowanie

 

Drugim sposobem zmiany wyglądu tekstu jest okno „Właściwości pola tekstowego” dostępne z poziomu menu kontekstowego.

rs-fonty

Dokładne ustawienia formatowania i wyglądu tabeli nie będzie tutaj omawiane.

 

Konfiguracja wartości wyrażeń

Ostatnim krokiem jest odpowiednie ustawienie wyświetlanych wartości przez pola: Kategoria, Koszt całkowity, Osoba wnioskująca oraz Razem.

W tym celu przechodzimy do edycji wartości wyrażenia:

rs-edycja

SQL Report Builder udostępnia wiele wbudowanych funkcji pozwalających na tworzenie zaawansowanych wyrażeń oraz szybki dostęp do prostszych i najczęściej używanych wartości.

 

 

Poniżej screeny z konfiguracji wymienionych powyżej pól:

Pole „Kategoria”. Domyślnie jest wyświetlane w postaci NazwaKategorii#NazwaKategorii. Należy wyświetlić tylko część po wystąpieniu znaku „#”.

rs-wyrazenia

Pole „Koszt”. Mnożymy cenę jednostkową produktu/usługi razy ilość.

rs-mnozenie

Pole „Os. wnioskująca”. Analogicznie jak pole „Kategoria”.

rs-wnioskujacy

Pole „Razem”. Sumuje wartość kolumny „Koszt całkowity” (kolumna WFD_AttDecimal1).

rs-suma

Po wykonaniu powyższych kroków przechodzimy do WEBCON BPS Designer Studio i konfigurujemy akcję generowania raportów.

Konfiguracja ustawień akcji oraz generowanie raportu z WEBCON BPS

Przechodzimy do dowolnego kroku ( tu krok 2) naszego procesu i wybieramy edytuj. Następnie na zakładce „Akcje” dla typu „Przycisk w menu” dodajemy akcję „Generuj Raport RS”. Przechodzimy do jej konfiguracji.

rs-akcja

Konfigurujemy akcję zgodnie ze schematem na poniższym screenie.

rs-akcja-2

Adres serwera domyślnie ma postać http://serwer:80/ReportServer.

Adres raportu odnosi się do lokalizacji raportów na serwerze. „/” to katalog główny raportów.

Należy wybrać odpowiedni sposób logowania oraz wprowadzić poprawny adres serwera i adres raportu wraz z jego poprawną nazwą.

Pola „Nazwa załącznika” oraz „Grupa” są wymagane. Wybierając typ pliku wyjściowego należy mieć świadomość w jakim rozmiarze powstawał raport (A4,A3, niestandardowy etc.). Jest to szczególnie istotne generując raporty w postaci pliku PDF, DOC gdzie domyślnie muszą się zmieścić na pionowej stronie A4.

Podsumowanie

Po dodaniu akcji generowania raportów przechodzimy na witrynę i startujemy kilka przykładowych dokumentów wprowadzając odpowiednie dane do atrybutów.

Podczas wprowadzania danych na dokumencie do tabeli będą pobierane wartości ze skorelowanych pól formularza np. wypełniając na dokumencie pole „Koszt” wartość zostanie przekazana do pola „Cena jednostkowa” w tabeli.

rs-podsumowanie

Po wprowadzeniu danych do kilku dokumentów i wykonaniu akcji na ostatnio wprowadzonym dokumencie wygenerowany zostanie raport w oparciu wprowadzone dane. W przykładzie wykonanie akcji zostało ustawione na przycisk w menu w drugim kroku ścieżki.

Tworzenie wykresów w SQL Report Builder w drugiej części artykułu.