Słowniki
Słownik w rozumieniu funkcjonalności przetwarzania danych służy do zapamiętania niewielkiej ilości płaskich rekordów, a zwłaszcza odwzorowania pewnych atrybutów w inne, np.
- krótka nazwa i opis,
- kod wejściowy i kod wyjściowy,
- kompletna tabela opisująca nazwy, kody, typy, opisy dużej struktury danych.
Słownikiem jest dowolna tabela, która może być załadowana z plików tekstowych:
- przez sam designer (podkatalog „Konfiguracja\słowniki”, pliki oddzielane znakiem TAB) lub
- w ramach pakietu – za pomocą bloczka „deklaracja słownika” – tu źródłem danych może być cokolwiek dostępne w pakietach przetwarzania danych (np. zapytanie do bazy danych).
W pakietach przetwarzania danych dostępne są również wszystkie słowniki zdefiniowane w platformie VSoft archITekt.
Zastosowania
Taki słownik rozumiany jako tabela znajduje wiele zastosowań. Można wyróżnić dwa rodzaje:
- odwzorowanie danych w trakcie działania (np. przy zamianie kodowych wartości między różnymi systemami). Samo odwołanie do słownika może nastąpić na kilka sposobów, zazwyczaj jednak używa się do tego celu adnotacji słownikowej lub w wyrażeniu.
Adnotacja ta posiada bogatą listę opcji konfiguracyjnych, poniżej opisano najważniejsze:
Błąd mapowania – co robić, gdy podczas mapowania nie udało się znaleźć klucza w słowniku? Możliwe rozwiązania:
- Wpisz domyślne dane – wpisz do pola, którego dotyczy mapowanie dane znajdujące się w polu konfiguracyjnym Domyślna wartość lub Domyślny klucz.
- Przerwij działanie pakietu – przerywa działanie pakietu, umieszcza na wyjściu błędów rekord z niepoprawnym mapowaniem przez słownik.
- Wpisz puste dane [Domyślnie] – wpisuje pustą wartość do pola jako wynik mapowania. Dodatkowo, w zależności od opcji Raportuj błędy zgłasza do rekordu Errors informację o nieudanym mapowaniu przez słownik.
- Pomiń rekord (umieść na wyjściu błędów) – pomija rekord z głównego przetwarzania i umieszcza go na wyjściu błędów, dodatkowo, umieszczając w kolekcji błędów (w rekordzie Errors) informację o nieudanym mapowaniu.
Obcinaj białe znaki z klucza - Czy przed wykonaniem mapowania przez słownik wartość z pola ma mieć obcięte „białe” znaki z początku i końca? Oprócz standardowych opcji Tak/Nie możliwy jest także wybór opcji Dziedzicz z ustawień pakietu, która oznacza pobranie wartości z ustawień globalnych pakietu (dostępnych do edycji w panelu Właściwości dla całego pakietu).
Raportuj błędy – Opcja możliwa do ustawienia tylko jeśli w polu Błąd mapowania wybrano opcję Wpisz puste dane. Ma ona głównie znaczenie optymalizacyjne - jeśli w mapowaniu słownika bardzo często występuje brak klucza i zgłaszane błędy nie są nigdzie używane, włączenie opcji może spowodować znaczne przyspieszenie działania pakietu. Podobnie jak opcja Obcinaj białe znaki z klucza, domyślnie dziedziczy swoje ustawienia z opcji pakietu.
Uwzględniaj wielkość liter – Czy podczas wyszukiwania klucza w słowniku, przy porównywaniu liter brać pod uwagę ich wielkość (czy litera ‘a’ ma być tożsama z literą ‘A’)?
- wspomaganie fazy projektowania – na podstawie słownika można np. dodać do pól opisy czy wykonać masową zmianę nazwy pól. Jest to szczególnie wygodne w przypadku posiadania np. arkuszy Excel wypełnionych obfitą specyfikacją dotyczącą setek pól (dających się łatwo obrobić w plik tekstowy csv).
Aktualnie załadowane słowniki w pakiecie można przeglądać w menu pakietu>Słowniki.
Wykorzystanie słownika w odwzorowaniu wartości
W adnotacji Słownik np. w edytorze odwzorowania w miejscu możemy ustawić następujące elementy:
- Nazwę słownika i parę kolumn odwzorowania klucz>wartość (rysunek poniżej), a na zakładce Opcje wykorzystania słownika dodatkowo:
- Postępowanie w przypadku niedopasowania klucza:
- Wpisz domyślne dane
- Wpisz domyślną wartość, jeśli jej nie ma, to wartość dla domyślnego klucza, jeśli jej nie ma, to klucz wejściowy.
- Wpisz puste dane.
- Przerwij działanie pakietu.
- Pomiń rekord – wypuść cały na wyjście błędów bloczka wykonującego odwzorowanie.
- Domyślną wartość i domyślny klucz – wykorzystywane przy ustawieniu Wpisz domyślne dane.
- Obcinaj białe znaki z klucza – czy przed wykonywaniem mapowania obciąć białe znaki (spacje, taby itd..) z obu końców wartości wejściowej?
- Raportuj błędy – czy doklejać do rekordu informację (w technicznym rekordzie Errors) ostrzeżenie o niedopasowaniu klucza? Często jest to niepotrzebne, a może mieć niemały wpływ na tempo działania pakietu.
- Uwzględniaj wielkość liter klucza – domyślnie i historycznie wielkość liter ma znaczenie przy odwzorowaniu.
