J'ai besoin d'utiliser la loi normale et son inverse pour le calcul d'un taux (une expression) dans un bloc pl/sql.
Existe t'il une fonction loi normale et loi normale inverse sous Oracle?
Sinon existe t'il des algorithmes en pl/sql ou sql?
merci.
Discussion :
J'ai besoin d'utiliser la loi normale et son inverse pour le calcul d'un taux (une expression) dans un bloc pl/sql.
Existe t'il une fonction loi normale et loi normale inverse sous Oracle?
Sinon existe t'il des algorithmes en pl/sql ou sql?
merci.








Oracle fourni tout un ensemble de fonctions pour faire de la statistic et des probabilités .
LA plupart commence par le prefixe STATS_*
ex : STATS_BINOMIAL_TEST(), STATS_T_TEST_ONE(),....
SInon tu a aussi les commandes , STDDEV(),STDDEV_POP(), STDDEV_SAMP().
Je te conseille de regarder dans la doc officielle ,SQL Reference, pour avoir plus d'information sur ces fonctions.
oui merci mais il n'y a pas de fonction qui calcul la loi normale...








Bonjour,
j'ai eut également cette problématique à résoudre, il y a quelques années.
Pour ma part, j'ai implémenté ma propre solution en chargeant dans une table des séries de données que j'avais généré avec excel tout simplement.
Je te livre les sources que j'ai pu retrouver :
1/ script de création de la table LOI_NORMALE_TABULE
2/ les fichiers txt contenant les séries en pièces jointes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CREATE TABLE LOI_NORMALE_TABULE( NORMT_Z NUMBER NOT NULL, NORMT_P NUMBER NOT NULL, CONSTRAINT PK_LOI_NORMALE_TABULE PRIMARY KEY (NORMT_Z) );
3/ le fichier de controle pour charger tes datas
4/ la commande SQL*Loader qui va bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 LOAD DATA INFILE "C:\LOI_NORMALE_TABULE.txt" BADFILE "C:\bad.bad" DISCARDFILE "C:\discard.dsc" REPLACE INTO TABLE LOI_NORMALE FIELDS TERMINATED BY ";" OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS (NORM_Z,NORM_FX)
reste à te faire une tite function PL qui va bien....
Code : Sélectionner tout - Visualiser dans une fenêtre à part sqlldr userid=xxxx/xxxxx@mysid control='C:\LOI_NORMALE_TABULE.CTL'
J'espère que cela a pu t'aider
@
Partager