| At line 1 added 37 lines |
| %%(display:none) |
| {{{ |
| WikiUp |
| }}} |
| /% |
| [{TableOfContents }]\\ |
| \\ |
| !! Definizione Generale\\ |
| Esiste anche la possibilità di specificare formule per definire campi calcolati all'interno di una matrice.\\ |
| Le formule possono essere specificate sia nell'Xml di definizione dei campi della matrice che in un attributo del setup di sezione.\\ |
| I totali (generali e degli eventuali raggruppamenti) di colonne con formule rispetteranno la formula stessa, ignorando quindi la funzione di totalizzazione.\\ |
| !! Come specificare una formula nell'Xml della Matrice\\ |
| Occorre definire una colonna aggiuntiva (nello stesso modo in cui viene definita una colonna "standard"), nella quale specificare un attributo "Formula" in cui dovrà essere indicata la formula desiderata.\\ |
| \\ |
| Gli eventuali campi della tabella coinvolti nella formula devono essere specificati nel formato "[nomecampo]".\\ |
| Esempio:\\ |
| '<Colonna Cod="T$MED1" Txt="Media1" Tip="" Lun="10" IO="O" Ogg="NR" Formula="[T$X01C]/[T$X01D]"/>' '<Colonna Cod="T$MED2" Txt="Media2" Tip="" Lun="10" IO="O" Ogg="NR" Formula="([T$X01C]/[T$X01D])+5*[T$MED1]"/>'\\ |
| Dove T$X01C e T$X01D sono due campi della tabella.\\ |
| \\ |
| !! Come specificare una formula nel setup di una matrice\\ |
| Occorre indicare nel nuovo attributo "Formulas" la/e formula/e desiderate utilizzando la seguente sintassi:\\ |
| Formulas="<DescrittoreFormula(1)>|< DescrittoreFormula(2)>|...|< DescrittoreFormula(n)>"\\ |
| \\ |
| Dove: DescrittoreFormula(x)="<CodiceColonna>;<TitoloColonna>;<Formula>;<Lunghezza>;[<Decimali>];[<Oggetto>]"\\ |
| \\ |
| CodiceColonna non deve essere già presente tra i campi della matrice. Decimali è ovviamente facoltativo; nel caso di colonne alfanumeriche lasciarlo in bianco.\\ |
| \\ |
| Esempio (analogo al precedente):\\ |
| Formulas="T$MED1;Media1; [T$X01C]/[T$X01D];10;0;NR|T$MED2;Media2;([T$X01C]/[T$X01D])+5*[T$MED1];10;0;NR"\\ |
| \\ |
| La risoluzione delle formule, a livello di singolo record, avviene all'atto della costruzione della tabella in memoria. Nel caso quindi di Matrici di Aggiornamento non verrà aggiornato il valore di una colonna calcolata se modificati I valori delle colonne coinvolte.\\ |
| Come si vede dagli esempi, una formula può fare riferimento ad altre colonne "calcolate"\\ |
| Attenzione a non specificare riferimenti circolari (es: A=B ... B=A).\\ |
| Per attivare da script i totali su di una colonna calcolata è necessario specificare almeno una funzione sulla colonna (es: SUM(<campo>)). La formula verrà comunque ignorata e verrà eseguita la formula utilizzando i valori dei campi di totale.\\ |
| \\ |
| \\ |
| \\ |