Database generici
Un database generico è una tabella in cui i nomi di campo vengono memorizzati come valori di campo in una colonna, mentre i valori di campo vengono memorizzati in una seconda colonna. In genere, i database generici vengono utilizzati per attributi di oggetti differenti.
Osservare l'esempio GenericTable in basso. Si tratta di un database generico che contiene due oggetti, una sfera e una scatola. Ovviamente, alcuni degli attributi, come il colore e il peso, sono comuni a entrambi gli oggetti, mentre altri, come il diametro, l'altezza, la lunghezza e la larghezza, non lo sono.
object | attribute | value |
---|---|---|
ball | color | red |
ball | diameter | 10 cm |
ball | weight | 100 g |
box | color | black |
box | height | 16 cm |
box | length | 20 cm |
box | weight | 500 g |
box | width | 10 cm |
Da un lato, risulterebbe inusuale memorizzare i dati in modo tale che l'attributo venga assegnato a una colonna specifica, perché molti di essi non sono significativi per un particolare oggetto.
Dall'altro, l'aspetto risulterebbe disordinato, in quanto le lunghezze, i colori e i pesi risulterebbero mischiati.
Se questo database viene caricato in QlikView con la modalità standard e vengono visualizzati i dati in una tabella, avranno il seguente aspetto:
Tuttavia, se la tabella viene caricata come un database generico, le colonne due e tre verranno suddivise in tabelle differenti, una per ciascun valore univoco della seconda colonna:
La sintassi per effettuare questa operazione è semplice:
Esempio:
Generic SELECT* from GenericTable;
Per caricare il database generico, è possibile utilizzare un'istruzione LOAD o un'istruzione SELECT.