Nawigacja:  Menu Główne > Projekty SQL >

Definiowanie Raportów SQL

Poprzednia stronaPowrótNastępna strona

Dostęp do opcji:

       MENU GŁÓWNE - Projekty SQL - Definiowanie Raportów SQL
       IKONA - przybory
       SKRÓT - CTRL + D

 

 

Wszystkie funkcje tej opcji dostępne są dla różnych rodzajów baz danych. Utworzone projekty raportów SQL zapisywane są z rozszerzeniem *. tgr.

Obsługa plików Clarion (CDN) *.DAT odbywa się w trybie bezpośrednim. Możemy wykonywać zapytania SQL do tabel bez potrzeby ich konwertowania, podczas pracy Np. programu F++.

 

BANERuwaga

Dotyczy baz CLARION:  Zapytanie SQL może zawierać odwołania tylko do tabel znajdujących się na liście w pliku konfiguracyjnym, a nie całym katalogu danych.

 

 Definiowanie skryptów SQL może odbywać się za pomocą wizualnego Generatora SQL. Wygenerowany skrypt jest zapisywany wraz z wizualnym modelem, do ponownego użycia, Np. w celu edycji wyrażenia SQL.

 

W oknie dostępnych jest kilka przykładów, które pozwolą użytkownikowi na lepsze zrozumienie zagadnienia.

 

ProjektSQL

Okno projektowania SQL składa się z:

 

A        Menu Ikon Okna

B        Parametry dla generowanych raportów.

C        Lista utworzonych projektów.

D        Info - notatka dotycząca raportu.

E                Zakładki skryptów SQL.

F                Tabela wyników.

G                Stopka tabeli.

 

Tworzenie projektu rozpoczynamy od nadania mu nazwy kartkaPlus.

Jeśli chcemy, by skrypt ten znalazł się w zupełnie nowym katalogu i podkatalogu, korzystamy z odpowiednich ikon (drzewoPlus katalog, drzewoOlowek podkatalog). Podczas tworzenia nowego projektu, kursor powinien znajdować się na podkatalogu, w którym chcemy umieścić raport. Teraz możemy przystąpić do definicji skryptu klikając uprzednio ikonę kartotekaOlowek, aby wskazać ścieżkę do bazy danych. Kolejnym krokiem jest tworzenie skryptu, które odbywa się w zakładce 2. Skrypt możemy wpisać lub skorzystać z kreatora rozdzka, który wizualnie pomaga w jego tworzeniu. Zapisujemy utworzony skrypt DyskietkaNieb, a następnie klikamy Oblicz, wyniki zostaną przedstawione w tabeli F lub informacja o ewentualnym błędzie.



A        Menu Ikon Okna

***

ProjektSQLMenuIkon

 

drzewoRozwin

Rozwiń szczegóły.

Rozwijanie listy utworzonych projektów w bloku c.

drzewoZwin

Zwiń szczegóły.

Ukrywanie listy projektów.

drzewoPlus

Dodawanie katalogu do listy projektów. W nagłówku okienka edycyjnego podana jest ścieżka dostępu do tworzonego katalogu

drzewoOlowek

Dodawanie podkatalogu.

kartkaPlus

Dodawanie nowego projektu. Po jego utworzeniu należy przejść do opcji Definiowania skryptu kartotekaOlowek.

BANERwskazowka

Podczas tworzenia nowych katalogów, podkatalogów i projektów, program korzysta ze standardowych procedur Windowsa®, co może skutkować nieznacznymi opóźnieniami w wyświetleniu nowych informacji. Odświeżenie okna można uzyskać poprzez jego ponowne otwarcie.

 

BANERuwaga

Kasowanie katalogów, podkatalogów i plików można wykonać przy użyciu standardowego podręcznego MENU (prawy przycisk myszy)

 

 

kartotekaOlowek

Definiowanie skryptu.

Okno podzielone jest na zakładki. W pierwszej Skrypt - wprowadzamy dane podstawowe.

