Giac231 ha scritto:
Ciao, direi che mi va bene questa definizione di wikipedia: data una distribuzione di un carattere quantitativo oppure qualitativo ordinabile, si definisce la mediana come il valore assunto dalle unità statistiche che si trovano nel mezzo della distribuzione.
O anche, mediana = 50esimo percentile.
Va benissimo la mediana come la calcola excell.
Es. La mediana del vettore sotto riportato è 60, così come calcolato in excell.
60
50
60
50
60
60
50
60
60
60
50
100
50
50
60
50
60
60
50
60
Però lo vorrei fare direttamente dentro una query di access.
grazie
Ti perdi un dato importante nell'identificazione del valore 60... proprio per il fatto che la mediana è quantitativa.
Ti accorgi che di 60 ne hai tanti... e non solo QUEL 60... ma la mediana restituisce proprio QUEL 60 individuato come INDICE n/2
Quindi dal tuo esempio la mediana è:
60
50
60
50
60
60
50
60
60
60 <----- QUESTO 60
50
100
50
50
60
50
60
60
50
60
In questa raffigurazione tu devi tener conto dell'indice della matrice e non del valore assunto dall'indice...!
Una matrice di 20 valori infatti è visualizzabile così per l'esattezza:
Indice Valore
0 60
1 50
2 60
3 50
4 60
5 60
6 50
7 60
8 60
9 60 <----- LA MEDIANA non è il 60 ma il valore assundo dall'indice MEDIANO quindi n=20--> Mediana=10--->Indice=9
10 50
11 100
12 50
13 50
14 60
15 50
16 60
17 60
18 50
19 60
Se ti è chiaro questo, ora devi ricavare la Chiave primaria del Record avente PosizioneAssoluta=Mediana e da li ricavare il valore del campo assunto, oppure scorrere il Recordset pieno ed arrivare all'indice mediano con il metodo MOVE.
Tutto questo viene sostanzialmente riproposto da questo codice, e se pensavi fosse banale ti sei sbagliato: