Wykorzystanie tabel decyzyjnych w celu uproszczenia logiki mapowania danych
Kluczowym elementem każdego projektu mapowania danych jest określenie zasad przetwarzania danych, które służą do przekształcania danych z ich źródła do docelowej struktury. Jednakże, gdy te zasady obejmują wiele warunków i wyjątków, logika może szybko stać się skomplikowana i trudna do utrzymania.
Jeśli powiązania danych w Twoim systemie są utrzymywane za pomocą skomplikowanej sieci warunków, nie jesteście sami. Tabele decyzyjne upraszczają tę złożoność, umożliwiając definiowanie reguł biznesowych w przejrzystym, tabelarycznym formacie, który jest łatwy do odczytania, testowania i utrzymania. Dla zespołów zajmujących się ETL i integracją danych, zapewniają one łatwość utrzymania i spójność, szczególnie gdy są implementowane bezpośrednio w MapForce.

Czym jest tabela decyzyjna?
Tabela decyzyjna to uporządkowany sposób przedstawiania reguł biznesowych lub logiki, polegający na zestawieniu wszystkich możliwych warunków oraz odpowiadających im akcji "jeśli/to/w przeciwnym razie" w formie tabeli.
W jednej osi wypisuje się różne warunki (dane wejściowe lub kryteria), a w drugiej osi – możliwe kombinacje lub wiersze tych warunków. Następnie przypisuje się im odpowiednie działania (wyniki lub decyzje)
Mówiąc prościej: zamiast umieszczać dziesiątki instrukcji warunkowych typu "jeśli/to/w przeciwnym razie", wszystkie możliwe kombinacje są przedstawione w przejrzystej tabeli. Częstym przykładem tabeli decyzyjnej jest tabela używana do oceny wniosków o kredyt, w której na podstawie takich warunków jak ocena kredytowa i dochody, określa się wynik (akceptacja, odrzucenie lub konieczność dostarczenia dodatkowych informacji).
| Wiek | Roczne dochody | Ocena kredytowa | Decyzja (wynik) |
| ≥ 21 | ≥ 60 000 USD | ≥ 700 | Zaakceptowano |
| ≥ 21 | ≥ 40 000 USD i < 60 000 USD | ≥ 650 | Wymagana weryfikacja przez kierownika |
| ≥ 21 | < 40 000 USD | < 650 | Odrzucono |
| < 21 | Dowolne | Dowolne | Odrzucono |
| ≥ 21 | ≥ 60 000 USD | 600–699 | Wymagana weryfikacja przez kierownika |
| ≥ 21 | < 40 000 USD | ≥ 700 | Wymagana weryfikacja przez kierownika |
| ≥ 21 | Dowolne | < 600 | Odrzucono |
Jak pokazano w powyższym przykładzie,
- Każdy wiersz w tabeli odpowiada jednej regule (czyli jednemu, unikalnemu zestawowi warunków) oraz wynikowym działaniom
- The warunki są to czynniki wejściowe (wiek, dochód, ocena kredytowa)
- Akcje określają, jakie działania należy podjąć, gdy spełnione są określone warunki (np. zatwierdzić, odrzucić lub oznaczyć do weryfikacji)
- Dobrze skonstruowana tabela decyzyjna oznacza, że uwzględniono wszystkie istotne kombinacje, dzięki czemu żadna reguła nie pozostaje niezdefiniowana
Konfigurowanie wszystkich tych reguł oddzielnie w projekcie mapowania danych może być bardzo trudne – mapowanie staje się zagmatwane i trudne do zrozumienia, a ryzyko popełnienia błędu wzrasta.
Dlaczego warto używać tabel decyzyjnych w integracji danych?
Tabele decyzyjne są szeroko stosowane do zarządzania złożonymi regułami opartymi na wielu warunkach w różnych branżach, a są szczególnie przydatne w procesach mapowania danych i ETL, gdzie kluczowe są jasność, spójność i łatwość utrzymania. Korzyści obejmują:
Czytelność i zrozumiałość: Tabele decyzyjne centralizują złożoną logikę reguł w formie tabelarycznej, co ułatwia ich zrozumienie w porównaniu do zagnieżdżonych instrukcji warunkowych (IF) lub rozproszonego kodu.
Spójność i kompletność: Dzięki wyraźnemu wymienieniu wszystkich kombinacji warunków, minimalizuje się ryzyko pominięcia nietypowych przypadków lub niezdefiniowanych zasad.
Oddzielenie logiki od przepływu danych: Tabele decyzyjne umożliwiają zarządzanie regułami biznesowymi niezależnie od transformacji ETL, co ułatwia ich utrzymanie.
Możliwość ponownego wykorzystania: Ten sam schemat decyzyjny może być stosowany w wielu różnych konfiguracjach lub procesach, co zapewnia spójne wyniki.
Uproszczone testowanie i audyt: Dzięki temu, że wszystkie zasady są widoczne w jednej tabeli, zespoły mogą łatwo przeglądać, weryfikować i aktualizować logikę działania.
Efektywne zarządzanie złożonymi kryteriami: Scenariusze obejmujące wiele warunków stają się łatwiejsze do zarządzania, a zagnieżdżone instrukcje warunkowe są zastępowane przez przejrzystą i łatwą w utrzymaniu strukturę.
Tabele decyzyjne w MapForce
Altova MapForce ułatwia mapowanie danych dzięki graficznym reprezentacjom struktur danych źródłowych i docelowych, a także narzędzie do poprawy widzenia, i funkcję mapowania pól poprzez przeciąganie i upuszczanie. Jej biblioteka funkcji danych zawiera m.in komponent tabeli decyzyjnej który umożliwia zdefiniowanie wielu reguł przetwarzania danych w jednym miejscu, a następnie przekształcenie ich w pojedynczą, łatwą do zrozumienia funkcję MapForce, która stosuje zdefiniowane reguły do przychodzących danych.
Definiujesz warunki wejściowe i akcje wyjściowe, wypełniasz reguły oraz łączysz źródła i cele. Następnie MapForce analizuje każdy rekord w odniesieniu do zdefiniowanych reguł, generując prawidłowy wynik, jednocześnie zachowując czytelność, możliwość utrzymania i pełną integrację Twojej logiki biznesowej w procesie ETL lub mapowania danych.
Aby zilustrować, jak to działa, przyjrzyjmy się kolejnemu popularnemu przykładowi, w którym tabela decyzyjna jest przydatna: obliczanie procentów rabatów. W tym przypadku rabat zależy od kombinacji statusu klienta (VIP, zwykły klient lub nowy klient) oraz wartości zakupu.
| Rodzaj klienta | Wysokość zakupu | % Rabat |
| VIP | ≥ 500 | 30 |
| Zwykły klient | ≥ 500 | 20 |
| VIP | ≥ 300 | 20 |
| Nowy klient | ≥ 600 | 10 |
W komponencie tabeli decyzyjnej MapForce można łatwo wypisać wszystkie możliwe kombinacje dla dowolnej liczby zmiennych wejściowych:

