Dodawanie przekształceń SQL | Qlik Cloud Pomoc
Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

Dodawanie przekształceń SQL

W zadaniach przekształcania można uwzględniać tabele oparte na SQL. Przekształcenie SQL umożliwia wprowadzenie zapytania SQL SELECT do potoku w celu zdefiniowania złożonych lub prostych przekształceń. Możesz pozwolić, aby SQL assistant wygenerował zapytanie z podpowiedzi tekstowej przy użyciu generatywnej sztucznej inteligencji. Możesz także użyć makr, aby dostosować zapytanie do uruchomienia w przypadku ładowania początkowego lub ładowania przyrostowego.

Możesz użyć środowiska SQL workbench do eksploracji danych i sprawdzania poprawności kodu SQL tylko do odczytu przed dodaniem kodu SQL do przekształcenia. Więcej informacji zawiera temat Eksploracja danych za pomocą SQL Workbench.

Więcej informacji o tworzeniu zadania przekształcania zawiera temat Transformacja danych.

Dodawanie przekształcenia SQL

Aby dodać przekształcenie SQL w zadaniu danych Przekształć:

  1. W sekcji Przekształć wybierz zestawy danych do uwzględnienia w zapytaniu i kliknij Dodaj przekształcenie SQL.

    Ustaw nazwę przekształcenia w polu Nazwa. Więcej informacji o innych ustawieniach zawiera temat Ustawienia.

    Kliknij Dodaj, gdy wszystko będzie gotowe do utworzenia przekształcenia SQL.

    Zostanie wyświetlony ekran Edytuj przekształcenie SQL.

  2. Wpisz zapytanie, aby zwrócić tabelę opartą na SQL w panelu zapytania.

    Więcej informacji zawiera temat Edytowanie zapytania SQL.

  3. Kliknij Uruchom zapytanie.

    Spowoduje to pobranie metadanych i podglądu danych.

  4. Przejrzyj parametry w sekcji Parametry.

    Więcej informacji zawiera temat Parametry.

  5. Ustaw klucz podstawowy w sekcji Metadane.

    Więcej informacji zawiera temat Metadane.

  6. Gdy będziesz zadowolony z wyników zapytania, kliknij Zapisz i zamknij. Zestaw danych zostanie teraz dodany do listy celów i będzie można wyświetlić jego podgląd.

Edytowanie zapytania SQL

Wpisz zapytanie, aby zwrócić tabelę opartą na SQL w panelu zapytania. Zapytanie może odczytywać tylko z wybranych źródłowych zestawów danych, ale możesz dodać więcej źródłowych zestawów danych za pomocą przycisku Dodaj.

  • Możesz utworzyć instrukcję, aby załadować zestaw danych z sekcji Obiekty. Kliknij więcej, a następnie Dodaj instrukcję SELECT.

  • Możesz skopiować nazwę zestawu danych do schowka, klikając więcej, a następnie Kopiuj.

  • Kliknij >, aby przenieść nazwę zestawu danych lub kolumny do edytora.

  • Kliknij Szukaj, aby wyszukać i zamienić tekst w edytorze.

InformacjaMożesz użyć narzędzia SQL assistant, aby wygenerować zapytanie przy użyciu generatywnej sztucznej inteligencji. Więcej informacji zawiera temat Generowanie transformacji SQL z promptu tekstowego. Narzędzie SQL assistant nie jest dostępne w Qlik Cloud Government.

Jeśli używane jest ładowanie przyrostowe, możesz użyć Makr, aby dostosować zapytanie do uruchomienia w przypadku ładowania początkowego lub ładowania przyrostowego.

Więcej informacji zawiera temat Używanie makr do dostosowywania zapytania do typu ładowania.

Skróty klawiaturowe

InformacjaSkróty klawiaturowe są podane przy założeniu, że pracujesz w systemie Windows. W przypadku systemu macOS użyj klawisza Command zamiast Ctrl.
  • Ctrl+F Wyszukaj i zamień

  • Ctrl+/ Zakomentuj/odkomentuj bieżący wiersz

  • Ctrl+Enter Uruchom zapytanie

  • Ctrl+Z Cofnij

  • Ctrl+Y Ponów

Podgląd wyników

Możesz wyświetlić podgląd wyników, używając próbki danych w sekcji Wyniki.

InformacjaPodgląd danych musi być włączony na poziomie dzierżawy w Administrowanie. Opcję Wyświetlanie danych w Integracja danych można znaleźć w sekcji Ustawienia, w obszarze Kontrola funkcji.

