Przejdź do głównej zawartości

Łączy wstawianie i aktualizację w jednej operacji, opartej na jednej lub wielu kolumnach wskazanych jako klucz dopasowania. Dla każdego wiersza źródła: jeśli w tabeli docelowej istnieje pasujący wiersz (te same wartości klucza), zostaje zaktualizowany; w przeciwnym razie wstawiany jest nowy wiersz.

Użyj tego, gdy masz przyrostowy strumień danych zawierający zarówno nowe rekordy, jak i zmiany istniejących — aktualizacje sprzedaży, zmiany rekordów pracowników lub dowolny scenariusz „zawsze odzwierciedlaj najnowszy stan”. Kolumny dopasowania wybieraj ostrożnie: wiersze o tych samych wartościach klucza, ale różniące się w pozostałych, zostaną nadpisane, więc zły wybór klucza może po cichu uszkodzić dane.

tabela docelowa (istniejąca)id 1 · Aid 2 · Bźródło (przyrostowe)id 2 · B′id 3 · Cdopasowanie po idwynikid 1 · Azachowaneid 2 · B′zaktualizowaneid 3 · Cwstawione
Upsert scala źródło z tabelą docelową według klucza dopasowania: istniejący klucz jest aktualizowany (id 2 → B′), nowy klucz jest wstawiany (id 3). Wybierz klucz ostrożnie — wiersze o tym samym kluczu są nadpisywane.

Źródło i cel

Aby ustalić tabelę źródłową i docelową, najpierw wybierz tabelę danych, z której mają być wyodrębniane dane, z listy rozwijanej Tabela źródłowa. Następnie wybierz istniejącą tabelę jako tabelę docelową z listy rozwijanej Tabela docelowa.

Table Upsert

Data Mapper służy do mapowania kolumn z danych źródłowych na docelową tabelę danych.

Przycisk menu Sprawdź źródło udostępnia dodatkowe sposoby mapowania kolumn ze źródła na cel:

  • Wypełnij obie tabele mapowania: Propaguje wszystkie wartości z źródłowej tabeli danych do docelowej tabeli danych. Dzieje się tak domyślnie.
  • Wypełnij tylko tabelę mapowania źródła: Mapuje wyłącznie wszystkie wartości w źródłowej tabeli danych. Jest to przydatne przy modyfikowaniu istniejącego przepływu pracy, gdy zmieniła się struktura kolumn źródła.
  • Wypełnij tylko tabelę mapowania celu: Propaguje wszystkie wartości wyłącznie do docelowej tabeli danych.

Jeśli opcje kolumn źródłowych i docelowych nie wystarczają, do docelowej tabeli danych można dodać kolumny na kilka sposobów:

  • Propaguj wszystko wstawi wszystkie kolumny źródłowe do docelowej tabeli danych, niezależnie od tego, czy już istniały.
  • Propaguj zaznaczone wstawi tylko zaznaczone kolumny źródłowe.
  • Kliknij prawym przyciskiem myszy po stronie docelowej i wybierz Wstaw wiersz, aby wstawić wiersz bezpośrednio nad aktualnie zaznaczonym wierszem.
  • Kliknij prawym przyciskiem myszy po stronie docelowej i wybierz Dołącz wiersz, aby wstawić wiersz na dole (z prawej strony) docelowej tabeli danych.

Aby usunąć kolumny z docelowej tabeli danych, zaznacz wybrane kolumny, następnie kliknij prawym przyciskiem myszy i wybierz Usuń.

Aby zmienić kolejność kolumn w docelowej tabeli danych, zaznacz wybrane kolumny. Możesz użyć jednej z opcji:

  • Strzałki przenoszenia zbiorczego: wybierz żądaną opcję przenoszenia za pomocą strzałek w prawym górnym rogu
  • Menu kontekstowe: kliknij prawym przyciskiem myszy i wybierz Przenieś na początek, Przenieś w górę, Przenieś w dół lub Przenieś na koniec.

