Newsgroup: it.comp.appl.access
Titolo: Media e conteggio errori

Buongiorno avrei bisogno di un vostro aiuto x risolvere un problema: ho
conoscenze prossime allo zero di Access e ho necessità di calcolare
una media e fare una verifica di attendibilità.
Partendo da una tabella con 4 campi
[giorno(testo)][orario(testo)][valore(numerico precisione
doppia)][errore(numerico intero lungo)] dove sono riportati dati ogni
minuto devo ottenere un'altra tabella dove ci deve essere indicato il
giorno la mezz'ora la media dei 30 minuti e il conteggio degli errori
dal quale vedere se il valore è attendibile:
Mi spiego meglio:
Immaginate una tabella con:
01-10-2006 | 00:01:00 | 2.874 |   |
01-10-2006 | 00:02:00 | 4.741 |   |
01-10-2006 | 00:03:00 | 0.472 | 1 |
....
01-10-2006 | 00:30:00 | 5.784 |   |
01-10-2006 | 00:31:00 | 3.752 |   |
in caso di errore viene indicato un codice numerico che lo identifica
altrimenti il campo [errore] è vuoto.
Vorrei avere una tabella:
01-10-2006 | 00:30:00 | (M30m) | (Ner) | (Valido) |
01-10-2006 | 01:00:00 | (M30m) | (Ner) | (Valido) |
....
dove:
(M30m) è la media dei 30 minuti precedenti
(Ner) è il numero di errori registrati (senza distinzione di codice)
(Valido) è un campo aggiuntivo che se mi indica se il valore è
attendibile quando Ner è < 13 ovvero se ci sono meno di 13 errori
nella mezz'ora
Mi date un suggerimento su come fare?
Grazie in anticipo a chi mi vorrà rispondere

Grazie in anticipo a chi mi vorrà rispondere
Prego
-- 
Roberto
-----------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
-----------------------------------------------

 di usarli con le funzioni Minute e DateAdd.
Tralasciamo questa parte dato che li ho convertiti come indicato
sopra... grazie per il tentativo di aiuto e spero che con i dati che ti
ho fornito riesca a capire dove sta l'errore.

ho fornito riesca a capire dove sta l'errore.
Se il campo errore contiene o Null o il valore mumerico del tipo errore, 
prova con una query che ha il seguente codice SQL:
SELECT Tabella1.giorno, 
Format(IIf(Minute([orario])=30,[orario],IIf(Minute([orario])<30,DateAdd("n",30-Minute([orario]),[orario]),DateAdd("h",1,DateAdd("n",Minute([orario])*-1,[orario])))),"hh\:nn\:ss") 
AS orarioarrotondato, Avg(Tabella1.valore) AS MediaDivalore, 
Count(Tabella1.errore) AS ConteggioDierrore, 
IIf(Count(Tabella1.errore)<13,"Valido",Null) AS Valido
FROM Tabella1
GROUP BY Tabella1.giorno, 
Format(IIf(Minute([orario])=30,[orario],IIf(Minute([orario])<30,DateAdd("n",30-Minute([orario]),[orario]),DateAdd("h",1,DateAdd("n",Minute([orario])*-1,[orario])))),"hh\:nn\:ss");



Ci siamo quasi... nel senso che adesso indica un solo record x ogni
mezz'ora ma il calcolo della media è sbagliato:
in pratica anzi che fare la media da 00:01 a 00:30 ... da 00:31 a 01:00
... e cosi via la fa da 00:31 a 00:59... e poi da 00:00 a 00:30 facendo
cioè una media prima su 29 valori e poi su 31
Spero di averti spiegato bene e che sia un errore di facile soluzione.
Grazie di tutto.

Grazie di tutto.
Prego, sperando che ora la quesry ti dia i risultati desiderati.


 Prego, sperando che ora la quesry ti dia i risultati desiderati.
Si si... grazie ancora di tutto.