Vai al contenuto principale

IntervalMatch (sintassi estesa)

IN QUESTA PAGINA

IntervalMatch (sintassi estesa)

Il prefisso IntervalMatch esteso consente di creare una tabella che corrisponde sia ai valori numerici discreti su uno o più intervalli numerici sia ai valori di una o più chiavi aggiuntive.

Si tratta di una funzione estremamente avanzata e flessibile che può essere utilizzata per il collegamento di transazioni con dimensioni che cambiano nel corso del tempo: dimensioni che cambiano lentamente.

Il prefisso IntervalMatch deve essere inserito prima di un'istruzione Load o Select che carica gli intervalli. La tabella che contiene i punti dati discreti e le chiavi aggiuntive deve essere già stata caricata in QlikView prima dell'istruzione con il prefisso IntervalMatch. pertanto trasforma la tabella caricata degli intervalli e delle chiavi in una tabella contenente una colonna aggiuntiva: i punti dati numerici discreti. Inoltre, espande il numero di record in modo che la nuova tabella disponga di un record per ogni combinazione possibile di punti dati discreti, intervallo e valore dei campi chiave.

La sintassi è:

intervalmatch (matchfield,keyfield1 [ , keyfield2, ... keyfield5 ] ) (loadstatement | selectstatement )

matchfield è il campo contenente i valori numerici discreti da collegare agli intervalli.

I campi keyfield(s) sono campi contenenti gli attributi aggiuntivi da associare nella trasformazione.

loadstatemento selectstatement deve comparire in una tabella dove i primi due campi contengono i limiti inferiore e superiore di ogni intervallo e il terzo e i campi seguenti conterranno i campi keyfield(s) presenti nell'istruzione IntervalMatch. Gli intervalli sono sempre chiusi, ossia i punti di fine sono inclusi nell'intervallo. I limiti non numerici fanno in modo che l'intervallo venga ignorato (non definito).

Per evitare che i limiti degli intervalli non definiti vengano ignorati, potrebbe essere necessario consentire il mapping dei valori NULL sugli altri campi che costituiscono i limiti inferiore e superiore dell'intervallo. Questa operazione può essere eseguita dall'istruzione NullAsValue o da un test esplicito che sostituisca i valori NULL con un valore numerico prima o dopo qualsiasi punto dati numerico discreto.

Example:  

Inner Join IntervalMatch (Date,Key) LOAD FirstDate, LastDate, Key resident Key;