Operator BUSBAR INTEGRATION służy do łączenia dwóch magistral danych zgodnie z regułami integracji zdefiniowanymi w projekcie procesu. Mechanizm działania odpowiada semantyce operacji JOIN w języku SQL.
Operator przyjmuje dwie magistrale wejściowe. W konfiguracji należy określić:
- typ złączenia – np. INNER JOIN (pełne dopasowanie), LEFT JOIN (złączenie lewostronne), RIGHT JOIN (złączenie prawostronne) lub CROSS JOIN (złożenie krzyżowe).
- klucz integracji – zestaw kolumn wykorzystywanych do łączenia rekordów.
W wyniku działania operatora tworzona jest nowa magistrala, której:
- szerokość (liczba kolumn) jest równa sumie kolumn magistral wejściowych,
- liczba rekordów zależy od przyjętego rodzaju złączenia i liczby dopasowań między rekordami wejściowymi.
Operator umożliwia tworzenie złożonych zależności między różnymi źródłami danych oraz elastyczne scalanie informacji w jednym strumieniu przetwarzania.
Typowe zastosowania:
- wzbogacanie danych o informacje pomocnicze (np. słowniki, cenniki),
- dopasowywanie rekordów z różnych źródeł,
- przetwarzanie danych relacyjnych w formie magistrali.
Przykład projektu GRAVITY z użyciem operatora BUSBAR INTEGRATION.
KONFIGURACJA OPERATORA
Ponieważ na magistralach wejściowych mogą znajdować się bity o takich samych nazwach, musisz wskazać prefiksy charakterystyczne dla źródła wejściowego, którymi zostaną oznaczone kolumny wyjściowego strumienia danych.
Masz do wyboru akcje charakterystyczne dla języka SQL (patrz słownik):
Konfigurując integrację dwóch magistral, musisz podjąć decyzję, na jakich zasadach połączyć rekordy z dwóch strumieni danych.
- INNER JOIN → za pomocą tej akcji połączysz rekordy z dwóch magistral, które mają równe wartości w kolumnach łączących (definicja kolumn łączących - patrz ilustracja poniżej). Liczba rekordów na magistrali wyjściowej odpowiada liczbie wszystkich dopasowań w kolumnach łączących (część wspólna). Rekordy z obu strumieni, których nie można połączyć, są odfiltrowane.
- LEFT JOIN → w tej akcji jako nadrzędną przyjmuje się magistralę górną (wchodzącą do operatora od góry). Na magistralę wyjściową trafiają:
- wszystkie rekordy dopasowane (patrz akcja INNER JOIN); łączenie odbywa się wg kolumn łączących (patrz ilustracja poniżej),
- wszystkie niedopasowane rekordy magistrali nadrzędnej, poszerzone o kolumny magistrali podrzędnej z wartościami NULL.
- RIGHT JOIN → w tej akcji jako nadrzędną przyjmuje się magistralę dolną (wchodzącą do operatora od dołu). Na magistralę wyjściową trafiają:
- wszystkie rekordy dopasowane (patrz akcja INNER JOIN); łączenie odbywa się wg kolumn łączących (patrz ilustracja poniżej),
- wszystkie niedopasowane rekordy magistrali nadrzędnej, poszerzone o kolumny magistrali podrzędnej z wartościami NULL.
- OUTER JOIN → w tej akcji operator przepuszcza wszystkie rekordy, które w akcji LEFT JOIN nie byłyby łączone (mają NULL na magistrali poszerzonej), oraz wszystkie rekordy, które w akcji RIGHT JOIN nie byłyby łączone (mają NULL na magistrali poszerzonej), oraz wszystkie rekordy stanowiące część wspólną.
- CROSS JOIN → na magistrali wyjściowej pojawi się strumień danych będący iloczynem kartezjańskim obu strumieni (macierz).
- CROSS JOIN WITH NULL → na magistrali wyjściowej pojawi się strumień danych, będący iloczynem kartezjańskim obu strumieni (macierz). Pola posiadające wartość NULL również zostaną uwzględnione.
W zakładce JOIN COLUMNS wskazujesz kolumny, według których odbywa się łączenie magistral wejściowych. Kolumny wybierasz poprzez kliknięcie pola rekordu i wskazanie kolumny z listy kolumn danej magistrali. Wybranie kolumn z obu magistrali tworzy złączenie.
W każdej chwili możesz usunąć powiązanie kolumn, klikając przycisk usunięcia na liście lub wywołując menu prawym przyciskiem myszy na wybranym wierszu.
Na magistrali wyjściowej otrzymasz wszystkie kolumny z obu magistral, prefiksowane zgodnie z ustawieniem pól Prefix columns from … na zakładce Join type.