Alăturați-vă - păstrați-simț qlik

Unificarea este funcționarea combinării a două mese într-una. Înregistrările de tabele rezultate sunt combinații de înregistrări în tabelele sursă. În acest caz, două astfel de înregistrări care constituie o combinație în tabelul rezultat, de regulă, au valoarea comună a unuia sau mai multor câmpuri comune. O astfel de unire se numește natura. În programul Qlik Sense, un join poate fi realizat într-un script, creând o tabelă logică.

Tabelele din scenariu pot fi combinate. Logica lui Qlik Sense nu va recunoaște tabele individuale, ci rezultatele fuziunii, care vor fi prezentate într-un singur tabel intern. În unele cazuri acest lucru este necesar, dar există dezavantaje:

  • Mesele încărcate devin adesea mai mari, iar programul Qlik Sense rulează mai lent.
  • Unele informații pot fi pierdute: frecvența (numărul de înregistrări) din tabela sursă poate să nu mai fie disponibilă.

Păstrați funcția. care vă permite să reduceți una sau ambele tabele la intersecția acestor tabele înainte de a salva tabelele în programul Qlik Sense. Se intenționează să se reducă numărul de cazuri atunci când este necesar să se utilizeze asociații explicite.

În acest manual, termenul "uniune" este de obicei folosit pentru îmbinările efectuate înainte de crearea tabelelor interne. Cu toate acestea, asocierea efectuată după crearea tabelelor interne, de fapt, este, de asemenea, o asociere.

Combinări în cadrul instrucțiunii SQL SELECT

Când utilizați unele drivere ODBC, puteți efectua o conexiune în cadrul instrucțiunii SELECT. Aceasta este aproape echivalentă cu crearea unei conexiuni folosind prefixul Join.

Cu toate acestea, majoritatea driverelor ODBC nu vă permit să efectuați o conexiune externă completă (bidirecțională). Acestea vă permit să faceți doar o îmbinare exterioară la stânga sau la dreapta. O îmbinare exterioară din partea stângă (dreapta) include numai combinații în care există o cheie de îmbinare în tabelul din stânga (dreapta). Asocierea externă completă include toate combinațiile. Programul Qlik Sense creează automat o conexiune externă completă.

Mai mult, crearea de asociații în declarațiile SELECT este mult mai complicată decât crearea de asociații în programul Qlik Sense.

[Detalii comandă] .ProductID, [Detalii comandă].

UnitPrice, Orders.OrderID, Orders.OrderDate, Orders.CustomerID

DREPTUL JOIN [Detaliile comenzii] ON Orders.OrderID = [Detalii comanda] .OrderID;

Această instrucțiune SELECT vă permite să vă înscrieți într-un tabel care conține comenzi pentru o companie inexistentă și un tabel care conține informații despre comenzi. Această intrare exterioară din partea dreaptă, adică toate intrările de comandă și intrările cu valoarea OrderID vor fi incluse. care nu se află în tabelul Comenzi. Cu toate acestea, comenzile conținute în tabelul Comenzi. dar care nu sunt cuprinse în Ordinul de comandă. nu vor fi incluse.

Cea mai simplă modalitate de a crea o conexiune este să utilizați prefixul Join în script, care vă permite să vă alăturați tabelului intern cu alt tabel numit sau ultimul tabel creat. Unirea va fi externă și vă va permite să creați toate combinațiile posibile de valori din două tabele.

LOAD a, b, c din table1.csv;

se alăture LOAD a, d din table2.csv;

Tabelul intern rezultat are câmpuri a. b. c și d. Numărul de intrări diferă în funcție de valorile câmpurilor acestor două tabele.

Numele câmpurilor care urmează să fie fuzionate trebuie să fie identice. Numărul de câmpuri îmbinate poate fi oricare. De obicei, tabelele trebuie să aibă unul sau mai multe câmpuri comune. În absența câmpurilor comune, va fi luată în considerare produsul cartezian al tabelelor. În principiu, toate câmpurile pot fi comune, dar de obicei acest lucru nu are sens. Până când numele mesei încărcate anterior este specificat în instrucțiunea de conectare. ultima tabelă creată va fi utilizată de prefixul Join. Prin urmare, ordinea celor doi operatori nu este arbitrară.

Prefixul explicit Join în scriptul de încărcare a datelor efectuează o asociere completă a celor două tabele. Rezultatul este un tabel. În multe cazuri, astfel de îmbinări conduc la crearea de mese foarte mari. Una dintre funcțiile principale ale programului Qlik Sense este capacitatea de a lega tabelele în loc să le îmbină, ceea ce reduce utilizarea memoriei, îmbunătățește viteza de procesare și flexibilitatea. Funcția de menținere este menită să reducă numărul de cazuri când trebuie să utilizați conexiuni explicite.

Prefixul Keep între două instrucțiuni LOAD sau SELECT reduce una sau ambele tabele înainte de a intersecta datele înainte de a stoca tabelele în programul Qlik Sense. Înainte de prefixul Keep, trebuie să specificați unul dintre următoarele cuvinte cheie: Inner. Stânga sau Dreapta. Selectarea înregistrărilor din tabel este aceeași ca și pentru asocierea corespunzătoare. Cu toate acestea, două tabele nu sunt combinate și stocate în programul Qlik Sense sub forma a două tabele separate numite.

