Indice
Risultati ricerca
Frase completa
Cerca nella pagina
Chiudi
Indice

COLONNA CALCOLATA

La funzione "Colonna calcolata" permette di elaborare dati previsti dall’indagine per effettuare indagini personalizzate (es. ordinare anagrafiche per giorno di nascita anziché per data di nascita). Per estrarre tali dati o porzioni di dati è necessario avvalersi di formule.

Una formula prende delle variabili valorizzate e applica su queste una operazione selezionabile dall’utente. Per accedere alla finestra di configurazione della formula, aprire la scheda "Campi” di una qualunque indagine, selezionare il pulsante "Colonna calcolata” posto in basso a sinistra.

Nella figura sottostante è mostrata la finestra di configurazione della formula.

Nome colonna – riporta il nome della colonna calcolata, che potrà essere poi selezionata nell’indagine.

Variabili – contiene la lista delle variabili da poter inserire nella formula, che corrispondono ai campi interni.

Funzioni – contiene tutte le funzioni gestite dal programma, logiche, matematiche, etc..

Formula – visualizza la formula che l’utente sta configurando, e che rimane editabile per tutta la sua fase di generazione.

Cancella – cancella il campo calcolato configurato.

Ok – memorizza la formula configurata dall’utente, insieme alle variabili previste al suo interno, e chiude la finestra ritornando a quella di configurazione del tracciato dei campi.

Annulla – annulla tutte le modifiche apportate e chiude la finestra ritornando a quella di configurazione del tracciato dei campi.

NOTA BENE: Se la colonna calcolata è presente all’interno della lista "Campi selezionabili”, per aprire la relativa finestra "Definizione colonna calcolata", in cui è possibile cancellare, modificare o visualizzare la formula utilizzata, è necessario selezionare tale campo ed utilizzare il bottone "Colonna calcolata”, oppure selezionare il campo interessato con il tasto destro del mouse e scegliere "Colonna calcolata; se la colonna calcolata è presente all'interno della sezione "Campi selezionati” è possibile aprire la relativa finestra "Definizione colonna calcolata" selezionando tale campo con il pulsante destro del mouse e scegliendo "Modifica”.

Per creare una nuova Colonna calcola, occorre selezionare un qualunque campo generico del programma presente nella lista "Campi selezionabili” ed utilizzare il bottone "Colonna calcolata” o tasto destro del Mouse e scegliere "Colonna calcolata".

Per inserire, all’interno di una formula, variabili e\o funzioni è sufficiente selezionare la voce interessata nella relativa sezione, ed utilizzare la freccia posta sotto, così che la variabile (funzione scelta) venga inserita nel primo parametro libero della formula corrente.