Aby móc wyświetlać podgląd danych, musisz mieć przypisane następujące role:

  • Może wyświetlać dane w przestrzeni, w której znajduje się połączenie.

  • Może wyświetlać w przestrzeni, w której znajduje się projekt.

Wyświetlane są wyniki z wykorzystaniem próbki danych. Możesz ustawić, ile wierszy danych ma zostać uwzględnionych w próbce, za pomocą opcji Liczba wierszy.

  • Kliknij Ostatnio wykonane zapytanie, aby zobaczyć czas ostatniego uruchomienia i czas trwania ostatnio wykonanego zapytania.

Filtrowanie wyników

Możesz filtrować wyniki według jednej lub więcej kolumn.

  • Kliknij więcej w pierwszej kolumnie, według której chcesz filtrować, a następnie Filtruj.

    Wybierz operator, którego chcesz użyć, oraz wartość, według której chcesz filtrować.

    Możesz dodać więcej filtrów kolumn, klikając Dodaj filtr.

Filtr wpłynie tylko na istniejące dane przykładowe.

Sortowanie wyników

Możesz posortować próbkę danych według określonej kolumny.

  • Kliknij więcej w kolumnie, według której chcesz sortować, a następnie Sortuj rosnąco lub Sortuj malejąco.

Sortowanie wpłynie tylko na istniejące dane przykładowe. Jeśli użyto filtru, aby uwzględnić tylko zamówienia z 2024 r. i odwrócono kolejność sortowania, dane przykładowe nadal będą zawierać tylko zamówienia z 2024 r.

Zarządzanie wyświetlanymi kolumnami

Możesz wybrać, które kolumny mają być wyświetlane w wynikach. Wybór nie jest zapisywany podczas zapisywania przekształcenia.

  • Ukryj kolumnę, klikając więcej w kolumnie, a następnie Ukryj kolumnę.

  • Zarządzaj wyświetlaniem wszystkich kolumn, klikając więcej w dowolnej kolumnie, a następnie Wyświetlane kolumny.

Parametry

Kliknij Parametry, aby zmienić parametry w zapytaniu SELECT. Parametry powinny być zamapowane na obiekty źródłowe lub docelowe.

Parametry są automatycznie mapowane, gdy:

  • Użyjesz opcji Dodaj instrukcję SELECT w sekcji Obiekty.

  • Klikniesz >, aby przenieść nazwę zestawu danych lub kolumny do edytora.

  • Nazwa parametru pasuje do nazwy tabeli z tabel w sekcji Obiekty.

InformacjaJeśli używasz dowolnych nazw parametrów, musisz zamapować parametry ręcznie. Tylko nazwy parametrów pasujące do nazw zestawów danych będą mapowane automatycznie.

Możesz mapować na

  • Struktury historii typu 2 (_history)

  • Bieżące struktury

  • Obiekty docelowe

    Obiekty docelowe można mapować tylko wtedy, gdy parametr jest zdefiniowany wewnątrz makra przyrostowego.

WskazówkaMożesz zastąpić parametr odwołaniem, aby zapytanie było łatwiejsze do odczytania. Zmień wartość w polu Parametr, a odwołanie w polu Zapytanie SELECT również ulegnie zmianie.

Metadane

Możesz edytować ustawienia metadanych w sekcji Metadane.

  • Ustaw klucze podstawowe w kolumnie Klucz.

    Możesz uzyskać sugestie dotyczące odpowiednich kluczy podstawowych i zweryfikować klucze, klikając Zasugeruj i zweryfikuj klucze.

  • Ustaw, czy kolumna może przyjmować wartości puste, w kolumnie Dopuszcza wartości puste.

  • Wybierz kolumnę i kliknij Edytuj, aby ustawić nazwę kolumny, klucz, dopuszczanie wartości pustych i typ danych.

Sugerowanie i weryfikowanie kluczy

