Chiavi sintetiche

Quando due o più tabelle interne hanno due o più campi in comune, questo implica una relazione di chiavi composite. QlikView gestisce questa condizione mediante la creazione automatica di chiavi sintetiche. Queste chiavi sono campi anonimi che rappresentano tutte le combinazioni ricorrenti della chiave composita.

Se, durante il caricamento dei dati, si riceve un avviso relativo alle chiavi sintetiche, si consiglia di esaminare la struttura dei dati nel visualizzatore tabelle. Quindi è opportuno chiedersi se il modello dati è corretto o meno. Talvolta lo è, tuttavia spesso presenta una chiave sintetica dovuta a un errore nello script.

La presenza di più chiavi sintetiche indica spesso un modello dati non corretto, anche se non necessariamente. Tuttavia, un chiaro segno di modello dati non corretto è indicato dall'esistenza di chiavi sintetiche basate su altre chiavi sintetiche.

Avviso: Quando il numero di chiavi sintetiche aumenta, in base alle quantità di dati, alla struttura della tabella e ad altri fattori, QlikView può gestirle o meno senza problemi e terminare utilizzando una quantità di tempo e/o memoria eccessivi. In questo caso, è necessario rielaborare lo script rimuovendo tutte le chiavi sintetiche.

Gestione delle chiavi sintetiche

Se è necessario evitare le chiavi sintetiche, sono disponibili numerosi modi per risolvere questo problema nello script di caricamento:

  • Verificare che siano utilizzati solo i campi che collegano logicamente due tabelle.

    • Campi come "Comment", "Remark" e "Description" possono esistere in molte tabelle senza essere correlati e pertanto non devono essere utilizzati come chiavi.
    • Campi come "Date", "Company" e "Name" possono esistere in più tabelle e avere valori identici, ma hanno sempre ruoli differenti (Order Date/Shipping Date, Customer Company/Supplier Company). In tali casi non devono essere utilizzati come chiavi.
  • Assicurarsi che non vengano utilizzati campi ridondanti e che vengano connessi solo i campi necessari. Se, ad esempio, si utilizza una data come chiave, assicurarsi di non caricare year, month o day_of_month della stessa data da più tabelle interne.

  • Se necessario, è opportuno formare chiavi non composite personalizzate, in genere utilizzando la concatenazione di stringhe all'interno della funzione di script AutoNumber.