Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

Klucze syntetyczne

Gdy kilka tabel ma co najmniej dwa pola wspólne, implikuje to relację klucza złożonego. Aplikacja QlikView obsługuje tę funkcję przez automatyczne tworzenie kluczy syntetycznych. Takie klucze to pola anonimowe reprezentujące wszystkie występujące kombinacje klucza złożonego.

W przypadku otrzymania ostrzeżenia dotyczącego kluczy syntetycznych podczas ładowania danych zaleca się skontrolowanie struktury danych w widoku tabeli. Należy upewnić się, czy model danych jest poprawny. Czasami jest, ale często klucz syntetyczny to konsekwencja błędu w skrypcie.

Duża liczba kluczy syntetycznych to często (choć nie zawsze) objaw niepoprawnego modelu danych. Obecność kluczy syntetycznych opartych na innych kluczach syntetycznych to jednak wyraźny sygnał błędów w modelu danych.

OstrzeżenieGdy liczba kluczy syntetycznych rośnie, aplikacja QlikView w zależności od ilości danych, struktury tabeli i innych czynników może sprawnie je obsługiwać, ale czasami może to skutkować spowolnieniem lub nadmiernym wykorzystaniem pamięci. W takim przypadku należy zmodyfikować skrypt, usuwając wszystkie klucze syntetyczne.

Two tables, IntervalMatchLength and LengthRange, have the Start and End fields in common. They are connected by the $Syn 1 field, which leads to the $Syn 1 Table, which contains only $Syn 1 and Start and End.

Obsługa kluczy syntetycznych

Jeśli trzeba unikać kluczy syntetycznych, istnieje kilka sposobów na rozwiązanie tego problemu w skrypcie ładowania:

  • Upewnić się, że jako klucze używane są tylko pola, które logicznie łączą dwie tabele.

    • Takie pola, jak „Komentarz”, „Uwaga” i „Opis”, mogą istnieć w kilku tabelach bez powiązań, dlatego nie powinny być używane jako klucze.
    • Takie pola, jak „Data”, „Firma” i „Nazwa”, mogą istnieć w kilku tabelach i mieć identyczne wartości, a jednocześnie różnić się rolami (data zamówienia/data wysyłki, firma klienta/firma dostawcy). W takim przypadku nie należy ich używać jako kluczy.
  • Upewnić się, że nie są używane zbędne pola — i że łączone są tylko pola niezbędne. Jeśli na przykład kluczem jest data, trzeba uważać, aby nie załadować pola year, month lub day_of_month z tą samą datą z więcej niż jednej tabeli wewnętrznej.

  • W razie konieczności utworzyć własne klucze niezłożone, co zazwyczaj realizuje się poprzez konkatenację ciągów znaków w obrębie funkcji skryptu AutoNumber.

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ć, co możemy poprawić!

Dołącz do Programu Modernizacji Analityki

Remove banner from view

Przeprowadź modernizację bez szkody dla Twoich cennych aplikacji QlikView za pomocą programu Analytics Modernization Program. Kliknij tutaj aby uzyskać więcej informacji lub skontaktuj się z nami: ampquestions@qlik.com