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ébutez Discussion :

Création indicateurs selon table SAS


Sujet :

Débutez

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2015
    Messages : 54
    Points : 22
    Points
    22
    Par défaut Création indicateurs selon table SAS
    Bonjour,

    Je débute en SAS et j'aurais besoin d'un peu d'aide.
    J'ai besoin à partir d'une table de données "commerciales" reprenant quelques variables (nombre clients, quantités vendues, prix, etc ...) de construire des indicateurs.

    C'est à dire que j'ai besoin de faire le lien entre plusieurs variables. Autant, je sais quelles sont les formules à appliquer mais pas comment les retranscrire sous SAS (Etape DATA, Proc SQL, macro ... ?).
    Par exemple, de quelle façon puis - je calculer le chiffre d'affaire et le nombre de clients unique ?

    _______________________
    Mac_Leod

  2. #2
    Membre confirmé
    Homme Profil pro
    Consultant Finance/Assurance
    Inscrit en
    Décembre 2013
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant Finance/Assurance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 198
    Points : 638
    Points
    638
    Par défaut
    Bonjour,

    Il nous faut un morceau de ta table au moins pour pouvoir t'aider. Sans ça c'est impossible

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2015
    Messages : 54
    Points : 22
    Points
    22
    Par défaut
    J'aurais simplement voulu en connaître les étapes

    Mais voici un extrait "modifié" de ma table.

    ID Client ID Produit Quantité Prix Produit
    11 101 1 10.87
    12 101 1 10.87
    13 102 1 4.32
    13 104 1 12.99
    15 104 4 12.99
    15 103 2 1.21
    15 102 1 4.32
    17 108 2 5.76

  4. #4
    Membre confirmé
    Homme Profil pro
    Consultant Finance/Assurance
    Inscrit en
    Décembre 2013
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant Finance/Assurance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 198
    Points : 638
    Points
    638
    Par défaut
    On y voit déjà plus clair ^^ !

    J'aurais simplement voulu en connaître les étapes
    Je ne te donnes pas de code alors!

    Pour le chiffre d'affaire je supposes qu'il faut multiplier le prix produit par la quantité et faire la somme ! Tu peux via une proc SQL le coder très facilement.

    Avec une proc SQL tu peux également compter le nombre d'ID_client qui sont différents à l'aide d'une option Distinct et d'une fonction count.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2015
    Messages : 54
    Points : 22
    Points
    22
    Par défaut
    Méchant, je n'aurais pas été contre un début de code non plus :p

    Dois - je du coup enchaîner les proc sql ou bien est - ce impossible de calculer chacun de mes indicateurs à l'aide d'une seule ?
    La formule est bonne, c'est pour la retranscrire sur sas que j'ai plus de mal.

    J'avais également ces deux formules en tête mais comment dois - je les disposer ? COUNT(DISTINCT) ; DISTINCT(COUNT) ? Quels sont les paramètres dont je pourrait avoir en plus besoin ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Consultant Finance/Assurance
    Inscrit en
    Décembre 2013
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant Finance/Assurance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 198
    Points : 638
    Points
    638
    Par défaut
    Je vais être plus aimable alors avec un petit exemple ^^ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     
    data test;
    input ID_Client	ID_Produit	Quantite Prix_Produit ;
    cards;
    11 101 1 10.87
    12 101 1 10.87
    13 102 1 4.32
    13 104 1 12.99
    15 104 4 12.99
    15 103 2 1.21
    15 102 1 4.32
    17 108 2 5.76
    ;
    run;
     
    proc sql;
    select sum(quantite*prix_produit) as CA, count(distinct id_client) as nombre_client_unique
    from test;
    quit;

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2015
    Messages : 54
    Points : 22
    Points
    22
    Par défaut
    Merci bien pour cette aide, j'ai plus ou moins saisi ce qu'il me fallait.


    2 autres petites questions :

    - A partir de ces indicateurs créés, j'ai besoin d'en créer d'autres. Dois - je créer une nouvelle proc sql pour cela ? Par exemple, avec le CA et du nombre de client unique, comment dois - je faire pour calculer le CA par client ?
    - Que donnerait le code distinct(count id_client) à l'inverse de celui que vous m'avez indiqué ?

  8. #8
    Membre confirmé
    Homme Profil pro
    Consultant Finance/Assurance
    Inscrit en
    Décembre 2013
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant Finance/Assurance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 198
    Points : 638
    Points
    638
    Par défaut
    L'option distinct ne peut se mettre que juste après le select ou à l'intérieur d'une fonction. Si on le place devant le count alors ça ne marchera pas.

    Pour le CA par client tout dépend de ce que tu vaux faire. Si tu souhaites juste diviser le total par le nombre de client distinct alors la première requête suffira (celle de l'exemple en dessous). Si tu souhaites faire la somme du CA par client et donc obtenir une ligne par client alors il faudra utiliser une requête supplémentaire qui va utiliser l'option Group By :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
     
    proc sql;
    select sum(quantite*prix_produit) as CA, count( distinct id_client) as nombre_client_unique,
    	   calculated CA / calculated nombre_client_unique as ca_par_client
    from test;
     
    select sum(quantite*prix_produit) as CA_par_client
    from test
    group by Id_client;
    quit;
    Une nouvelle requête est nécessaire sinon le groupe by va s'appliquer aux autres fonctions !!

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/09/2008, 15h47
  2. Réponses: 5
    Dernier message: 01/07/2008, 14h40
  3. reconstituer une table sas selon un schéma
    Par nostress dans le forum SAS Base
    Réponses: 1
    Dernier message: 27/05/2008, 16h04
  4. Création de table SAS
    Par Ghariani dans le forum SAS Base
    Réponses: 3
    Dernier message: 18/05/2008, 18h58
  5. Probleme casse fichier texte avec création table SAS
    Par pierre24 dans le forum SAS Base
    Réponses: 4
    Dernier message: 16/05/2008, 10h52

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