Home
Home

--- Soumis par Michel Walsh ---

Quartiles, Percentiles

Si on défini le x-percentile comme étant la valeur pour laquelle x pourcent de la population est inférieure ou égale à la dite valeur, alors on peut trouver cette valeurs en utilisant les fonctions Dxxx mises à notre disposition.

DCount("*", "tableName", "Field<=" & [Field] )

est une façon de calculer le rang de la valeur, parmi l'échantillon, et puisque la taille de l'échantillon est de N, N=DCount("*", "TableName"), il ne nous reste qu'à opérer un minimum sur la condition que le rang doit être supérieur ou égal à x * N :

' ***************Code start**************
Public Function XPercentile(FName As String, _
                                    TName As String, _
                                    X As Double) _
                                    As Double
'   FName = Nom du champ
'   TName = Nom de la table
'   x = percentile décimal (0.68 for 68%)

'   Retourne la valeur minimale pour laquelle
'   x% des valeurs y sont inférieures ou égales

    XPercentile = DMin(FName, TName, _
                "DCount(""*"", """ & TName & """, """ & FName & _
             "<="" & [" & FName & " ]) >= " & _
             X * DCount("*", TName))
End Function
' ***************Code start**************

Prendre note que j'ai supposé qu'il n'y a pas de valeurs "Null".