Klucze syntetyczne
Qlik Sense tworzy klucze syntetyczne, gdy co najmniej dwie tabele danych mają dwa lub więcej wspólnych pól. Wspomniane 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 należy skontrolować strukturę danych w przeglądarce modelu danych. Należy upewnić się, czy model danych jest poprawny. Czasami jest, ale przeważnie klucz syntetyczny to konsekwencja błędu w skrypcie.
Duża liczba kluczy syntetycznych to często objaw niepoprawnego modelu danych. Obecność kluczy syntetycznych opartych na innych kluczach syntetycznych to jednak wyraźny sygnał błędów w modelu danych.
Obsługa kluczy syntetycznych
Jeśli trzeba unikać kluczy syntetycznych, istnieje kilka sposobów na rozwiązanie tego problemu w skrypcie ładowania danych:
-
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.