Nazwa skryptu - drukowana będzie w tytule raportu.
Raport - prefix - jest to nazwa pozwalająca na filtrowanie i grupowanie raportów.
Raport - nazwa - nazwa raportu z bieżącego projektu
Komentarz - Opis raportu, komentarz ten wyświetlany jest w oknie z listą parametrów, przed wykonaniem raportu. Możemy tutaj podać uwagi, które użytkownik dostanie na etapie wprowadzania parametrów wykonywanego raportu.

 

DefiniowanieSkryptu

 

         BANERlinijka1

Kolejna zakładka służy do ustawienia parametrów: wybrania określonego typu danych, wskazania katalogu, w którym się znajdują oraz ich nazw. Kolejne pliki dodajemy już po ustawieniu ścieżki dostępu do bazy danych.

W tworzonym raporcie możemy posłużyć się zmiennymi, wprowadzanymi przez użytkownika jako parametry, przed wykonaniem raportu. Aby okno dialogowe było wyświetlane, przy tym ustawieniu musi znaleźć się znak fajka1.

 

BANERprzyklad

Raport sprzedaży za podany miesiąc. W takim przypadku program wyświetli okno dialogowe, w którym użytkownik poda wymagany miesiąc.

 

Takiego samego włączenia - fajka1 - wymaga opcja Aktywne wykresy dla skryptu. Dodatkowo należy nadać nazwę dla osi X oraz Y wykresu. (Nazwy pól z tabeli).  Jeżeli wynikiem raportu są dane liczbowe to możemy je przedstawić w formie graficznej za pomocą wykresów.

 

DefiniowanieSkryptu2

 

 

lightbulb

Ścieżka dostępu do bazy danych może zawierać konkretną informację o miejscu na dysku, w którym znajduje się plik.

BANERprzyklad

C:\tgsoft\RE\bazy_demo\fpp

 

Może też zawierać zmienną, która występuje w formie ograniczonej nawiasami. Stosowanie zmiennych do ścieżek dostępu można porównać do stosowania zdefiniowanych stylów pisma w edytorze tekstu. Przy zmianie formatu, ustawienia wykonywane są automatycznie.

BANERprzyklad

<KatalogFPP>

 

BANERrada

 

Jeśli mamy utworzonych kilka raportów, odwołujących się do tych samych baz danych, wtedy wykorzystujemy zmienne. Jest to metoda wygodniejsza, ponieważ wybawia nas od uciążliwego poprawiania ścieżek, przy zmianach konfiguracyjnych.

Stosowanie zmiennych jest wygodniejsze dla informatyków, którzy posługują się takimi samymi skryptami obsługując różnych klientów. Nie muszą za każdym razem zmieniać ścieżki dostępu, ponieważ każdy z nich, swoją ścieżkę ma ustawioną w Funkcjach.

 

BANERlinijka1

 

Kolejna zakładka to skrypt SQL, który zostanie umieszczony tutaj automatycznie po utworzeniu go i zapisaniu w Zakładce2 E.

DefiniowanieSkryptu3

 

BANERlinijka1

 

Zakładka Dodatkowa lista SQL

Pracę rozpoczynamy od założenia nazwy nowego skryptu, po naciśnięciu INSERT lub kliknięciu "+" na pasku narzędziowym. Następnie klikamy narzedzia1 i przechodzimy do Edycji - tworzenia skryptu.

Na podstawie skryptów wykonanych do naszego programu Kadry-Płace pokażemy sekwencję trzech skryptów z zastosowaniem tabeli przestawnej. Tak, program umożliwia przedstawianie danych wg Tabeli Przestawnej (PIVOT TABLE), przy tym może mieć kilka stałych kolumn wymienionych w składni SELECT! W definicji skryptu wprowadzamy podstawowe zapytanie SQL, które pobierze dane z naszej bazy. Jednocześnie możemy wykonać połączenia tabel i ograniczenia pobieranych rekordów za pomocą parametrów i wymaganych składników.

 

DodatkowySQL

 

Widzimy tutaj trzy połączenia: dwa z tabelą SLOWNIK oraz jedno z tabelą OBROTY.

 