Înainte de prefixele Join și Keep, puteți utiliza prefixul Inner în scriptul de încărcare a datelor.

Dacă utilizați acest prefix înaintea prefixului Join, asocierea celor două tabele va fi internă. Tabelul rezultat conține numai combinații de două tabele, inclusiv un set complet de date din ambele părți.

Dacă acest prefix este utilizat înainte de păstrarea. indică faptul că cele două tabele ar trebui reduse la zona de intersecție înainte ca acestea să poată fi salvate în programul Qlik Sense.

Aceste tabele utilizează tabelele originale Tabelul 1 și Tabelul 2:

Exemple de tabele interioare originale

Inner Join

În primul rând, Inner Join este executat împotriva tabelelor, rezultând o tabelă VTable. Există o singură intrare în ambele tabele, cu date din ambele tabele.

SELECT * din tabelul1;

interior join SELECT * de la Table2;

Exemplu de intrare internă

Inner Keep

În cazul în care este folosit Inner Keep. vor mai exista două mese. Două mese, desigur, sunt conectate printr-un câmp comun A.

SELECT * din tabelul1;

interior păstrează SELECT * de la Table2;

Exemplu de menținere interioară

Înainte de prefixele Join și Keep, puteți utiliza prefixul stâng în scriptul de încărcare a datelor.

Dacă utilizați acest prefix înaintea prefixului Join, unirea celor două tabele va fi la stânga. Tabelul rezultat conține numai combinații de două tabele, inclusiv setul complet de date din primul tabel.

Dacă acest prefix este folosit înainte de prefixul Keep. indică faptul că al doilea tabel trebuie redus la zona de intersecție cu primul tabel înainte de salvarea în programul Qlik Sense.

Aceste tabele utilizează tabelele originale Tabelul 1 și Tabelul 2:

Exemple de tabele sursă Stânga

În primul rând, efectuați o îmbarcare la stânga pe mese, rezultând o tabelă VTable. conținând toate rândurile din tabelul1. Combinate cu câmpurile din rândurile de potrivire din Tabelul 2.

SELECT * din tabelul1;

leagă SELECT * din tabelul 2;

Alăturați-vă - păstrați-simț qlik

Ex

Dacă se folosește stânga păstrează. vor mai exista două mese. Două mese, bineînțeles, sunt conectate prin câmpul comun A.

SELECT * din tabelul1;

stânga ține SELECT * de la Table2;

Exemplu Stânga păstrați

Înainte de prefixele Join și Keep, puteți utiliza prefixul corect din scriptul de încărcare a datelor.

Dacă utilizați acest prefix înaintea prefixului Join, unirea celor două tabele va fi dreapta. Tabelul rezultat conține numai combinații de două tabele, inclusiv setul complet de date din al doilea tabel.

Dacă acest prefix este folosit înainte de prefixul Keep. indică faptul că primul tabel trebuie redus la zona de intersecție cu al doilea tabel înainte de a fi salvat în programul Qlik Sense.

Aceste tabele utilizează tabelele originale Tabelul 1 și Tabelul 2:

Exemple de tabele surse Right

În primul rând, join-ul din dreapta este efectuat pe mese, rezultând într-un tabel VTable. care conține toate rândurile din tabelul2. Combinat cu câmpurile din rândurile de potrivire din tabelul1.

SELECT * din tabelul1;

dreptul de join SELECT * de la Table2;

Exemplu de intrare corectă

Dacă se folosește stânga păstrează. vor mai exista două mese. Două mese, desigur, sunt conectate printr-un câmp comun A.

SELECT * din tabelul1;

păstrați dreapta SELECT * din Table2;

Exemplu de păstrare a dreptului

# x430; # x430; # x440; # x437; # x43A; # x430; # x43D; # x43E; # x432; # x44B; # x445; # x438; # X43E; # x431; # x43D; # x43E; # x432; # x43B; # x435; # x43D; # x43D; # x44B; # x445; # x437; # x440; # x438; # x438; # x438; # x441; # x43E; # x43E; # x44C; # x44C; # x44E; # X438; # x43D; # x43A; # x440; # x435; # x43C; # x435; # x43D; # x442; # X430; # x43B; # x44C; # x43D; # x43E; # x439; # x430; # x430; # x443; # x437; # x43A; # x438;

# X418; # x441; # x43F; # x43E; # x43B; # x44C; # x437; # x43E; # x432; # X430; # x43D; # x438; # x435; # X441; # x43E; # x43F; # x43E; # x441; # x442; # X430; # x432; # x43B; # x435; # x43D; # x438; # x44F; # x43A; # x43A; # X430; # x43B; # x44C; # x442; # x435; # x440; # x43D; # X430; # x442; # x438; # x432; # x44B; # X441; # x43E; # x435; # x434; # x438; # x43D; # x435; # x43D; # x438; # x44E;