Przejdź do głównej zawartości

Renderuje tabele projektu przez szablon, aby uzyskać ustrukturyzowany dokument, zamiast surowego zrzutu kolumn, który zapisują pozostałe kroki eksportu. Użyj go, gdy system odbierający wymaga określonego kształtu XML lub innego formatu tekstowego zamiast tabeli.

Szablon Jinja, z którego renderowane są dane wyjściowe. Zobacz Z czego może korzystać szablon.

Konto dokumentów, folder i nazwa pliku wyrenderowanego wyniku. O zawartości pliku decyduje szablon; nazwa pliku bez rozszerzenia otrzymuje .xml.

Użyj ramek danych Pandas dla danych tabeli zmienia sposób, w jaki wiersze każdego źródła docierają do szablonu. Zobacz Wiersze źródła jako tabela.

Wskaż tabele jawnie lub dopasuj je według ścieżki i reguły wyszukiwania — dokładnej, zaczyna się od, kończy się na, zawiera lub glob.

Szablon jest renderowany w piaskownicy: odczytuje dane, które przekazuje mu krok, i nic więcej.

  • Każde źródło, pod jego nazwą (Nazwa). Każda wymieniona tabela źródłowa jest dostępna dla szablonu pod Nazwą, którą jej nadasz, więc użyj nazwy nadającej się na zmienną, takiej jak invoices.
  • Zmienne przepływu pracy, jako variable — na przykład {{ variable.region }}.
<Invoices>
{% for row in invoices %}
<Invoice id="{{ row.invoice_id }}" amount="{{ row.amount }}" />
{% endfor %}
</Invoices>

Gdy Użyj ramek danych Pandas dla danych tabeli jest wyłączone, źródło jest listą wierszy tylko do odczytu. Przejdź po niej pętlą albo użyj |length, keys(), first(), one(), all(), scalar(), scalars(), mappings(), fetchmany(n) i columns('a', 'b'). Wartość z wiersza odczytasz jako row.amount, row['amount'] lub row[0]; działają też row._mapping, row._asdict() i row._fields. Wiersze z columns('a', 'b') przyjmują row.amount lub row[0], a nie row['amount'].

Gdy Użyj ramek danych Pandas dla danych tabeli jest włączone, źródło jest tabelą tylko do odczytu. Przejście po niej pętlą daje każdy wiersz jako słownik, więc działają zarówno row.amount, jak i row['amount']. Możesz też użyć:

  • columns, empty, shape, values i index
  • head(n) i tail(n)
  • itertuples(), które umieszcza pozycję wiersza na początku jako Index, więc r[1] jest pierwszą kolumną; itertuples(index=False) ją pomija
  • iterrows(), które daje pozycję wiersza i sam wiersz
  • invoices['amount'], wartości jednej kolumny, z sum(), min(), max(), mean(), unique() i tolist(); sum, min, max i mean pomijają wartości null

Inne metody pandas, takie jak loc i groupby, nie są dostępne. Ukształtuj dane we wcześniejszym kroku i wyeksportuj wynik.

  • Wywoływać metody, której nazwa zaczyna się od to_, na żadnej wartości — to_csv i to_json, a także nieszkodliwych, takich jak to_pydatetime.
  • Odczytywać atrybutu, którego nazwa zaczyna się od podkreślenia, poza _mapping, _asdict i _fields wiersza.
  • Zapisywać ani otwierać plików.

Wywołanie to_ lub operacja na pliku powoduje niepowodzenie kroku. Atrybut z podkreśleniem inny niż te trzy po prostu nie renderuje się wcale.

Konfiguracja Data Mapper

Data Mapper tabeli

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

Sprawdzanie źródła i wypełnianie mappera

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 tabeli danych źródłowych do tabeli danych docelowych. Jest to ustawienie domyślne.
  • Wypełnij tylko tabelę mapowania źródła: mapuje wszystkie wartości wyłącznie w tabeli danych źródłowych. Jest to przydatne przy modyfikowaniu istniejącego przepływu pracy, gdy zmieniła się struktura kolumn źródłowych.
  • Wypełnij tylko tabelę mapowania celu: propaguje wszystkie wartości wyłącznie do tabeli danych docelowych.

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

  • Propaguj wszystko wstawia wszystkie kolumny źródłowe do tabeli danych docelowych, niezależnie od tego, czy już w niej istniały.
  • Propaguj zaznaczone wstawia 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) tabeli danych docelowych.

Usuwanie kolumn

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

Kolumny źródłowe, których nie ma już na liście

Wiersz docelowy może wskazywać Kolumnę źródłową, której tabela danych źródłowych już nie zawiera, na przykład po ponownym sprawdzeniu źródła. Krok nigdy sam nie usuwa takiego wiersza. Zamiast tego nazwa kolumny jest wyświetlana na czerwono, za znakiem ostrzegawczym ⚠, a po najechaniu na nią kursorem pojawia się informacja, że kolumny nie ma wśród kolumn źródłowych. W kroku z kilkoma tabelami, takim jak unia, każda tabela jest sprawdzana względem własnych kolumn źródłowych.

Wiersz ze Stałą, Wyrażeniem lub podsumowaniem Liczba (z wartościami null) nigdy nie jest oznaczany, ponieważ krok nie odczytuje jego kolumny źródłowej. Nic nie jest oznaczane, dopóki tabela danych źródłowych nie zawiera żadnych kolumn, na przykład przed pierwszym sprawdzeniem źródła.