Pobraliśmy dwa składniki z bazy obroty o kodach 29 i 30. Które w pierwszym przebiegu SQL będą w wierszach jeden pod drugim. W naszym raporcie chcemy aby występowały w kolumnach obok siebie. W tym przypadku potrzebna jest tabela przestawna.

DodatkowySQL1

 

I na zakończenie dla wymaganego efektu końcowego posortujemy tabelę wg odpowiednich kolumn.

 

DodatkowySQL2

 

W przykładzie tym program wykona trzy skrypty, w których drugi odwoła się do danych SQL1 a trzeci do danych o nazwie SQL2. Wszystkie powiązania i definicje wykonujemy na etapie projektowania. Użytkownik wykonuje gotowy raport, nie wiedząc nic o jego skomplikowanej strukturze. Nie musi tego poznawać!

 

BANERlinijka1

 

Ostatnia zakładka zawiera info o dacie powstania oraz autorze projektu.

 

DefiniowanieSkryptu5

 

Po zdefiniowaniu raportu, przystępujemy do jego tworzenia - Edycja skryptu SQL - blok E (zakładka 2).

BANERlinijka1

 

kartkaFajki

lub F6

Parametry SQL.

Jeśli podczas definiowania skryptu, w zakładce Ustawienia, zaznaczyliśmy fajka1 Przed wykonaniem raportu, użytkownik musi podać parametry, wtedy należy zdefiniować parametry dla takiego raportu. Po wybraniu opcji klikamy kartoteka lub naciskamy INSERT.

 

ParametrySkryptu

 

Możemy zdefiniować wiele parametrów poprzez podanie kilku niezbędnych informacji:

Opis, komentarz        - Informacja dotyczącą danego parametru, którą chcemy przekazać użytkownikowi.
Nazwa                - w skryptach SQL odwołujemy się do parametrów poprzez nazwę. Pomimo iż nazwa jest dowolna, to sugerujemy stosowanie nazw, które dostępne są bezpośrednio na etapie projektowania skryptu. Takie nazewnictwo umożliwi nam testowanie roboczego raportu z parametrami. Nazwy te pokazują się jako "dymki" pod polami umieszczonymi na pasku narzędziowym:

 

DefiniowanieSkryptuParam

Typ danych - określa typ danych jaki parametr ma przyjąć.
FLOAT - dla wartości numerycznych np. kwoty, ilości.
INTEGER - dla wartości numerycznych całkowitych np. kody, numery dokumentów, identyfikatory...
DATE - pola daty.
STRING - pola tekstowe, wszelkiego rodzaju nazwy.
Domyślna wartość - możemy określić wartości początkowe dla naszego raportu, które będą najczęściej stosowane. Dzięki temu użytkownik będzie proszony o ich wprowadzanie, tylko podczas tworzenia raportu z innego zakresu.W pozostałych przypadkach wystarczy zatwierdzić zaproponowane dane.

 

lightbulb

Podczas wykonywania zaprojektowanego raportu, sposób podawania parametrów jest różny i zależy od miejsca, z którego generujemy taki raport. Jeśli jest to opcja Definiowanie Raportów SQL (czyli opisywana), wtedy odpowiedni parametry należy podać w bloku B. Dla użytkowników, którzy nie zajmują się tworzeniem raportów, a jedynie ich wykonywaniem, przewidziana jest opcja Wydruk Raportów SQL. Tam po wybraniu raportu, jeśli program stwierdzi, że jego wygenerowanie zależne jest od parametrów, wyświetli okno edycyjne, z odpowiednimi polami do wypełnienia.

 

W tej opcji przewidziano 6 podstawowych parametrów, które pomogą nam podczas testowania tworzonego raportu.Podczas definiowania parametru należy posługiwać się tymi nazwami, ponieważ stanowią one słowa kluczowe odwołujące się do konkretnych pól.

 

BANERpamietaj

Podczas tworzenia raportów możemy jednak wykorzystywać DOWOLNE PARAMETRY, pamiętajmy jednak, że wykonujemy je wtedy tylko w opcji Wydruki Raportów SQL, gdzie generowanie okien edycyjnych do podawania parametrów nie ma ograniczeń.

 