Możesz uzyskać sugestie dotyczące odpowiednich kluczy podstawowych i zweryfikować klucze, klikając Zasugeruj i zweryfikuj klucze. Pełne zapytanie SQL musi zostać uruchomione co najmniej raz.

  • GenAI służy do sugerowania kluczy, jeśli wyrażono zgodę na wnioskowanie między regionami. Umożliwia to Qlik Cloud wysyłanie żądań wnioskowania poza region dzierżawy. Szczegółowe i najnowsze informacje na temat lokalizacji przetwarzania wnioskowania zawiera temat Włączanie wnioskowania międzyregionalnego.

    InformacjaFirma Qlik nie kontroluje generowanych danych wyjściowych. Ze względu na charakter GenAI odpowiedzi mogą nie generować kodu SQL spełniającego Twoje wymagania bez przeglądu lub edycji. Wygenerowane zapytanie jest uważane za „Treść” zgodnie z warunkami Umowy z klientem Qlik.
    Uwaga dotycząca Qlik Cloud Government

    Sugerowanie kluczy wspomagane przez GenAI nie jest dostępne w Qlik Cloud Government.

    Jeśli GenAI nie jest włączone, klucze będą sugerowane programowo na podstawie danych tabeli źródłowej.

  • Weryfikacja będzie zawsze przeprowadzana bez użycia GenAI poprzez uruchomienie zapytania SQL upewniającego się, że nie ma duplikatów ani wartości NULL.

    InformacjaWeryfikacja jest dostępna tylko wtedy, gdy zapytanie zwróciło dane.
  • Zasugeruj i zweryfikuj klucze

    Spowoduje to przejrzenie zapytania i kluczy tabeli źródłowej oraz zasugerowanie prawidłowych kluczy podstawowych. Ta operacja może zająć trochę czasu.

  • Zweryfikuj klucze

    Spowoduje to zweryfikowanie istniejących kluczy podstawowych, aby upewnić się, że są one unikalne i nie mają wartości NULL. Ta operacja może zająć trochę czasu.

  • Zasugeruj bez weryfikacji

    Spowoduje to przejrzenie zapytania i kluczy tabeli źródłowej oraz zasugerowanie kluczy podstawowych bez weryfikacji. Przejrzyj i zweryfikuj klucze ręcznie przed ich zastosowaniem.

Uruchamianie zapytania

Możesz uruchomić zapytanie w dowolnym momencie podczas programowania, klikając Uruchom zapytanie. Przy pierwszym uruchomieniu zapytania zostaną pobrane metadane. Po uruchomieniu zapytania możesz przejść do sekcji Metadane i ustawić klucz podstawowy, który jest wymagany do zakończenia przekształcenia.

InformacjaJeśli edytor zawiera więcej niż jedno zapytanie, możesz uruchomić pojedyncze zapytanie, wybierając je i klikając Uruchom zapytanie.

Używanie makr do dostosowywania zapytania do typu ładowania

Jeśli używane jest ładowanie przyrostowe, możesz użyć Makr, aby dostosować zapytanie do uruchomienia w przypadku ładowania początkowego lub ładowania przyrostowego.

Wybierz makro i dodaj zapytanie wewnątrz odpowiedniej klauzuli.

  • Q_RUN_INCREMENTAL dodaje klauzulę, w której można umieścić zapytanie uruchamiane tylko podczas ładowania przyrostowego.

  • Q_RUN_INITIAL_LOAD dodaje klauzulę, w której można umieścić zapytanie uruchamiane tylko podczas ładowania początkowego.

Nie musisz określać pełnego zapytania dla każdego makra. Możesz dostosować lub dodać kod w zależności od przypadku użycia.

Przypadek użycia: Filtr przyrostowy z użyciem zakresu dat:

W tym przypadku użycia zestaw danych zamówień musi zostać przekształcony za pomocą niestandardowego kodu SQL. Ponieważ jest to duży zestaw danych, chcesz uwzględnić filtrowanie przyrostowe, aby upewnić się, że ładowanie przyrostowe uwzględnia tylko zamówienia z ostatnich 12 godzin.

To jest zapytanie podstawowe:

SELECT O.ORDER_ID, O.CUSTOMER_ID, OD.PRODUCT_ID, OD.QUANTITY, O.AMOUNT , OD.LAST_UPDATE_DTM FROM “mydb”.”myStorageTask”.”ORDER” O JOIN “mydb”.”myStorageTask”.”ORDER_DETAIL” OD ON O.ORDER_ID = OD.ORDER_ID

To jest filtr do zastosowania podczas przebiegu przyrostowego, w którym uwzględniane są tylko zamówienia dodane w ciągu ostatnich 12 godzin:

