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

SAS Base Discussion :

Creation variable taux de croissance


Sujet :

SAS Base

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 13
    Points : 5
    Points
    5
    Par défaut Creation variable taux de croissance
    Bonsoir,

    Je cherches a créé une variable dans une table (composée de 3 colonnes et 155 lignes), cette dernière est la formule de taux de rendement ((indicateur année n - indicateur année n-1) / indicateur année n-1) x 100. Je rentre donc les codes suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Data country;
    Taux=(((a.recherche-b.recherche)/a.recherche)*100);
    Run;
    N.B. la table où se situe mes valuers s'appelle country et les données dont je veux le taux de croissance dans la colonne recherche.

    Cependant une fois que je fais tourner, j'ai deux messages qui s'affiche:

    Variable a is not an object

    Data step component object failure. Aborted during the compilation phase.
    Est-ce que vous savez ce que signifie ces messages d'erreur et que puis-je faire pour corriger cette erreur ? Ou est-ce vous avez une commande pour créer la variable ?

    Bonne soirée

  2. #2
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Bonjour.
    Une étape Data a besoin de données à lire. Le nom après DATA est celui de la table créée. L'instruction de lecture la plus courante est SET.
    Ensuite l'étape Data ne lit que les observations d'une ligne à la fois. Cherche du côté de la fonction LAG pour réussir ton calcul.
    Bon courage.
    Olivier

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Bonjour, merci pour votre réponse. J'ai en partie modifié mon code pour arriver à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Data country;
    Set country;
    Taux=(((recherche-(recherche-1))/recherche-1)*100);
    Run;
    Suite à quoi ma variable se crée sauf qu'elle m'affiche des valeurs tel que -99,34 par exemple. J'ai commencé à regarder la fonction lag mais je ne comprends pas vraiment comment elle fonctionne mis à part qu'elle s'utilise pour sélectionner la valeur précédente. (Je suis débutant^^)

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2019
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Suite à quelques recherche j'ai le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Data country;
    Set country; 
    Rd=lag(recherche);
    Taux=((recherche-rd)/rd)*100);
    Run;
    Mais ça ne marche toujours pas, je pense que ça vient du fait que la 1ère valeur de rd n'existe pas (il y a un point à la place), est ce correct ?

  5. #5
    Membre du Club
    Femme Profil pro
    Formatrice en SAS (en ligne)
    Inscrit en
    Mai 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Formatrice en SAS (en ligne)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2019
    Messages : 28
    Points : 46
    Points
    46
    Par défaut
    Bonjour,
    Si tu n'as pas encore trouvé la réponse, peut-être que ce petit exemple peut t'aider.
    Bien à toi
    Véronique

    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
    21
    22
    23
    24
    25
    data country;
        country='FR'; year=2018; indic=12; output;
        country='FR'; year=2019; indic=13; output;
        country='DE'; year=2018; indic=14; output;
        country='DE'; year=2019; indic=15; output;
    run;
     
    proc sort data=country;
       by country year;
    run;
     
    data country;
       set country;
       by country year;
       lag_indic=lag(indic);
       if first.country then delete;
    run;
     
    data country;
        set country;
        tx=((indic-lag_indic)/lag_indic)*100;
    run;
     
    proc print data=country;
    run;

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/09/2010, 11h16
  2. Db2 taux de croissance
    Par jean elmer dans le forum DB2
    Réponses: 0
    Dernier message: 25/03/2010, 14h09
  3. [2K8] Calculer taux de croissance et groupe
    Par skynet dans le forum SSRS
    Réponses: 0
    Dernier message: 04/03/2010, 18h26
  4. [XSLT]Problemende creation variable node set
    Par GeantVert13 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 09/10/2009, 13h26
  5. creation variables binaires avec conditions
    Par lyaka dans le forum SAS Base
    Réponses: 7
    Dernier message: 01/04/2009, 16h52

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