pytajnik

Oblicz liczbę rekordów w tabeli wynikowej.

Po poprawnym wykonaniu skryptu i wybraniu tej opcji, wyświetlona zostanie liczba wygenerowanych rekordów. Program tworzy tabelę bez liczby porządkowej. Powstaje ona podczas wydruku skryptu (na ekran, drukarkę lub do pliku). Jeśli jednak nie chcemy drukować danych a jedynie znać liczbę pozycji, wtedy korzystamy właśnie z tej opcji.

drukarka1 lub F5

Wydruk raportu według projektu FAST REPORT.

blyskawica1 lub F9

Wykonaj skrypt SQL.

Jeśli skrypt SQL został podany prawidłowo, wygenerowana zostanie tabela wynikowa i wyświetlona w bloku F.


 

BParametry dla generowanych raportów.

 

 

Są to pola, w których należy podać parametr, dzięki któremu program będzie mógł poprawnie wygenerować raport. Jeśli definicja raportu nie przewiduje użycia parametrów, wtedy pola te pozostają puste. W opcji tej przewidziano tylko 6 parametrów, ponieważ służyć mają jedynie do testów tworzonych skryptów. Jeśli zdefiniowane zostały parametry innego rodzaju testowanie należy wykonać poprzez opcję Wydruk Raportów SQL. Aby móc odwoływać się do przedstawionych pól w nazwie parametru należy posłużyć się konkretnymi słowami kluczami, które pojawiają się w dymkach po skierowaniu kursora na to pole. W przedstawionym przykładzie zostały przedstawione w ramkach z cieniem.

 

DefiniowanieSkryptuParam

 


 

CLista utworzonych projektów.

W nagłówku  okna znajduje się ścieżka dostępu do bieżącego pliku. Domyślny katalog to c:\tgsoft\re\tgr\, który zawiera przygotowane raporty. Każdy raport to oddzielny plik *.tgr, który zawiera wszystkie informacje potrzebne do jego wykonania.

 

ProjektSQLLista

 


 

DInfo - notatka dotycząca raportu.

Opis bieżącego raportu. Podczas definiowania skryptu wprowadzamy komentarz, który pozwoli użytkownikowi, wykonującemu raport na zorientowanie się czego on dotyczy.  W opcji wydruki Raportów SQL wyświetlany jest po wybraniu funkcji Oblicz.

 

ProjektSQLKoment

 


 

E        Zakładki skryptów SQL.

W oknie Definiowania Raportów SQL w bloku E  mamy 2 zakładki. Pracę rozpoczynamy od 1. Lista skryptów SQL.

ProjektSQL

Przypomnienie zaczynamy od : Nadania nazwy kartkaPlus, zdefiniowania skryptu kartotekaOlowek.

Kolejnym krokiem jest tworzenie skryptu, które odbywa się właśnie w zakładce 2. Po przejściu do niej zmienia się wygląd niektórych bloków w oknie.

 

DefiniowanieSkryptu4

 

W bloku C wprowadzamy skrypt. Możemy to zrobić na 3 sposoby:

1.Wprowadzanie całego tekstu z ręki, jak w edytorze tekstu. Jeśli nie podaliśmy tekstu skryptu podczas definiowania w zakładce3, możemy robić to teraz.

2.Wprowadzanie słów kluczowych oraz automatyczne przenoszenie nazw pól tabeli.

W tym celu wybieramy bazę danych z bloku D1, zaznaczamy odpowiednie pozycje w bloku D2, a następnie klikamy ikonę strzalkaZielonaLewo Kopiuj do skryptu. Odpowiednie wartości znajdą się w bloku C, w miejscu, w którym znajduje się kursor.

BANERpamietaj Do treści skryptu wysyłane są tylko nazwy pól, pozostała treść wprowadza użytkownik. Jeśli nie wie jak to zrobić, powinien wybrać 3 sposób.

3. Tworzenie skryptu przy pomocy Kreatora SQL rozdzka, który wizualnie pomaga w jego tworzeniu.

