Tasti sintetici in Qlikview | Come rimuovere le chiavi sintetiche

Contenuti

Chiave sintetica

Chiave sintetica

Prima di parlare di chiavi sintetiche, diamo un'occhiata a un tipico modello di dati QV (nel diagramma a destra). Qui, possiamo vedere tre tabelle "Vendite", “Assegnazione filiale” e “$ Syn 1 ″. Ma, Avevo caricato solo due tabelle (Mappatura delle vendite e delle filiali) in QlikView. Un'altra sorpresa appare quando guardo da vicino i tavoli di “Saldi” e “Mappatura dei rami”. Hay una variabile aggiuntivo “$ Sin 1” in entrambe le tabelle.

Quando ho incontrato per la prima volta questo effetto nel modello di dati, Non riuscivo a identificare il motivo per cui stava accadendo. Fino a un certo punto, questo non mi ha infastidito a causa dell'output del cruscotto che funziona bene. Ma, quando il mio mentore ha guardato questo modello, Sapevo che “$ Sin 1” è una chiave sintetica e “$ Syn 1 Tavolo” è una tavola sintetica.

Cosa sono le chiavi o le tabelle sintetiche??

Quando carichiamo due tabelle con un nome di campo comune in entrambe le tabelle, le tabelle sono associate automaticamente in base a campi comuni. Questa è la funzionalità associativa di QlikView.

Nonostante questo, quando abbiamo più di un campo comune tra due o più tabelle, QlikView crea "CHIAVI SINTETICA" e "TABELLA SINTETICA". QlikView aggiunge una tabella sintetica (come tabella $ Syn) e una chiave sintetica (Come un simbolo $ Syn) al modello di dati. Le chiavi vengono aggiunte alle tabelle caricate dall'utente e utilizzate per unirle alla tabella sintetica.

La chiave sintetica è il metodo di QlikView per gestire le chiavi composite. La tabella sintetica contiene una chiave sintetica che è un composto di tutte le combinazioni dei più campi chiave che collegano le tabelle. Nel nostro modello di dati, avevamo due campi comuni, “Rama” e “Regione”, quindi QlikView ha creato da solo la chiave sintetica e la tabella sintetica. Se osserviamo la vista tabella di origine del visualizzatore tabelle, mostra che due campi sono collegati tra queste due tabelle.

Chiave sintetica

Le chiavi sintetiche sono buone o cattive??

Secondo il manuale di riferimento di QlikView:

Quando il numero di tasti compositi aumenta / sintetico, a seconda della quantità di dati, la struttura della tabella e altri fattori, QlikView può o non può gestirli correttamente. QlikView potrebbe impiegare una quantità eccessiva di tempo e / o memoria. Sfortunatamente, i limiti effettivi sono praticamente impossibili da prevedere, che lascia solo tentativi ed errori come metodo pratico per determinarli.

  • Questo è uno dei motivi per cui molte persone eliminano le chiavi sintetiche. Ma questa affermazione è applicabile quando hai più chiavi sintetiche nel tuo modello di dati. Nonostante questo, se il tuo modello di dati ha più chiavi sintetiche, c'è probabilmente un serio collo di bottiglia con il tuo modello di dati e non con le chiavi sintetiche.
  • Quando hai due o più tabelle e hanno più campi comuni, le chiavi sintetiche creano la soluzione corretta, compatto ed efficiente. Le chiavi sintetiche non sono la causa di problemi di prestazioni e memoria. Generalmente, funzionano un po' meglio o simili, rispetto ai tasti compositi manuali, che vengono generalmente utilizzati per eliminare le chiavi sintetiche.
  • In uno dei casi, Mi sono ricordato che uno dei miei colleghi lo ha menzionato a causa della chiave sintetica, l'output del modello dati non viene visualizzato correttamente o c'è un collo di bottiglia delle prestazioni, ma quando hai rimosso le chiavi sintetiche, funziona bene. Qui il vero problema non erano le chiavi sintetiche, era un modello di dati scadente e, quando si eliminano le chiavi sintetiche, è migliorato. Al momento non ho dettagli sul confronto delle prestazioni e della memoria con o senza chiavi sintetiche (se hai, si prega di condividere).

