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 valeur 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 :
Public Function XPercentile(FName As String, _
TName As String, _
X As Double) _
As Double
XPercentile = DMin(FName, TName, _
"DCount(""*"", """ & TName & """, """ & FName & _
"<="" & [" & FName & " ]) >= " & _
X * DCount("*", TName))
End Function
Prendre note que j'ai supposé qu'il n'y a pas de valeurs "Null".