Podczas zapisywania kroku, który nadal ma oznaczone wiersze, okno Znaleziono nieaktualne kolumny wyświetla je pod kartą lub tabelą, do której należą, i oferuje trzy opcje:

  • Usuń wszystkie i zapisz — usuń oznaczone wiersze, a następnie zapisz.
  • Zapisz mimo to — zapisz krok bez zmian.
  • Anuluj — wróć do kroku bez zapisywania.

Aby zachować wiersz i usunąć jego ostrzeżenie, dodaj kolumnę z powrotem do tabeli danych źródłowych albo wybierz kolumnę, którą ta tabela zawiera.

Kolumny brakujące w tabeli źródłowej

Podczas zapisywania sama tabela danych źródłowych jest sprawdzana w jej obecnym stanie. Kolumna, którą krok wymienia wśród kolumn źródłowych, a której tabela nie ma, na przykład zmieniona lub usunięta przez wcześniejszy krok, oznacza, że kolumny kroku są nieaktualne, a krok odczytujący taką kolumnę zakończy się błędem podczas uruchomienia. Zapisywanie otwiera wtedy okno dialogowe Brakujące kolumny źródłowe, które wymienia każdą tabelę i brakujące w niej kolumny, i oferuje dwa wybory:

  • Zapisz mimo to — zapisuje krok bez zmian.
  • Anuluj — wraca do kroku bez zapisywania.

Nic nie jest usuwane automatycznie, ponieważ błąd może leżeć po stronie tabeli, a ta może się jeszcze zmienić przed uruchomieniem kroku. Gdy oznaczone są także wiersze, których już nie ma na liście, oba komunikaty pojawiają się razem w oknie dialogowym Znaleziono nieaktualne kolumny, a opcja Usuń wszystkie i zapisz usuwa tylko oznaczone wiersze. Gdy lista kolumn źródłowych jest pusta, sprawdzane są zamiast niej kolumny mapowane przez krok, z wyjątkiem wierszy z podsumowaniem Stała, Wyrażenie lub Liczba (z wartościami null), które nie odczytują żadnej kolumny.

Źródło nazwane za pomocą zmiennej, takie jak {year}/Sales, jest sprawdzane w stanie zmiennej z chwili zapisywania, a okno dialogowe podaje nazwę sprawdzonej tabeli, na przykład 2026/Sales (from {year}/Sales). Zmienna ustawiana przez pętlę przechowuje wartość z jej ostatniej iteracji, więc pętla po tabelach o różnej strukturze może ostrzegać o tabeli, której następne uruchomienie nie odczyta. Nie jest sprawdzana tabela, która jeszcze nie istnieje, na przykład tworzona przez wcześniejszy krok przepływu pracy, ani źródło, którego zmienna nie ma wartości, tabela wyszukiwana przez krok podczas uruchomienia, ani tabela, której w danej chwili nie można odczytać.

Typ danych kolumny

Każda kolumna docelowa ma Typ. Kolumna propagowana ze źródła zachowuje typ kolumny źródłowej; dodany ręcznie wiersz ma początkowo typ Tekst, a w polu Typ określasz, czym kolumna ma faktycznie być — kolumna, którą zamierzasz sumować lub sortować, wymaga typu liczbowego albo daty, ponieważ tekst jest sortowany i sumowany jako tekst.

Krok zapisany z kolumną bez żadnego typu nadal się uruchamia. Typ jest ustalany w chwili rozpoczęcia kroku na podstawie kolumny źródłowej, którą ta kolumna odczytuje. Jeśli nie ma z czego go odczytać, traktowany jest jako tekst: kolumny kroku Wyodrębnij SQL pochodzą z napisanego przez Ciebie zapytania, a nie z zmapowanego źródła, a gdy kilka źródeł zawiera kolumnę o tej samej nazwie, lecz o niezgodnych typach, używany jest tekst zamiast zgadywania jednego z nich — błędne odgadnięcie powoduje konwersję, którą magazyn danych może odrzucić, a wszystko można przekonwertować na tekst.

Samodzielne ustawienie pola Typ nadal jest sposobem na określenie, czym kolumna ma być. Pozostawienie go nieustawionego oznacza zgodę na to, czym akurat jest kolumna źródłowa.

Zmiana kolejności kolumn

Aby zmienić kolejność kolumn w tabeli danych docelowych, zaznacz wybrane kolumny. Możesz użyć jednej z poniższych metod:

  • Strzałki przenoszenia zbiorczego: wybierz odpowiednią 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 do unikalnych rekordów

Aby zwrócić tylko unikalne wartości, 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ć zastosowanie podsumowania.

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

Agregacja i grupowanie

Aby agregować wyniki, wybierz opcję menu Podsumuj. Spowoduje to wyświetlenie zestawu pól wyboru dla każdej kolumny w tabeli danych docelowych. Wybierz odpowiednią metodę podsumowania dla każdej kolumny.

Gdy Sprawdź źródło wypełnia kolumny, kolumna liczbowa zaczyna jako Grupuj według zamiast Suma, jeśli jej nazwa wygląda na identyfikator, na przykład id, customer_id, Order No lub CustomerKey, jeśli jej tabela ustawia ją jako klucz albo jeśli złączenie używa jej jako klucza.

  • Grupuj według
  • Suma
  • Min
  • Maks
  • Pierwsza
  • Ostatnia
  • Liczba
  • Liczba (z wartościami null)
  • Średnia
  • Odchylenie standardowe
  • Odchylenie standardowe z próby
  • Odchylenie standardowe z populacji
  • Wariancja
  • Wariancja z próby
  • Wariancja z populacji
  • Zaawansowane bez grupowania

Informacje o zaawansowanym użyciu Data Mapper, takim jak wyrażenia, czyszczenie i stałe, znajdziesz w artykule Zaawansowane użycie Data Mapper

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.