Odczyt z pliku CSV i zapis do bazy
W niniejszym rozdziale zostały przedstawione następujące działania: wczytanie pliku CSV do bazy, podgląd wczytanych danych, przygotowanie danych, wykonanie niezbędnych mapowań, sklasyfikowanie rekordów oraz wstawianie danych do tabeli istniejącej na podstawie założonych kryteriów.

Plik wejściowy CSV: REGON, NIP, nazwa, data zapisu, kwota salda, kwota limitu, ID hurtowni, stan, grupa, waluta.
W pliku znajduje się baza firm, którą będziemy wczytywać do tabeli w bazie danych FIRMY
Utworzenie prostego pakietu i podgląd wczytanych danych z pliku płaskiego rekordów
- Wybierz menu Plik, a następnie Nowy>pakiet przetwarzania.
- Zostanie wyświetlony edytor pakietu oraz zakładka Przybornik wraz z bloczkami do tworzenia graficznego przedstawiania pakietu.
- Przeciągnij na edytor bloczek Wczytanie z pliku CSV.
- Przejdź do szczegółów bloczka - kliknij dwukrotnie w bloczek lub przejdź na zakładkę Szczegóły.
- Wczytaj plik i w wyświetlonym oknie wybierz Tak.

- Przejdź na zakładkę Tabela, zaznacz wiersz z nagłówkiem i wybierz przycisk Wyznacz strukturę danych na podstawie wiersza. Na panelu Schematy można zobaczyć jak wygląda wynikowy schemat po wczytaniu danych z pliku CSV.

- Dodaj bloczek Podgląd danych (bloczek znajduje się w kategorii Narzędzia projektowe) i połącz go z bloczkiem Wczytywanie z pliku CSV.
- Uruchom pakiet, wciskając klawisz F5 lub z menu górnego - Uruchom.
- Po uruchomieniu pakietu można podglądnąć wyniki wykonania, otwierając edytor dla bloczka Podgląd danych. Raport przetwarzania można obejrzeć wybierając 3 zakładkę w oknie głównym aplikacji – Raport.
Przygotowanie danych do zapisu do bazy
Przed zapisaniem wczytanych danych z pliku do bazy należy wykonać niezbędne modyfikacje:
- zmiana typów zmiennych na zgodne z typami kolumn tabeli Firmy z bazy danych,
- dokonanie odpowiedniej konfiguracji domyślnej polityki konwersji: tekst --> liczba stałopozycyjna, data.
- dodanie w szczegółach konwersji
.w opcji Separator dziesiętny. - usunięcie znaków
-z pola NIP – FunkcjaReplace(NIP, ”-”,””)
- Przeciągnij bloczek Odwzorowanie w miejscu i połącz go z bloczkiem Podgląd danych.
- Przejdź do szczegółów bloczka.
- Zaznacz na schemacie danych pole
kwota_salda, kliknij prawym i z menu kontekstowego wybierz opcję Ustaw wartość>Parser. - Kliknij w dodaną adnotację do pola i z listy wybierz typ konwersji jakiego chcesz użyć. W tym przypadku jest to tekst>decimal.

- Następnie kliknij w przycisk
...obok dodanego parseru i w szczegółach wskaż separator dziesiętny jako. (kropka)gdyż taki separator został użyty w pliku wejściowym CSV.

- W analogiczny sposób dodaj parser i separator dla pola
kwota_limitu - Dodaj parser dla pola
data_zapisu- Tekst>Data/czas oraz dla polaREGON- Tekst>decimal. - Usuń znaki
-z polaNIPKliknij na polu i z menu kontekstowego wybierz opcję Ustaw wartość>Wyrażenie. - Wybierz przycisk
...obok dodanej adnotacji aby przejść do edytora wyrażeń lub wpisz wyrażenie poniżej na panelu Szczegóły. - Użyj funkcji
Replace (NIP, "-", "")Funkcja ta zamienia w polu NIP znak-na brak znaku.

- Możesz opcjonalnie dodać bloczek Podgląd danych i uruchomić pakiet aby zobaczyć wykonane modyfikacje.

