Lezione del 13 marzo 2009 Filtro avanzato e funzioni db Filtro avanzato Filtro avanzato Se si necessita di un filtro più versatile di quello automatico si può ricorrere al filtro avanzato: Selezionare l elenco da filtrare Menù dati filtro avanzato Indicare le celle contenenti i criteri di filtraggio, che si costruiranno in modo analogo per la funzioni db 4 1
Filtro avanzato criteri Filtro avanzato - esempio Nella prima riga si indicano i nomi dei campi Nelle celle successive gli operatori di confronto ed i relativi valori, ricordando che: Celle sulla stessa riga indicano criteri legati dall operatore logico AND Celle su righe diverse indicano criteri legati dall operatore logico OR 5 6 Filtro avanzato destinazione Destinazione - esempio Sono possibili due modalità: Filtro sul posto: come nel filtro automatico nasconde le righe che rispondono al criterio impostato Copia in altra posizione: copia le celle che soddisfano i criteri 7 8 2
Copia univoca dei record Con l opzione Copia Univoca si evitano risultati con righe duplicate Molto comodo per pulire generiche liste con molti valori multipli! Funzioni database 9 Database Un database è un elenco (tabella) costituito da una lista di record(righe), ognuno dei quali è costituito da uno o più valori, tanti quante sono le colonne (alcuni valori possono anche essere vuoti) La prima riga contiene i nomi dei campi (etichette di colonna) 11 Database esempio Cognome Nome Indirizzo Città CAP Provincia Rossi Gianni Via Napoleone, 2 Trieste 34100TS Bianchi Francesco Via Milano, 23 Trieste 34100TS Verdi Adele Via Roma, 11 Trieste 34100TS Ferrari Agata Via Venezia, 2 Trieste 34100TS Rossi Barbara Via Garibaldi, 8 Muggia 34100TS Bianchi Bruno Piazza Romana, 1 Trieste 34100TS Verdi Carlo Piazza Castello, 8 Trieste 34100TS Ferrari Carla Viale Rovigno, 1 Milano 20100MI Rossi Daniele Viale Giotto, 2 Milano 20100MI Bianchi Danilo Viale Raffaello, 1 Milano 20100MI Verdi Davide Via Udine, 2 Milano 20100MI Ferrari Enrico Via America, 2 Milano 20100MI Rossi Enzo Via Colombo, 3 Milano 20100MI Bianchi Renzo Via Vespucci, 3 Udine 33100UD Verdi Federico Via Verona, 7 Udine 33100UD Ferrari Federica Via Vicenza, 2 Palmanova 33100UD Rossi Giovanni Via Vicenza, 3 Palmanova 33100UD Bianchi Giacomo Via Milano, 7 Udine 33100UD Verdi Giancarlo Via Milano, 23 Udine 33100UD Ferrari Giovanna Via Roma, 8 Udine 33100UD 12 3
Funzioni database Ogni funzione database richiede 3 argomenti: 1. L area del database (comprendente anche le intestazioni dei campi) 2. L etichetta del campo su cui compiere l operazione (somma, conteggio, ecc.) 3. I criteri del filtro da cui compiere l operazione (es. solo per i Sig.ri Rossi, solo per i maggiorenni, esclusi i maschi, ecc.) Criteri E una tabella costituita dalle intestazioni dei campi nella prima riga, e dai criteri nelle righesuccessive Criteri sulla stessa riga corrispondono all AND Criteri su righe diverse corrispondono all OR Es. Cognome Città Età Età Verdi Rossi <18 Rossi >=18 <60 (compreso) >=60 (escluso) 13 14 Criteri note 1 Criteri note 2 Non includere erroneamente righe vuote nei criteri: vengono interpretate come tutti i record! I nomi dei campi devono essere indicati con precisione: invece di trascriverli meglio riportarli prendendo il valore dalla cella originale (così l aggiornamento è garantito) Per disattivare il filtro sul posto scegliere Menù Dati Filtro Mostra tutto 15 Colonne con lo stesso nome di campo possono ripetersi più volte (i relativi criteri saranno legati da AND se sulla stessa riga) Meglio parametrizzare i valori inseriti Campi vuoti nei criteri sono ininfluenti I risultati di una funzione db vengono aggiornati istantaneamente ad ogni modifica del database 16 4
DB conteggio Esempio db VALORI e NUMERI DB.CONTA.VALORI [DCOUNTA] conta quanti record che soddisfano i requisiti indicati hanno dei valori del campo non nulli DB.CONTA.NUMERI[DCOUNT] conta quanti record che soddisfano i requisiti indicati hanno dei valori numerici nel relativo campo 17 18 DB operazioni Esempio db SOMMA e VALORI DB.SOMMA [DSUM] somma i valori del campo indicato per i record che soddisfano i requisiti richiesti. Idem DB.PRODOTTO [DPRODUCT] DB.VALORI[DGET] estrae il valore del campo indicato per il record che soddisfa i requisiti richiesti. La soluzione deve essere unica! 19 20 5
DB statistiche Esempio db MIN e MAX DB.MIN[DMIN], DB.MAX [DMAX], DB.MEDIA [DAVERAGE] effettuano operazioni statistiche sui record estratti seguendo i criteri indicati Esistono anche le relative funzioni per calcolare varianza e deviazione standard 21 22 Criteri intervalli Esempio intervalli Compreso (inclusi estremi) >=valoremin E <=valoremax Compreso (esclusi estremi) >valoremin E <valoremax Eccetto (inclusi estremi) <valoremin O >valoremax Eccetto (esclusi estremi) <=valoremin O >=valoremax 23 24 6