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

Développement SQL Server Discussion :

% des valeurs dépendant d'une colonne de sortie [2012]


Sujet :

Développement SQL Server

  1. #1
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2011
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2011
    Messages : 456
    Points : 384
    Points
    384
    Par défaut % des valeurs dépendant d'une colonne de sortie
    Bonjour

    Comment peut calculer le % d'une valeur sachant que il faut faire un count conditionné suivant une autre colonne.
    Exemple :

    Colonne X Colonne Y Colonne Z
    ABCD YYYYY ZZZZZZ
    EFGHJ Y2Y2Y2Y2 Z2Z2Z2Z2
    EFGHJ Y3Y3Y3Y3 Z3Z3Z3Z3

    puisque ABCD existe une seule fois dans la 1er colonne alors il faut diviser YYYY/YYYY=100%
    pour la 2e ligne , il faut faire Y2Y2Y2Y2/(Y2Y2Y2Y2+Y3Y3Y3Y3) = tttt % (car EFGHJ existe 2 fois)
    pour la 3e ligne , il faut faire Y3Y3Y3Y3/(Y2Y2Y2Y2+Y3Y3Y3Y3) = vvvv %

    sachant que les colonnes X et Y et Z sont les retours d'un requête SQL.
    comment il faut faire ? passer par une create view ou ???

    Merci par avance
    Bien Cordialement

  2. #2
    Invité
    Invité(e)
    Par défaut
    Qvec une sous requête, tu peux faire quelque chose dans ce goût :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ; WITH SR as (
    	select col_X , sum(col_Y) sum_col_Y
    	from dbo.ma_table
    	group by col_X
    )
    select TAB.col_X, TAB.col_Y, TAB.col_Z
    	, CASE WHEN SR.sum_col_Y = 0 THEN NULL ELSE  CAST(TAB.col_Y / SR.sum_col_Y AS DECIMAL(6,2)) END ) as Pourcentage
    from dbo.ma_table as TAB
    join SR 
    	on SR.col_X = TAB.col_X

  3. #3
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2011
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2011
    Messages : 456
    Points : 384
    Points
    384
    Par défaut
    Merci
    Problème résolu avec 2 requêtes imbriqués

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    bonjour,

    Vous pouvez utiliser les fonctions fenêtrées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT X, Y/SUM(Y) OVER(PARTITION BY X)
    FROM LaTable

  5. #5
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2011
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2011
    Messages : 456
    Points : 384
    Points
    384
    Par défaut
    Merci
    C'est plus simple avec votre requête

    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Compter des valeurs identiques sur une colonne Gridview
    Par dragoon25 dans le forum C#
    Réponses: 18
    Dernier message: 28/05/2014, 13h52
  2. Réponses: 8
    Dernier message: 26/08/2013, 18h36
  3. insertion des valeurs checkbox dans une colonne
    Par ronze dans le forum Langage
    Réponses: 0
    Dernier message: 23/06/2011, 16h33
  4. Réponses: 17
    Dernier message: 09/02/2010, 16h22
  5. Liste des valeurs contenue dans une colonne
    Par TimDe dans le forum Excel
    Réponses: 5
    Dernier message: 15/08/2008, 17h11

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