Zapisujemy utworzony skrypt DyskietkaNieb, a następnie klikamy Oblicz, wyniki zostaną przedstawione w tabeli F lub informacja o ewentualnym błędzie.


Kreator SQL

Pracę rozpoczynamy po kliknięciu ikony rozdzka. Na ekranie zostanie wyświetlone okno z pustymi blokami 1, 2. W bloku 3 ,  jeśli podczas definiowania skryptu, ustawiono poprawnie ścieżkę dostępu do bazy danych, wyświetlona zostania lista dostępnych tabel.

 

kreatorSQL

lightbulb

 

W kreatorze SQL podstawowym "narzędziem" programistycznym jest myszka, ponieważ to przy jej pomocy wskazujemy i wybieramy wszystkie ustawienia. Skrypt tworzy się automatycznie i jest przedstawiony w zakładce2 - Skrypt SQL.

 

kreatorSQL_Skrypt

W zakładce 3 od razu generowana jest Tabela Wynikowa.

 

kreatorSQL_TabelWyn

 

Wracamy do zakładki Model -

 

Wyrażenie SQL mogą zdefiniować nawet początkujący użytkownicy za pomocą wbudowanego generatora SQL. Metodą "przeciągnij i upuść" oraz kilkoma kliknięciami myszki możemy zdefiniować nawet bardzo skomplikowany skrypt składający się z kilku połączonych tabel, włączając sortowanie, grupowanie oraz stosowanie funkcji. Kreowanie skryptu prześledźmy na przykładzie danych typu Clarion (CDN - FPP).

W oknie 3  klikamy wybraną bazę i nie zwalniając klawisza myszki przesuwamy ją do bloku 1. Tak samo postępujemy z kolejnymi bazami. (Możemy także dwa razy kliknąć, aby sama wskoczyła do bloku 1.)

Podczas wstawiania, myszka przybiera formę myszkaCiagnieBaze. Po zwolnieniu klawisza w bloku 1 pojawia się okienko z listą pól wybranej tabeli. Jej nazwa w nagłówku okna.

kreatorSQL_ListaPol

 

Wybieranie pól do skryptu polega na klikaniu okienek fajka1 znajdujących się przed nazwami. Jeśli chcemy wybrać wszystkie pola z tabeli, wybieramy pierwszą pozycję z listy.

 

Jest to zawsze kreatorSQL_ListaGwiazd.

 

Teraz pora na kolejne tabele. Znowu chwytamy myszką i przesuwamy do bloku 1.  Wybieramy odpowiednie pola, klikając myszką fajka1.

Łączenie tabel

Aby informacje z wybranych tabel (w naszym przypadku trzech) zostały przedstawione w tabeli wynikowej w JEDNYM RAPORCIE, należy wykonać POŁĄCZENIE.

BANERuwaga

 