Perché dovremmo eliminare le chiavi sintetiche??

Come menzionato in precedenza, è possibile creare chiavi sintetiche a causa di una scarsa modellazione dei dati. ogni volta che un chiave sintetica inaspettata è stato creato, dovremmo guardare di nuovo il modello dei dati, apportare le modifiche necessarie e, dovuto, finiamo con un buon modello di dati. Nota che la parola chiave importante nell'ultima istruzione è INASPETTATO. Caso opposto, le chiavi sintetiche non fanno male.

Il secondo motivo, quello che ho capito nel tempo è che ogni volta creo le mie chiavi composite invece delle chiavi sintetiche, Ho molta più chiarezza sul modello dei dati.

Caso opposto, Posso dire che le chiavi sintetiche sono buone e offrono facilità di gestione delle chiavi composite se stai lavorando su un buon modello di dati.

Come eliminare le chiavi sintetiche?

Per eliminare le chiavi sintetiche, per prima cosa esaminiamo il nostro modello di dati e apportiamo le modifiche necessarie, se richiesto. Abbiamo diversi metodi per eliminare le chiavi sintetiche, ma dipende dall'esigenza.

  • Rimozione dei campi: Quando i campi comuni che generano chiavi sintetiche non sono necessari nel modello dati e ciò non influirà sul collegamento tra due tabelle. La rimozione del campo può essere eseguita commentando o rimuovendo il campo dallo script di caricamento.

Chiave sintetica

  • Rinomina campi (usando RATE): Quando i campi comuni che generano chiavi sintetiche non sono lo stesso campo (non contengono valori simili), questi sono in realtà campi diversi con lo stesso nome. La modifica del nome può essere effettuata tramite la clausola “COME”. Possiamo anche raggiungere questo obiettivo attraverso l'uso della dichiarazione RATE.. Con una dichiarazione qualificata, i nomi dei campi vengono convertiti nel formato “NomeTabella.NomeCampo”

Chiave sintetica Utilizzo di QUALIFICAQlik_View_Synthetic_Keys

  • Tasti numerici automatici / composto: Quando sappiamo che i campi comuni che generano chiavi sintetiche sono importanti per il modello di dati, possiamo creare la nostra chiave per gestire le chiavi composite. Possiamo anche usare le funzioni di numerazione automatica / Autonumberhash128 / Autonumberhash256 per creare chiavi composite. Questi creeranno un valore di bit univoco per ogni combinazione distinta delle colonne concatenate. Autonumberhash128 e Autonumberhash256 creano valori di 128 bit y 256 bit rispettivamente. Si noti che Autonumber può essere problematico nelle applicazioni che generano file QVD da utilizzare in altre applicazioni QlikView..Chiave sintetica
  • Abbiamo anche altri metodi per eliminare chiavi sintetiche come “Crea una tabella di collegamento“,”Crea join espliciti ” e “Concatena tabelle simili“. Questi argomenti devono essere discussi in dettaglio e li esploreremo in futuro..

Nota finale:

Generalmente, gli sviluppatori vogliono eliminare le chiavi sintetiche perché si ritiene che abbiano un impatto negativo sulle prestazioni e sull'utilizzo della memoria. Nonostante questo, Quello non è vero. Gestiscono le chiavi composite in modo più efficiente rispetto alle chiavi manuali, se abbiamo un buon modello di dati. Se hai sperimentato la differenza nelle prestazioni e nell'utilizzo della memoria con o senza sintetici, condividi i tuoi pensieri nei commenti qui sotto, poiché andrà a beneficio della comunità.

Se ti piace quello che hai appena letto e vuoi continuare il tuo apprendimento analitico, iscriviti alle nostre email, Seguici su Twitter o come il nostro Facebook pagina.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.