Ograniczanie wyniku wyłącznie do unikalnych rekordów

Dział zatytułowany „Ograniczanie wyniku wyłącznie do unikalnych rekordów”

Aby zwrócić tylko unikalne opcje, wybierz opcję menu Unikalne. Spowoduje to wyświetlenie zestawu pól wyboru dla każdej kolumny źródła. Wystarczy zaznaczyć pole obok odpowiedniej kolumny, aby zwrócić tylko unikalne wyniki.

W zależności od sytuacji warto rozważyć użycie podsumowania.

Proces wyboru unikalnych rekordów zachowuje pierwszy znaleziony unikalny rekord, a pozostałe odrzuca. Jeśli ważna jest spójność między uruchomieniami, warto zastosować sortowanie danych.

Siatka kolumn docelowych ma kolumnę Klucz aktualizacji, tuż za nazwą kolumny docelowej. Zaznacz ją przy kolumnach, które razem identyfikują wiersz: wiersz źródłowy, którego wartości klucza pasują do wiersza już istniejącego w tabeli docelowej, aktualizuje ten wiersz, a każdy inny wiersz źródłowy jest wstawiany.

Każda kolumna jest domyślnie zaznaczona, więc odznacz kolumny, które nie są częścią klucza. Kolumna bez ustawienia klucza aktualizacji — dodana właśnie przez wypełnienie lub zapisana przez API bez niego — jest traktowana jako klucz. Co najmniej jedna kolumna musi pozostać zaznaczona.

Table Data Filters

Aby zapewnić maksymalną elastyczność, filtry danych są dostępne zarówno dla danych źródłowych, jak i docelowych. W przypadku większych zbiorów danych szczególnie korzystne może być odfiltrowanie wierszy już na źródle, aby pozostałe operacje były wykonywane na mniejszym zbiorze danych.

Wybierz podzbiór danych

Ten typ filtru umożliwia filtrowanie przychodzących danych źródłowych na podstawie określonych warunków.

Zastosuj filtr wtórny do danych wynikowych

Ten typ filtru umożliwia zastosowanie filtru do danych wynikowych po transformacji na podstawie określonych warunków. Możliwość zastosowania filtru do wyniku po transformacji pozwala na wykluczenia oparte na wynikach złożonych obliczeń, podsumowań lub funkcji okienkowych.

Końcowe wycinanie tabeli danych (limit)

Wycinanie wierszy umożliwia ograniczenie liczby wierszy w zbiorze wynikowym na podstawie zakresu i punktu początkowego.

Składnia filtrów

Składnia filtrów korzysta z Python SQLAlchemy, czyli tej samej składni, która obowiązuje w innych wyrażeniach.

Przykłady i funkcje wyrażeń znajdziesz w obszarze Wyrażenia.

  • Co najmniej jeden klucz aktualizacji. W przeciwnym razie zapis jest odrzucany z komunikatem At least one target column must be marked as Update Key.
  • Mapowanie zgadza się z istniejącą tabelą docelową. Gdy tabela docelowa już istnieje, krok musi zmapować każdą z jej kolumn, nie mapować żadnej kolumny, której tabela nie ma, i nadać każdej kolumnie typ tabeli, aby upsert nie mógł usunąć kolumny tabeli wraz z danymi ani zmienić typu kolumny. Typy liczbowy i walutowy są traktowane jako ten sam typ. Odrzucenie wymienia każdą różnicę, na przykład The target columns must match the existing target table ‘customers’. The table has columns the step doesn’t map: region. Tabela docelowa, która jeszcze nie istnieje, lub nazwana za pomocą zmiennej, jest sprawdzana podczas uruchomienia kroku.
  • Puste mapowanie jest uzupełniane za Ciebie. Zapis z wybraną tabelą źródłową, ale bez kolumn źródłowych lub docelowych, uzupełnia pustą stronę na podstawie źródła, tak jak zrobiłoby to Wypełnij obie tabele mapowania.