Per inserire, all’interno di una formula, delle informazioni o valori alfanumerici (stringhe generiche) è necessario inserire la stringa racchiusa da doppi apici ( "stringa” ); in tal caso il programma è in grado di interpretare l’informazione come una costante anziché una variabile.

Dato che per verificare la correttezza sintattica e semantica di una formula, questa viene interpretata in ogni sua parte, risulta necessario configurare attentamente la formula e le variabili da introdurre al suo interno, soprattutto se si utilizza il costrutto "IF – THEN – ELSE”, nel quale il controllo di correttezza prevede l’esecuzione di tutti e tre i rami indistintamente dal valore previsto nel "IF”.

Di seguito vengono affrontate regole e suggerimenti per la corretta configurazione di una formula.

per permettere il corretto salvataggio e gestione delle variabili impiegate all’interno della formula, è necessario inserire, attraverso la freccia posta sotto la relativa sezione,una variabile qualunque almeno una volta, anche se questa verrà poi utilizzata più volte nella formula. Fatto questo una prima volta è possibile inserire la medesima variabile anche in altri punti della formula anche inserendola da tastiera, in quanto il programma ha già memorizzato la variabile e quindi è in grado di svolgere correttamente i controlli di correttezza sintattica, semantica e di valutazione del tipo di valore restituito dalla formula;

se la formula prevede la restituzione di un valore intero, scelto attraverso la valutazione di un costrutto condizionale, IIF tipo "IIF(IsNotNull(variabile1), variabileIntera, ToInt32(64))”, dove 64 o variabileIntera risultano i due possibili valori restituiti, è necessario specificare in corrispondenza del 64 la conversione ad intero, altrimenti il programma informerà della presenza di una variabile sconosciuta;

se nella formula viene utilizzata la funzione prevista dal programma "Like(@stringa, @strModello)”, deve essere inserito come primo parametro la stringa da analizzare, come secondo la stringa da confrontare, aggiungendovi il carattere speciale "%” nella parte della stringa da lasciare indefinita (es. per considerare tutti i codici inizianti per 0009 è necessario scrivere Like(Codice, "0009%”));

all’interno delle formule se nella definizione della condizione di un IIF si deve formalizzare l’analisi sulle parti di un orario (ore, minuti o secondi), si deve tener conto che un orario non esistente, ossia che non è stato valorizzato, presenterà tutte le tre componenti pari a 0 (zero);

In caso si voglia configurare una data partendo da un attributo definito di tipo stringa, è necessario formattare i riferimenti a giorno mese ed anno. Ad esempio, partendo da una stringa tipo "10$06$13” da cui prelevare i caratteri "10" pre avere l'informazione relativa all'anno contratto ("2010”), "06" per il mese e 13 per il giorno, la formula configurabile dovrà essere la seguente:
IIF(IsNotNull(Data_di_creazione) and Data_di_creazione != "", ToDateTime( ToInt32( "20" + Substring(Data_di_creazione, 0, 2) ), ToInt32( Substring(Data_di_creazione, 3, 2) ), ToInt32( Substring(Data_di_creazione, 6, 2) ) ), ToDateTime(ToInt32(1), ToInt32(1), ToInt32(1))).

In tal caso verrà generata una data estraendo dalla stringa i rispettivi valori sopra spiegati.

NOTA BENE: l’utilizzo del metodo Substring per estrarre una porzione di stringa richiede necessariamente che la stringa di partenza specificata non sia vuota o nulla, poichè in tal caso all’atto dell’esecuzione della formula si verificherebbe un errore.

per configurare una differenza tra date attraverso il metodo proposto "diffData”, la prima data deve essere superiore alla seconda e come tipo di intervallo, la notazione valida è la seguente, tra doppi apici dato che è una stringa:

intervallo a livello di giorno: "giorno”, "giorni”, "gg”, "day”, "days”, "dd”;

intervallo a livello di ora: "ora”, "ore”, "oo”, "hour”, "hours”, "hh”;

intervallo a livello di minuti: "minuto”, "minuti”, "mm”, "minute”, "minutes”;

intervallo a livello di secondi: "secondo”, "secondi”, "ss”, "second”, "seconds”.

per configurare operazione su valori non interi ma decimali mantenendo una precisione alta delle cifre, durante la stesura di una formula è necessario utilizzare le seguenti operazioni: "ADD” funzione per la somma, "MUL” moltiplicazione, "SUB” differenza, "DIV” divisione e "MOD” per il modulo. Mentre le prime tre accettano anche più di due valori decimali, restituendone uno finale, la divisione gestisce due valori alla volta, e il modulo uno solo. Qualunque costante che verrà inserita all’interno di uno di questi operatori (es. un numero costante) richiederà di essere definito impiegando la funzione di casting prevista "ToDecimal(@nomevariabile). Un discorso analogo vale per il valore restituito da operatori quali MUL: qualora si voglia associare ad una variabile definita di tipo Decimale il valore ottenuto dal prodotto di due decimali sarà necessario scrivere la formula come "ToDecimal(MUL(@variabile1, @variabile2, etc..)). Esempio: data la quantità, Qta, definita di tipo Decimale, se si vuole calcolare il triplo di una data quantità data in input, la formula sarà ToDecimal(MUL(Qta, ToDecimal(3))).