Jak sprawnie definiować kolumny dla raportów w SQL?
Nowoczesne firmy potrzebują elastyczności w raportowaniu danych. W tym celu systemy często korzystają z tabel, które pozwalają na dynamiczne ustawianie kolumn w zestawieniach. Jedna z takich tabel, to dbo.x_zestawienia_kolumny
. Służy ona do dokładnego opisywania każdej kolumny, którą chcesz pokazać w raporcie. Możesz w niej kontrolować wygląd i funkcjonalność.
Tabela ta pozwala na personalizację kolumn, tak aby pasowały do twoich potrzeb. Możesz ustalić nagłówek, szerokość czy typ danych w siatce. Dzięki temu zawsze wiesz, jak wyglądają i działają twoje raporty. Możesz też decydować o tym, czy kolumna ma być widoczna albo czy można ją edytować.
Ustawienia w tej tabeli to podstawa dla każdego, kto chce mieć pełną kontrolę nad danymi. Możesz też dodawać podpowiedzi dla użytkowników, co ułatwia pracę. W ten sposób zapewniasz, że dane są dobrze zorganizowane i łatwe do zrozumienia. To wszystko prowadzi do lepszego działania firmy.
Tabela [dbo].[x_zestawienia_kolumny]
Kolumny
- [AGREGATEFUNCTION] – Nazwa funkcji agregującej wyświetlanej w stopce siatki. Obsługiwane słowa kluczowe: sum, avg, min, max, count. Jeżeli wartość jest pusta, dla kolumny nie wylicza się agregatów. Typ varchar(50), tekst, NULL.
- [AUTOINCREMENT] – Określa, że kolumna jest AUTO INCREMENT/IDENTITY. Przy wartości 1 kontrolki edycyjne i mechanizmy INSERT pomijają tę kolumnę, pozostawiając generację po stronie bazy. Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [BACKCOLOR] – Oznaczenie koloru tła komórki Typ varchar(50), tekst, NULL.
- [BACKCOLORCOLUMN] – Oznaczenie tła kolumny Typ varchar(50), tekst, NULL.
- [BOLD] – Oznaczenie czy dane w kolumnie mają być wyświetlane za pomocą czcionki pogrubionej BOLD Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [CAPTION] – Nagłówek wyświetlany w tabeli Typ varchar(50), tekst, NULL.
- [COLAPSED] – Oznaczenie że zgrupowane dane mają być zwinięte czy rozwinięte Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [COLUMNTYPE] – Typ prezentacji danych w siatce. Dopuszczalne wartości (bez wielkości liter):
text, numeric, number, date, datetime, calendar, checkbox, hyperlink, image, picture, textwithtooltip – inne wartości są ignorowane w kodzie. Typ varchar(50), tekst, NULL. - [COLUMNTYPEFLG] – Kod flagi pozwalającej powiązać kolumnę z definicją kolorów/ikon w innych tabelach; jeżeli puste, kolumna nie jest interpretowana jako flaga. Typ varchar(50), tekst, NULL.
- [DATAFORMATINGSTRING] – Łańcuch formatu komórki zgodny z konwencją jqxGrid / .NET (yyyy-MM-dd, d2, n, itp.). Przy kolumnach liczbowych kod automatycznie wylicza liczbę miejsc po przecinku. Typ varchar(50), tekst, NULL.
- [DATAMEMBER] – Definicja nazwy kolumny ze źródła danych Typ varchar(50), tekst, NULL.
- [DEFAULTFILTERTYPE] – Domyślny sposób filtrowania danych, dla wartości tekstowych jest to ZAWIERA Typ varchar(50), tekst, NULL.
- [DEFAULTINSERTVALUE] – Wartość wstawiana automatycznie przy operacji INSERT, gdy kolumna jest niewidoczna (VISIBLED = 0). Rozpoznawane tokeny specjalne:
@REFNO – wygenerowany numer referencyjny,
@DATA – bieżąca data,
@LOGIN / @KTO – nazwa aktualnego użytkownika. Typ varchar(50), tekst, NULL. - [DEFAULTKEY] – Ustalenie że kolumna jest domyślnym kluczem danych tabeli, jeżeli nie jest to standardowy klucz REFNO Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [ENABLED] – Oznaczenie czy dane w kolumnie są dostępne do edycji Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [GROUP] – Oznczaczneie czy dane mają być grupowane wg tej kolumny Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [GROUPSORT] – Warunek sortowania dla pogrupowanych kolumn Typ varchar(20), tekst, NULL.
- [HINT] – Podpowiedź, opis pola. Typ varchar(max), tekst, NULL.
- [HINT_ICON] – Nazwa pliku ikony dla podpowiedzi Typ varchar(150), tekst, NULL.
- [HORIZONTALALIGN] – Wyrównanie danych w komórce: left (domyślnie), center, right. Typ varchar(50), tekst, NULL.
- [ID_X_ZESTAWIENIA_KOLUMNY] – Unikalny identyfikator wiersza tabeli Typ int, typu int, czyli przechowuje wartości całkowite, NOT NULL.
- [INSERTED] – Flaga techniczna ustawiana przez transakcję x_GRID – 1 oznacza, że wiersz został dodany w bieżącej sesji i nie podlegał jeszcze edycji; używana przy walidacji i podświetlaniu nowych rekordów. Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [INSTRUKCJA_OPIS] – Instrukcja dotycząca pola Typ varchar(5000), tekst, NULL.
- [KIEDY] – Czas dopisania rekordu w bazie Typ datetime, typ daty i czasu, NULL.
- [KOLEJNOSC] – Określenie kolejności kolumn od lewej strony tabeli Typ int, typu int, czyli przechowuje wartości całkowite, NULL.
- [KOMENTARZ] – Opis przeznaczenia danej kolumny inny niż domyślny, wykorzystanie kolumny w określonym wdrożeniu Typ varchar(max), tekst, NULL.
- [KONFIGURACJA] – Oznaczenie wiersza czy dotyczy konfiguracji ROOT.Ppodczas synchronizacji z bazą ROOT dane wiersze zostaną przegrane z bazy wzorcowej do instalacji klienta. Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [MULTILINE] – Oznaczenie czy dane w kolumnie będą wyświetlane w jednym lub w wielu wierszach – zawijanie długich danych opisowych Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [NAME] – Nazwa kolumny w tabeli Typ varchar(50), tekst, NULL.
- [NULLTEXT] – Tekst zastępczy wyświetlany wyłącznie dla wartości NULL (nie dla pustego łańcucha). Przykłady: 0, BRAK, —. Pojedyncza spacja dezaktywuje mechanizm. Typ varchar(50), tekst, NULL.
- [PADLEFT] – Liczba pikseli, o jaką zawartość komórki (tekst, obraz, hiperlink) ma być odsunięta od lewej krawędzi – przekazywana do rendererów jako margin-left; domyślnie 4 px. Typ int, typu int, czyli przechowuje wartości całkowite, NULL.
- [PADRIGHT] – Analogicznie do PADLEFT: odsunięcie treści od prawej krawędzi komórki w pikselach, stosowane w funkcjach renderujących kolumny. Typ int, typu int, czyli przechowuje wartości całkowite, NULL.
- [PARAMETRY] – Łańcuch dodatkowych parametrów używany kontekstowo:
dla hyperlink – szablon HTML, w którym placeholder @REFNO jest zastępowany wartością pola;
dla innych typów – parametry przekazywane do kontrolek edycyjnych lub wywołania funkcji JavaScript. Typ varchar(max), tekst, NULL. - [PREVIEWROW] – Oznacza, że kolumna ma być wyświetlana w postaci wiersza opisu. Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [PREVIEWROWEXPAND] – Oznacza, czy kolumna w postaci wiersza opisu ma być domyślnie rozwinięta. Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [REFNO] – Numer referencyjny z odwołaniem do definicji zestawienia (x_zestawienia) Typ varchar(50), tekst, NULL.
- [REFNO_POZ] – numer referencyjny pozycji Typ bigint, typu bigint, czyli przechowuje duże wartości całkowite, NULL.
- [REFNOKOLUMN] – Wskazuje, że kolumna przechowuje główny identyfikator rekordu (REFNO). Wartość 1 pozwala generatorom SQL szybko odnaleźć klucz przy operacjach UPDATE/DELETE. Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [REQUIRED] – Dotyczy dopisania w trybie tabelarycznym. Oznaczenie, czy zapis infromacji w polu jest wymagany. Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [SORT] – Oznaczenie że dane mają być sortowane wg tej kolumny Typ varchar(20), tekst, NULL.
- [SYSTEMOWE] – Oznaczenie że dany wierwsz jest instalowany systemowo i synchronizowany z bazą ROOT Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [UNIQUEID] – Unikalny identyfikator Typ varchar(50), tekst, NOT NULL.
- [VISIBLED] – Oznaczenie czy dana kolumna tabeli ma być widoczna czy ukryta Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NOT NULL.
- [WIDTH] – Oznaczenie szerokości kolumny, domyślnie 120px Typ int, typu int, czyli przechowuje wartości całkowite, NOT NULL.
- [WYMAGANE] – Transakcja x_insert_update oznaczenie czy dany obiekt jest wymagany – posiada wartość – aby zostało wykonane polecenie INSERT lub UPDATE Typ bit, typu bit, czyli przechowuje wartości logiczne 0/1, NULL.
- [ZAPYTANIE] – Zapytanie wykonywane dla listy rozwijanej obiekt WebCombo Typ varchar(max), tekst, NULL.
Indeksy
- [PK_x_zestawienia_kolumny] PK UNIQUE ON ([ID_X_ZESTAWIENIA_KOLUMNY]).
- [REFNO] ON ([REFNO]).
- [REFNO_KOLEJNOSC] ON ([REFNO], [KOLEJNOSC]).
- [REFNO_POZ] UNIQUE ON ([REFNO_POZ]).
- [UNIQUEID] UNIQUE ON ([UNIQUEID]).
Źródła danych
- KONFIGURACJA WIDOKÓW: Tabela [x_zestawienia_kolumny] zawiera definicje kolumn, które są częścią zestawień (widoków) w systemie. Każda kolumna ma przypisaną specyfikację, która określa jej właściwości, takie jak sposób wyświetlania, formatowanie, agregowanie danych, czy sposób filtrowania. Kolumny te są wykorzystywane do budowy tabel w interfejsie użytkownika, umożliwiając elastyczną prezentację danych.
W tabeli znajdują się kolumny, które kontrolują, czy dana kolumna jest widoczna, edytowalna lub wymagana do zapisania, na przykład [VISIBLE], [ENABLED], [REQUIRED]. Istnieje także możliwość definiowania, czy kolumna jest częścią grupowania lub sortowania danych, jak w przypadku [GROUP], [SORT], oraz czy ma być stosowana funkcja agregacji, np. [AGGREGATEFUNCTION] umożliwiająca sumowanie danych.
Dodatkowo tabela pozwala na szczegółowe konfigurowanie wyglądu kolumn, jak [BACKCOLOR] (kolor tła), [BOLD] (pogrubienie tekstu), [WIDTH] (szerokość kolumny), [HORIZONTALALIGN] (wyrównanie tekstu) czy [MULTILINE] (obsługa zawijania tekstu w komórkach). Istnieje również możliwość określenia domyślnych wartości dla kolumn, jak np. w [DEFAULTINSERTVALUE], a także dostosowania filtrowania i sortowania danych w kolumnie, dzięki kolumnom [DEFAULTFILTERTYPE] i [FILTR_KOLUMNA].
Ponadto, tabela oferuje mechanizmy umożliwiające definiowanie instrukcji związanych z kolumnami, takich jak [INSTRUKCJA_OPIS], które mogą być używane do wyświetlania podpowiedzi, oraz [PARAMETRY] umożliwiające przekazywanie dodatkowych parametrów w transakcjach. Dzięki tej tabeli użytkownicy mogą dynamicznie konfigurować i personalizować wygląd i funkcjonalność tabel w systemie, dopasowując je do swoich potrzeb i roli w organizacji. - MS_Description: numer referencyjny pozycji
-
x_zestawienia_kolumny
Tabela [dbo].[x_zestawienia_kolumny] Kolumny [AGREGATEFUNCTION] – Nazwa funkcji agregującej wyświetlanej w stopce siatki. Obsługiwane słowa kluczowe: sum, avg, min, max, count. Jeżeli wartość jest pusta, dla kolumny nie wylicza się agregatów. Typ varchar(50), tekst, NULL. [AUTOINCREMENT] – Określa,
-
x_zestawienia_kolumny
Tabela [dbo].[x_zestawienia_kolumny] Kolumny [AGREGATEFUNCTION] – Nazwa funkcji agregującej wyświetlanej w stopce siatki. Obsługiwane słowa kluczowe: sum, avg, min, max, count. Jeżeli wartość jest pusta, dla kolumny nie wylicza się agregatów. Typ varchar(50), tekst, NULL. [AUTOINCREMENT] – Określa,