Moduł mapowania danych Grudzień 2013 Wszelkie prawa zastrzeżone. Dokument może być reprodukowany lub przechowywany bez ograniczeń tylko w całości. W przeciwnym przypadku, żadna część niniejszego dokumentu, nie może być reprodukowana ani przetwarzana w jakikolwiek sposób elektroniczny, fotograficzny, mechaniczny i inny oraz nie może być przechowywana w jakiejkolwiek bazie danych bez pisemnej zgody GPM SYSTEMY sp. z o.o. GPM SYSTEMY www.gpm-systemy.com
Zawartość 1. Wstęp... 3 2. Automatyzacja zasilania z modułem mapowań... 5 Zarządzanie źródłami danych... 6 Zarządzanie mapowaniami... 6 Edytor mapowań... 6 Wyliczanie raportów wg mapowań... 7 Korzyści wynikające ze stosowania modułu mapowań asist... 7 3. Omówienie pojęć oraz przykłady... 8 Rodzaje komórek w sprawozdaniach pola pierwotne i wyliczane... 8 Mapowanie powiązań pomiędzy danymi wejściowymi i polami na sprawozdaniu... 9 Źródła danych do mapowań... 10 Język mapowania... 11 GB/2012-01-04 GPM SYSTEMY www.gpm-systemy.com 2
1. Wstęp Z punktu widzenia sposobu przetwarzania danych sprawozdawczych, moduł bazowy asist może być wykorzystywany jako aplikacja do wprowadzania i uzgadniania sprawozdań. Można powiedzieć, że asist generuje raporty. Jest to finalny krok w uzyskaniu sprawozdania. Rysunek 1. Standardowy układ procesu sprawozdawczego W wersji podstawowej asist posiada interfejsy wejściowe zapewniające możliwość zasilenia sprawozdania poprzez import danych z wcześniej przygotowanego zbioru wejściowego. Zbiory takie muszą jednak spełniać określone wymagania: przygotowany zbiór musi odpowiadać strukturze raportów, jednej komórce na sprawozdaniu odpowiadać musi jedna pozycja w zbiorze wejściowym. Spełnienie tych warunków wymaga pracochłonnego przygotowania zbiorów oraz często powoduje konieczność wieloetapowego przetwarzania danych generowanych z systemów bankowych. GB/2012-01-04 GPM SYSTEMY www.gpm-systemy.com 3
Rysunek 2. Proces sprawozdawczy sytuacja obecna Proces przygotowywania danych jest nie tylko czasochłonny, ale wymaga też powtarzania go w każdym okresie rozliczeniowym od początku. Rozszerzeniem interfejsu wejściowego dla asist jest moduł mapowania danych. Dostarcza on mechanizm pozwalający na wyliczenie wartości w komórce na podstawie różnego rodzaju danych źródłowych, którymi dysponuje bank. Rysunek 3. Proces sprawozdawczy przy użyciu modułu mapowań asist Dzięki modułowi mapowania asist zapewnia możliwość elastycznego przetwarzania danych z takiej postaci, w jakiej występują w systemach bankowych. Unika się dodatkowego wstępnego przetwarzania i agregacji danych. GB/2012-01-04 GPM SYSTEMY www.gpm-systemy.com 4
2. Automatyzacja zasilania z modułem mapowań Alternatywną metodą do metody wczytywania danych z pliku, wykorzystywanej w imporcie, jest wprowadzenie możliwości aktywnego pobierania danych w procesie mapowania. Pozwala to na zautomatyzowanie czynności wykonywanych obecnie np. na zbiorach Excel. Poniżej przedstawiono ogólną architekturę asist wraz z zakreślonym modułem mapowania danych. MODUŁ MAPOWANIA Edytor mapowań Edytor reguł własnych Tabele danych CSV, XLS Instancja XBRL Zbiór CSV Zbiór XML Pobieranie danych zewnętrznych Interfejsy wejściowe mapowania taksonomie Reguły kontrolne repozytorium raportów Edycja danych Kontrola poprawności Rysunek 4. Architektura asist moduł mapowania danych Elementy modułu mapowania danych: Zarządzanie źródłami danych Zarządzanie mapowaniami Edytor mapowań Wyliczanie wg mapowań Na kolejnej stronie omówiono szczegółowo poszczególne elementy rozwiązania. GB/2012-01-04 GPM SYSTEMY www.gpm-systemy.com 5
Zarządzanie źródłami danych Źródłem danych jest tabela, również plik nieregularny Excel definiowany wewnętrznie w module do postaci tabeli, zawierająca dane służące do wyliczenia wartości na sprawozdaniach. Zarządzanie źródłami danych służy do definiowania dostępnych źródeł danych, tak aby można było z nich korzystać w trakcie definiowania mapowań. Źródłem danych może być zarówno plik jak i katalog zawierający wiele różnych plików z danymi. W skład źródeł danych wchodzą: - pilki CSV - tabele XLS - nietabelaryczne pliki XLS - bezpośrednie połączenie z bazą danych Definicje źródeł danych mogą być eksportowane i importowane. Dlatego też, proces przygotowania mapowań może odbywać się niezależnie od codziennego przygotowania sprawozdań. Zarządzanie mapowaniami Moduł pozwala na definiowanie tzw. zestawów mapowań. Pozwala to na jednoczesne korzystanie z wielu zestawów, które mogą być wykorzystywane do: zarządzania wersjami mapowań, integracji danych z różnych źródeł z różnych systemów np. w trakcie przejścia na nowy system księgowy, konsolidacji sprawozdań do mapowania sprawozdań oraz mapowania korekt konsolidacyjnych. Edytor mapowań Edytor umożliwia zapisanie/edycję/korektę wyrażeń mapujących dla wybranego zestawu danych, jak również wyeksportowanie i zaimportowanie wyrażeń do zbioru zewnętrznego. GB/2012-01-04 GPM SYSTEMY www.gpm-systemy.com 6
Wyliczanie raportów wg mapowań Pobieranie danych zewnętrznych jest odrębną funkcją, której uruchomienie inicjuje proces wyliczenia wartości według formuł i zapisania ich do sprawozdań. Moduł posiada takie same warianty działania jak import danych, tj. pozwala na nadpisanie wszystkich mapowanych komórek, wyliczenie tylko pustych, itd. Korzyści wynikające ze stosowania modułu mapowań asist Moduł mapowań ma optymalnie rozbudowaną funkcjonalność, a jego zastosowanie przynosi wiele korzyści: szybkie wprowadzanie do aplikacji asist danych bezpośrednio ze zbiorów wygenerowanych z systemu bankowego, wykorzystanie zasilania poprzez mapowania jako zasilanie podstawowe jak również jako zasilanie pomocnicze - moduł mapowań jako moduł funkcjonalny daje możliwość zastosowania do wszystkich sprawozdań i to zarówno do całości sprawozdania jak również do jego wybranych części, możliwość przypisania wielu źródeł danych do jednej taksonomii automatyczne wyliczanie jednej komórki w sprawozdaniu z danych pochodzących z wielu źródeł wczytywanie jedynie tych danych, które spełniają określone przez użytkownika warunki wyeliminowanie możliwości powstania błędów i gubienia danych związanych z pomyłkami przy ręcznym wypełnieniu automatyczne wyliczenie wartości całego zbioru wskazanego przez użytkownika dla danej komórki brak błędów powstałych przy ręcznych kalkulacjach bądź też przeliczeniach w rozbudowanych systemach pomocniczych ustandaryzowanie procesu automatycznego zasilenia sprawozdań danymi moduł mapowania asist jest specjalnie dedykowanym do tego narzędziem język mapowania umożliwiający stosowanie funkcji agregujących oraz operatorów logicznych możliwość bardzo precyzyjnego określenia parametrów danych, które mają znaleźć się w mapowanej komórce sprawozdania możliwość zmiany, dodawania i usuwania pojedynczych mapowań ze zbiorów mapowań edycja mapowań jest uproszczona do absolutnego minimum i jest możliwa w formie tekstowej na kilka sposobów: w oknie modułu, w edytorze tekstowym itd. możliwość automatycznego zasilenia sprawozdań listowych (np. pozycje walutowe) zmniejszenie nakładów czasu i pracy przeznaczonych na proces sprawozdawczy. GB/2012-01-04 GPM SYSTEMY www.gpm-systemy.com 7
3. Omówienie pojęć oraz przykłady Rodzaje komórek w sprawozdaniach pola pierwotne i wyliczane Przykład 1. Komórki pierwotne (niezależne) i wyliczane w sprawozdaniu Pola niezależne: B, C, E, F Pola zależne: A i D Pola pierwotne muszą być wprowadzone przez użytkownika. Mogą też być automatycznie wyliczone z zewnętrznego źródła danych za pomocą mapowania (formuły wskazującej źródło i definiującej, które wartości w danej komórce mają się znaleźć). Pola wyliczane zgodnie z formularzami sprawozdania w asist opisane są regułami poprawności / kalkulacjami uzupełnianymi automatycznie, zatem nie muszą być wprowadzane przez użytkownika. GB/2012-01-04 GPM SYSTEMY www.gpm-systemy.com 8
Mapowanie powiązań pomiędzy danymi wejściowymi i polami na sprawozdaniu Komórka pierwotna na sprawozdaniu opisana jest identyfikatorem pola wymaganym przez regulatora. Przykład 2. Identyfikator pola dla komórki w sprawozdaniu Jednocześnie bank posługuje się w swoich systemach bankowych schematem atrybutów tj. planem kont, atrybutami kont, atrybutami klientów, itd. Mapowanie oznacza powiązanie pola na sprawozdaniu z konkretnym zestawem atrybutów danych wejściowych. Jakkolwiek dużą ma to wagę dla sprawozdawczości, dla użytkowników systemu asist wraz z modułem mapowań kwestia ta przestaje być istotna. Funkcję przypisania konkretnych atrybutów do konkretnego pola przejmuje na siebie system. Moduł mapowań asist prezentuje mapowania w układzie formularzy sprawozdawczych, dokładnie tak jak asist. Ułatwia ich przygotowanie i zarządzanie mapowaniami oraz sprawia, że identyfikator pola przestaje być dla użytkownika istotny. GB/2012-01-04 GPM SYSTEMY www.gpm-systemy.com 9
Przykład 3. Okno modułu mapowań wraz ze stworzonymi mapowaniami Źródła danych do mapowań Mapowanie pozwala na pobieranie danych z dowolnego źródła, które spełnia następujące wymagania: 1. Ma strukturę tabeli, tj. wszystkie rekordy mają jednakową strukturę*, a źródło danych składa się ze zbioru rekordów (wiersz nagłówkowy identyfikujący kolumny w tabeli jest dodatkowym ułatwieniem ale nie jest wymogiem koniecznym, gdyż może zostać sztucznie zdefiniowany w module mapowań), *wyjątkiem jest plik Excel, który nie musi mieć postaci tabelarycznej rekordów a dane można mapować per komórka w arkuszu Excel (np. A2 + B3 itd). 2. Źródłem danych może być plik CSV, plik XLS (format MS Excel), plik TXT lub tabela opisana zapytaniem SQL. Przykład 4. Przykładowe źródło danych KSIEGA_GL GB/2012-01-04 GPM SYSTEMY www.gpm-systemy.com 10
Tabela będąca źródłem danych może mieć dowolną zawartość, tj.: tabela może mieć dowolną liczbę kolumn i wierszy, kolumny i wiersze mogą się nazywać w dowolny sposób, plik zawierający tabelę może mieć dowolną nazwę. Źródłem może być zatem każda wygenerowana w jakikolwiek sposób tabela, np. będąca zrzutem z systemu głównego bądź też stworzona ręcznie. Język mapowania Podstawowym elementem języka jest wyrażenie mapujące w ogólnej postaci: źródło_danych: { funkcja agregująca (wyrażenie na wyselekcjonowanym rekordzie, selektor rekordów) } gdzie: źródło danych określa plik, w którym znajdują się dane, z których korzysta mapowanie, funkcja agregująca działanie na szeregu rekordów danych, np. sum (suma), rekord danych wiersz w tabeli z danymi, selektor rekordów formuła filtrująca, tj. zawierająca warunki jakie agregowane rekordy mają spełniać. Kolumny rekordów oznaczane są znakiem specjalnym $. Wyrażenia mapowań wiążą lewą stronę, tj. atrybuty sprawozdania (np. komórki sprawozdania FINREP) z atrybutami danych bankowych (np. salda kont zapisane w systemie bankowym). Reasumując, wyrażenia opisują mapowania. Nieco odmienny zapis ma zastosowanie w przypadku mapowania 1:1 komórek z arkuszy Excel, gdzie oznacza się nazwę pliku, nazwę arkusza oraz konkretną komórkę źródła. GB/2012-01-04 GPM SYSTEMY www.gpm-systemy.com 11
Przykład 5. Wyrażenie mapujące Wyrażenie mapujące przedstawione w przykładzie 5 określa dokładnie, iż w wyniku mapowania w komórce Gotówka w kasie / PLN zostanie automatycznie pobrana ze źródła danych KSIEGA_GL wartość kolumny SALDO dla rekordu, który w kolumnie KONTO ma wartość 101; np. dla tabeli z przykładu 4 byłaby to wartość 100000. Podobnie, dla danych z tabeli w przykładzie 4 aby uzyskać wartość dla pozycji Kasa inne niż PLN wystarczy napisać mapowanie w następującej postaci: KSIEGA_GL:{ sum( $SALDO, $KONTO = [102, 103, 104] ) } Oznacza to, że w mapowanej komórce moduł mapowań wykona operację sumowania wartości kolumny SALDO dla rekordów kolumny KONTO o wartościach 102, 103 i 104. Mapowanie pozwala na użycie wielu warunków w jednym zapytaniu i połączenie ich operatorem logicznym: oraz lub - warunek_1 && warunek_2 - warunek_1 warunek_2 GB/2012-01-04 GPM SYSTEMY www.gpm-systemy.com 12
Przykład 6. Przykładowe źródło danych KOREKTA Mapowanie w celu uzyskania wartości sumy korekt w PLN w miesiącu maju (zaznaczone na rysunku) będzie miało postać: KOREKTA:{ sum( $WARTOSC, $KONTO = 101 && $MIESIAC = 5 ) } Pojedyncze mapowanie może odnosić się do jednego jak również wielu źródeł danych. Pozwala to na wyliczenie mapowanego pola w sprawozdaniu nie tylko z kilku rekordów jednego źródła, ale również z kilku źródeł danych. Przykład 7. Wyrażenie mapowania z dwoma źródłami danych wejściowych Dla tabel z przykładów 4 oraz 6 można zatem uzyskać wysokość salda Kasy PLN po odliczeniu korekt w wyniku następującego mapowania: GB/2012-01-04 GPM SYSTEMY www.gpm-systemy.com 13
KSIEGA_GL:{ sum( $SALDO, $KONTO = 101) } - KOREKTA:{ sum( $WARTOSC, $KONTO = 101 && MIESIAC = 5 ) } Przykład 8. Wynik wyrażenia mapowania dla danych w tabelach z przykładów 4 i 6 Wynik: 100000 (saldo) (2000 + 3000)(korekty) = 95000 W sprawach handlowych oraz technicznych prosimy o bezpośredni kontakt: Piotr Malczak mob. +48 515 128 933 email: Piotr.Malczak@gpm-systemy.com GB/2012-01-04 GPM SYSTEMY www.gpm-systemy.com 14