Po zdefiniowaniu warunków i zasad, tabela decyzyjna jest przekształcana w kompaktową funkcję przetwarzania danych i wstawiana do projektu mapowania danych. W tym miejscu można połączyć elementy wejściowe tabeli decyzyjnej z polami źródłowymi w mapowaniu, a także połączyć wyniki (wyjścia) z odpowiednimi polami docelowymi.

Podczas działania, MapForce wykona logikę tabeli jako część procesu transformacji, aby zapisać odpowiedni procent rabatu w docelowym pliku.
Testowanie wyników działania funkcji mapowania pokazuje oczekiwany rezultat:

Oczywiście, to jest prosty przykład, ale w rzeczywistych projektach MapForce może obsługiwać złożone mapowania, wykorzystując wiele źródeł danych, wielopoziomowe transformacje oraz obszerne tabele decyzyjne – wszystko to w sposób wizualny, bez konieczności ukrywania logiki w kodzie ani stosowania skomplikowanych ciągów funkcji warunkowych.
Utwórz własną tabelę decyzyjną
Tabele decyzyjne przekształcają skomplikowaną sieć warunków logicznych w danych mapowań w przejrzystą i łatwą w utrzymaniu strukturę. Centralizując zasady biznesowe w jednej tabeli, można zredukować błędy, wyeliminować ukryte logiki i poprawić kontrolę. W połączeniu z wizualnym podejściem MapForce do mapowania danych, tabele decyzyjne mogą ułatwić zarządzanie, audyt i aktualizację złożonych procesów ETL i integracji danych.
Można to przetestować już teraz, korzystając z bezpłatnej, 30-dniowej wersji próbnej MapForce.