Łączyć możemy tylko te tabele, które mają przynajmniej 1 wspólne pole. Przy czym wspólne pole nie oznacza jedynie takiej samej nazwy tego pola ale dotyczy relacji pomiędzy różnymi tabelami w całej bazie. Operator łączący tabele powinien znać strukturę programu i zachodzące w nim relacje międzybazowe. Ponadto pamiętajmy, że może się zdarzyć że te same pola (które służą do wzajemnej relacji mają różne nazwy w w różnych tabelach.

 

 

Łączenie odbywa się podobnie jak wstawianie listy pól. "Chwytamy" myszką wybraną nazwę pola z jednej tabeli i przesuwamy się do tego samego pola w drugiej. Zwalniamy klawisz myszki. Połączenie zostało wykonane, na co wskazuje czarna linia.

 

kreatorSQL_Laczenie

 

W przedstawionym przykładzie widzimy trzy połączone tabele.Tabela a jest połączona zarówno z tabelą b  jak i c. Jedno połączenie, to

Zależności:

a - b -  tabele zostały połączone polem ID typu Integer.

a - c -  tabele połączono polem KOD. Łącznik w tabeli a zakotwiczony jest przy tej pozycji, jednak w tabeli c, kotwica znajduje się w lewym górnym rogu okna. Nie jest to błąd, a jedynie informacja, że istnieje połączenie pól, ale pola nie widać w oknie, ponieważ lista została przesunięta w górę lub w dół.

pasekPionowy

 

Suwak  wskazuje nam, w którym miejscu na liście pól jesteśmy. Im suwak większy tym mniej jest pól.

 

 

Aby zobaczyć jakiego połączenia dokonano należy kliknąć myszką połączenie bazy, a następnie wybrać pozycję - Link options. Pozycja Delete, kasuje połączenie.

kreatorSQL_Laczenie1

W opcjach połączenia - okno Złączenie Tabel oprócz informacji dotyczącej nazw baz danych oraz pól łączących je mamy także dwa bloki ustawień. Jeden - z operatorami oraz drugi z typami.

Przy operatorze kreatorSQL_Operator

 

Inner - złączenie wewnętrzne - domyślne. Wybiera tylko takie dane, które mają odpowiednik w drugiej tabeli.

Left Outer - złączenie zewnętrzne - wybiera wszystkie rekordy z lewej tabeli i dopasowuje do nich rekordy z prawej. Jeśli w łączonych polach w prawej tabeli nie ma odpowiednika, rekord i tak znajdzie się w wyniku.

Right Outer - złączenie zewnętrzne - wybiera wszystkie rekordy z prawej tabeli i dopasowuje do nich rekordy z lewej. Jeśli w łączonych polach w lewej tabeli nie ma odpowiednika, rekord i tak znajdzie się w wyniku.

Full Outer - złączenie zewnętrzne - wybiera wszystkie rekordy z lewej i prawej tabeli odpowiadające złączeniu. Jeśli w łączonych polach w prawej tabeli nie ma odpowiednika, rekord i tak znajdzie się w wyniku. Podobnie w tabeli lewej.

 

 

Dzięki pozostałym operatorom złączenia możemy tworzyć wariacje i wyłuskiwać nawet najtrudniejsze do uzyskania informacje.

 

 

 

Wybraliśmy tabele, połączyliśmy je, wybraliśmy pola które chcemy mieć w wygenerowanej tabeli. Możemy teraz zająć się ustawieniami pozyskanych informacji, w bloku 2.

kreatorSQL_Warunki

 

Dla każdego pola możemy ustawić kilka parametrów. Program na podstawie wprowadzonych informacji, tworzy dalszą część skryptu. Na tym kończymy wizualne tworzenie skryptu.

 

Ikony dostępne w oknie Kreatora:

kartotekaNiebieska

Otwarcie, wcześniej utworzonego przy pomocy kreatora i zapisanego modelu SQL.

dyskietkaNiebieska

Zapisywanie modelu SQL.

pedzel

Kasowanie aktualnego modelu.

fajkaZielona

Zatwierdzanie wyrażenie SQL i wyjście z kreatora i powrót do zakładki2.

Xczerwony

Anulowanie modelu i wyjście z kreatora i powrót do zakładki2.

 


Zapisujemy utworzony skrypt DyskietkaNieb, a następnie klikamy Oblicz, wyniki zostaną przedstawione w tabeli F lub wyświetlona zostanie informacja o ewentualnym błędzie.


 

F        Tabela wyników.

 

TabelaWynikow

 

 

Do obsługi tabeli wyników mamy wszystkie Ikony obsługujące bazy danych. Pamiętaj w zależności od tego w którym miejscu jest jest kursor mamy dostęp do różnych funkcji. Zobacz także Wygląd i obsługa Okien.

EkranMenuIkonBD

Ikony do obsługi Baz Danych


 

G        Stopka tabeli.

 

Aby widoczna była stopka tabeli należy: kliknąć PPM nagłówek kolumny tabeli wynikowej i z menu wybrać Stopka. Następnie PPM na stopce wybranej kolumny.

 

Mamy do wyboru: Sumowanie.

 


BANERzobacz

Wydruki Raportów SQL

Projekty Fast Report

 

Typowe Konwencje

Pożyteczne informacje

Wygląd i obsługa okien

 

Ikony do Obsługi Baz Danych

Grupowanie Kolumn