Wczytywanie danych z pliku do bazy
- Dodaj bloczek Zapis do bazy danych (kategoria Bloczki wyjściowe).
- Przejdź do szczegółów bloczka i utwórz mapowanie, które zapisze dane z pliku do tabeli Firmy.
- W tym celu zaznacz rekord na schemacie danych, wybierz opcję zmiany nazwy i zacznij wpisywać Firmy, system automatycznie podpowie do jakiej tabeli chcemy wczytać dane, wybierz tabelę z listy.

- Oznacz rekord Firmy adnotacją Zapis rekordu do bazy danych (z menu kontekstowego wybierz opcję Zmień/użyj rekordu). Możesz tez wybrać operacje bazodanową z paska menu.

- Po wykonaniu akcji na drzewie powinny pojawić się nowe pola sugerujące jakie dane powinny znaleźć się w bazie danych.
- Po dodaniu adnotacji wybierz jaka operacja bazodanowa ma zostać wykonana. W tym przypadku Insert.

- Na schemacie danych mamy pola pochodzące z naszego pliku CSV oraz pola wyszarzone, które znajdują się w tabeli Firmy w bazie danych.
- Dodaj klucz główny – klikamy na sugerowane pole
F_IDi z menu kontekstowego wybierz Popraw>Dodaj element, a następnie dodaj adnotację Klucz główny.

- Przy użyciu metody drag&drop lub korzystając z zakładki Drugi widok przenosimy istniejące pola na sugerowane pola wybierając z menu opcję Zmień nazwę lub Dostosuj wszystko.

- Uruchom pakiet. Dane z pliku CSV powinny zostać zapisane do tabeli w bazie danych.
Rozszerzenie pakietu o klasyfikację rekordów
- Opcjonalnie możesz rozszerzyć pakiet używając bloczka Klasyfikacja i ustawić dodatkowe warunki dla wczytywanych danych.
- Przeciągnij bloczek Klasyfikacja i połącz go z bloczkiem Odwzorowanie w miejscu a przed bloczkiem Zapis do bazy danych.
- Bloczek Klasyfikacja posiada 3 porty wyjściowe. Klasyfikacja rekordów odbywa się poprzez uwarunkowanie przypisania wyników konkretnego zapytania do poszczególnych portów poprzez wprowadzenie wyrażenia.
- Przejdź na szczegóły bloczka i zdefiniuj warunki dla poszczególnych wyjść.
- W naszym przypadku zakładamy, że do bazy chcemy zapisywać te dane z pliku, dla których pole REGON jest uzupełnione. W takim przypadku w sekcji Wyjście 1 zdefiniuj wyrażenie
!IsNullOrEmpty(REGON)Z zakładki Schematy możesz przeciągnąć pole REGON do wyrażenia.

- Przejdź na obszar roboczy i połącz bloczek Klasyfikacja z istniejącym już bloczkiem zapisu do bazy danych do portu wyjściowego 1.
- Teraz możesz określić co stanie się z pozostałymi rekordami, które nie zostaną zapisane do bazy (nie będą posiadały wypełnionego pola REGON) i w trakcie przetwarzania zostaną wyprowadzone wyjściem 2.
- W zależności od tego co chcesz uzyskać, możesz te błędne rekordy zapisać do innej bazy lub do pliku CSV, Excel itp lub dołączyć bloczek Kosz, który utylizuje błędne rekordy.

- Jeżeli chcesz zapisywać błędne rekordy to zamiast bloczka Kosz dodaj bloczek wyjściowy służący do zapisu pliku lub przeciągnij na obszar roboczy bloczek Zbieracz błędów.
- Bloczek ten gromadzi błędy ze wszystkich bloczków danej fazy w tym z bloczka Kosz.
- Następnie dodaj bloczek wyjściowy Prosty plik XML i połącz go z bloczkiem Zbieracz błędów. Dzięki temu błędne wpisy zostaną zapisane do pliku XML.

- Niezbędne jest podanie lokalizacji wczytywanego pliku CSV oraz miejsca zapisu pliku XML z błędnymi wpisami.

- W naszym przypadku w wyniku przetwarzania do bazy zostało zapisanych 38 rekordów a do kosza i tym samym do pliku XML trafiły 2 rekordy.
