Power Query LOI.NORMALE.STANDARD.INVERSE.N() sur Power Query

Moss

XLDnaute Nouveau
Bonjour à tous,

J'aimerai savoir si pour probabilité donnée, il est possible de renvoyer la valeur d'une variable aléatoire suivant une loi normale standard, sur Power Query ?
Autrement dit, existe t-il une formule similaire à celle d'Excel appelée "LOI.NORMALE.STANDARD.INVERSE.N()", sur Power Query ?

Merci d'avance,
 

Dranreb

XLDnaute Barbatruc
Bonjour.
De toute façon même en Excel ni en VBA je n'utilise cette fonction pour engendrer un nombre aléatoire en distribution normale ! Pour diverses raisons c'est assez absurde de faire ainsi.
La distribution normale à partir de deux aléatoires en distribution uniforme compris entre 0 et 1 peut être donné par cette fonction perso :
VB:
Function DistrN(ByVal Rnd1 As Double, ByVal Rnd2 As Double, ByVal ÉTyp As Double, ParamArray Moy() As Variant) As Variant
   Const Pi×2 = 491701844 / 78256779
   Rnd1 = Sqr(-2 * Log(Rnd1)) * ÉTyp: Rnd2 = Rnd2 * Pi×2
   If UBound(Moy) = 1 Then
   DistrN = Array(Moy(0) + Rnd1 * Cos(Rnd2), Moy(1) + Rnd1 * Sin(Rnd2))
   Else: DistrN = Moy(0) + Rnd1 * Cos(Rnd2): End If
   End Function
Mais j'utilise aussi volontiers une autre solution tout aussi satisfaisante en pratique :
VB:
Function DistrQsN(ByVal Rnd0à1 As Double, ByVal Moyenne As Double, ByVal ÉcartType As Double) As Double
   Rem. Distribution quasi normale à part que le nombre engendré ne fuira la moyenne de plus de 4 fois l'écart type
   DistrQsN = (Rnd0à1 ^ 0.18148 - (1 - Rnd0à1) ^ 0.18148) * 4 * ÉcartType + Moyenne
   End Function
Function DistrQsNMnMx(ByVal Rnd0à1 As Double, ByVal MinI As Double, ByVal MaxI As Double) As Double
   DistrQsNMnMx = DistrQsN(Rnd0à1, (MinI + MaxI) / 2, (MaxI - MinI) / 8)
   End Function
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 422
Messages
2 109 447
Membres
110 482
dernier inscrit
ilyxxxh