WHERE OD.UPDATE_DTM > DATEADD(hour, -12, CURRENT_TIMESTAMP())
WskazówkaPodczas wdrażania tabeli opartej na SQL zaleca się zastąpienie nazw tabel notacją ${TABLE}. Zapobiega to kodowaniu na stałe nazw baz danych i schematów, które mogą się zmieniać w zależności od środowiska, na przykład podczas przenoszenia ze środowiska programistycznego do produkcyjnego.

To jest kompletne zapytanie, wykorzystujące makro filtru i z nazwami tabel zastąpionymi notacją ${TABLE}:

SELECT O.ORDER_ID, O.CUSTOMER_ID, OD.PRODUCT_ID, OD.QUANTITY, O.AMOUNT , OD.LAST_UPDATE_DTM FROM ${ORDER} O JOIN ${ORDER_DETAIL} OD ON O.ORDER_ID = OD.ORDER_ID {{#QLIK_FUNC_IF Q_RUN_INCREMENTAL}} WHERE OD.UPDATE_DTM > DATEADD(hour, -12, CURRENT_TIMESTAMP() ) {{/QLIK_FUNC_IF}}

Powoduje to powstanie zapytania ładowania początkowego:

SELECT O.ORDER_ID, O.CUSTOMER_ID, OD.PRODUCT_ID, OD.QUANTITY, O.AMOUNT , OD.LAST_UPDATE_DTM FROM ${ORDER} O JOIN ${ORDER_DETAIL} OD ON O.ORDER_ID = OD.ORDER_ID

Oraz zapytania ładowania przyrostowego:

SELECT O.ORDER_ID, O.CUSTOMER_ID, OD.PRODUCT_ID, OD.QUANTITY, O.AMOUNT , OD.LAST_UPDATE_DTM FROM ${ORDER} O JOIN ${ORDER_DETAIL} OD ON O.ORDER_ID = OD.ORDER_ID WHERE OD.UPDATE_DTM > DATEADD(hour, -12, CURRENT_TIMESTAMP() )

Przypadek użycia: Filtr przyrostowy z użyciem danych w obiekcie docelowym:

W tym przypadku użycia zestaw danych zamówień musi zostać przekształcony za pomocą niestandardowego kodu SQL. Ponieważ zamówienia to duży zestaw danych, chcesz uwzględnić filtrowanie przyrostowe, aby upewnić się, że ładowanie przyrostowe uwzględnia tylko rekordy szczegółów zamówienia, które są nowsze niż dane w tabeli docelowej. Chcesz również zaznaczyć, czy wiersz został przetworzony przez ładowanie początkowe, czy ładowanie przyrostowe.

InformacjaJak widać na tym przykładzie, makra mogą być używane do dostosowywania dowolnej części zapytania do ładowania początkowego lub ładowania przyrostowego.

To jest zapytanie podstawowe:

SELECT O.ORDER_ID, O.CUSTOMER_ID, OD.PRODUCT_ID, OD.QUANTITY, O.AMOUNT , OD.LAST_UPDATE_DTM FROM “mydb”.”myStorageTask”.”ORDER” O JOIN “mydb”.”myStorageTask”.”ORDER_DETAIL” OD ON O.ORDER_ID = OD.ORDER_ID

To jest filtr do zastosowania podczas przebiegu przyrostowego. „ORDERS_DERIVED” to nazwa docelowego zestawu danych.

WHERE OD.UPDATE_DTM > = (SELECT MAX(LAST_UPDATE_DTM) FROM “mydb”.”myTrasformTask”.”ORDERS_DERIVED” )
WskazówkaŁadowanie przyrostowe może również mapować notację ${TABLE} na obiekty docelowe utworzone przez zadanie przekształcania.

To jest kompletne zapytanie, wykorzystujące makro filtru i z nazwami tabel zastąpionymi notacją ${TABLE}. Wartość LOADED_BY jest ustawiona na INIT, jeśli ładowanie jest początkowe, oraz na INCR, jeśli ładowanie jest przyrostowe:

SELECT O.ORDER_ID, O.CUSTOMER_ID, OD.PRODUCT_ID, OD.QUANTITY, O.AMOUNT, OD.LAST_UPDATE_DTM, {{#QLIK_FUNC_IF Q_RUN_INITIAL_LOAD}} ‘INIT’ as LOADED_BY {{/QLIK_FUNC_IF}} {{#QLIK_FUNC_IF Q_RUN_INCREMENTAL}} ‘INCR’ as LOADED_BY {{/QLIK_FUNC_IF}} FROM ${ORDER} O JOIN ${ORDER_DETAIL} OD ON O.ORDER_ID = OD.ORDER_ID {{#QLIK_FUNC_IF Q_RUN_INCREMENTAL}} WHERE OD.UPDATE_DTM >= (SELECT MAX(LAST_UPDATE_DTM) FROM ${TARGET_TABLE} ) {{/QLIK_FUNC_IF}}

Powoduje to powstanie zapytania ładowania początkowego:

SELECT O.ORDER_ID, O.CUSTOMER_ID, OD.PRODUCT_ID, OD.QUANTITY, O.AMOUNT, OD.LAST_UPDATE_DTM, ‘INIT’ as LOADED_BY FROM ${ORDER} O JOIN ${ORDER_DETAIL} OD ON O.ORDER_ID = OD.ORDER_ID

Oraz zapytania ładowania przyrostowego:

SELECT O.ORDER_ID, O.CUSTOMER_ID, OD.PRODUCT_ID, OD.QUANTITY, O.AMOUNT, OD.LAST_UPDATE_DTM, ‘INCR’ as LOADED_BY FROM ${ORDER} O JOIN ${ORDER_DETAIL} OD ON O.ORDER_ID = OD.ORDER_ID WHERE OD.UPDATE_DTM >= (SELECT MAX(LAST_UPDATE_DTM) FROM ${TARGET_TABLE} )

Ustawienia

Kliknij Ustawienia, aby edytować ustawienia przekształcenia SQL.

  • W polu Nazwa wpisz nazwę docelowego zestawu danych.

    W polu Opis możesz dodać dłuższy opis.

  • W sekcji Materializacja wybierz, czy przekształcony wynik powinien zostać zmaterializowany, czy nie. Możesz zdecydować się na dziedziczenie tego ustawienia z ustawień zadania danych.

    • Ustawienie Wł. spowoduje utworzenie tabel i obsługę powiązanego przetwarzania ELT.

    • Opcja Wył. spowoduje utworzenie widoków, które dokonują transformacji na bieżąco.

  • W polu Magazyn danych historycznych (typ 2) wybierz, czy chcesz przechowywać dane historyczne. Możesz zdecydować się na dziedziczenie tego ustawienia z ustawień zadania danych. To ustawienie wymaga, aby Materializacja była włączona.

  • Ładowanie przyrostowe pozwala dostosować zapytanie do przyrostowego ładowania danych przez zastosowanie filtrów lub innych warunków w celu zmniejszenia zestawu danych przetwarzanych za pomocą makr. Ładowanie przyrostowe jest dostępne tylko wtedy, gdy dane są materializowane w postaci tabel.

    • Kiedy ładowanie przyrostowe jest włączone

      Pierwsze wykonanie zadania spowoduje wstępne załadowanie, wstawiając wszystkie wyniki zapytania do tabeli docelowej. Kolejne wykonania zadania będą dokonywać ładowań przyrostowych z wykorzystaniem filtrów lub określonych warunków zdefiniowanych dla przetwarzania przyrostowego. Podczas ładowania przyrostowego zadanie będzie przetwarzać dane jedynie w formie aktualizacji lub wstawiania, a usuwanie nie jest zarządzane.

    • Kiedy ładowanie przyrostowe jest wyłączone

      Pierwsze wykonanie zadania spowoduje wstępne załadowanie, wstawiając wszystkie wyniki zapytania do tabeli docelowej. Kolejne wykonania będą przetwarzać wszystkie wyniki zapytania, porównując je z tabelą docelową i przetwarzając rekordy, które są nowe, zmienione lub usunięte.

    InformacjaJeśli zapytanie wybierze wszystkie rekordy, które powinny istnieć w obiekcie docelowym, wyłącz opcję Ładowanie przyrostowe. Niewybrane rekordy zostaną usunięte w miejscu docelowym.
  • Najlepsze praktyki

    • Po dodaniu przekształcenia SQL klucz podstawowy nie jest definiowany automatycznie. Dodaj klucz do zestawu danych na karcie Zestaw danych.

    • Nie twórz ręcznie nagłówków kolumn w przekształconych danych wyjściowych.

    • Unikaj używania instrukcji SELECT z *, ponieważ może to zwracać różne kolumny przy każdym uruchomieniu zapytania. Jeśli nastąpiła zmiana w schemacie, odpowiednio zmień zapytanie i ponownie wykonaj Opisz tabelę. Następnie możesz edytować kolumny i dostosowywać tabele.

    Czy ta strona była pomocna?

    Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać!