IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sybase Discussion :

variance et écart-type avec 12.5 ?


Sujet :

Sybase

  1. #1
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut variance et écart-type avec 12.5 ?
    Bonjour !


    J'essaye de calculer un écart-type avec la version 12.5

    Apparement les fonctions
    Ecart type Select stddev(montant) from...
    Variance Select var(montant) from...
    Select variance(montant) from...
    ne fonctionnent pas (source : http://fadace.developpez.com/sgbdcmp/fonctions/#LV)


    J'ai donc essayé qqch du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT 
    	O.exec_qty,
    	SUM(O.exec_qty)                                           [sum nb shares], 
    	AVG(O.exec_qty)                                           [mean nb shares],
    	sqrt(AVG(power(2,O.exec_qty)) - power(2,avg(O.exec_qty))) [Ecart type] -- V(X) = E(X²) - E(X)²
    Mais j'ai un overflow, il doit avoir des soucis avec la mise au carré.



    Vous connaissez un autre moyen ?

    Merci !

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Pour éviter le overflow il faut convertir les champs en FLOAT, via convert.

    Quelque chose du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT O.exec_qty, 
    SUM(O.exec_qty) [sum nb shares], 
    AVG(O.exec_qty) [mean nb shares], 
    sqrt(AVG(power(2,O.convert(float, exec_qty))) - power(2,avg(convert(float, O.exec_qty)))) [Ecart type] -- V(X) = E(X²) - E(X)²
    devrait pouvoir marcher.

    Michael
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

  3. #3
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    Merci de ta réponse Michael.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Arithmetic overflow occurred.

    Tant pis je vais faire le calcul sous Business Object.

  4. #4
    Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Ta fonction est fausse surtout ton utilisation de POWER, voilà une solution possible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CREATE TABLE test2 (VALEUR int)
    INSERT INTO test2 (VALEUR) VALUES (1)
    INSERT INTO test2 (VALEUR) VALUES (13)
    INSERT INTO test2 (VALEUR) VALUES (15)
    INSERT INTO test2 (VALEUR) VALUES (20)
     
     
    SELECT SQRT(AVG(POWER(VALEUR-AVG(CONVERT(float,VALEUR)),2))) FROM test2
     
    Ecart type : 6.97764
    il faut faire attention a convertir en float avant de faire la moyenne de celui ci sinon le resultat retourner sera tronqué en entier.

Discussions similaires

  1. [XL-2003] Calcul écart type avec deux conditions
    Par ZHNEE dans le forum Excel
    Réponses: 2
    Dernier message: 07/04/2015, 17h32
  2. calcul moyenne et écart-type avec Eigen
    Par med.doc dans le forum C++
    Réponses: 0
    Dernier message: 29/09/2013, 15h23
  3. calcul de variance et d'écart type
    Par bidson dans le forum Firebird
    Réponses: 8
    Dernier message: 16/09/2013, 10h21
  4. Réponses: 0
    Dernier message: 05/11/2008, 17h57
  5. Calcul d'un écart type avec excel
    Par ANTMA dans le forum Excel
    Réponses: 7
    Dernier message: 27/05/2008, 17h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo