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 :

recodage de variable et calculs sur années adjacentes


Sujet :

SAS Base

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut recodage de variable et calculs sur années adjacentes
    Bonjour,

    Je travaille sur des données d'entreprises francaises (22319) sur une période de 12 ans mais toutes ces entreprises ne sont pas présentes sur les 12 ans. j'aimerais tout d'abord recoder tous les SIRENES en 1, 2 ,3 jusqu'a 22319 et je ne sais pas comment le faire a l'aide d'une boucle certainement mais comment comparer les sirenes? sas me dit a chaque fois que ma variable n'est pas une fonction donc je ne peux comparer l'observation i a l'observation i+1. Ensuite j'aimerais calculer un moyenne d'emplyé et de chiffre d'affaire sur deux ans pour chaque entreprise et la encore je ne sais pas comment faire. je suis neophyte en sas et j'ai beau consulter l'aide je ne trouve rien pour les boucles!
    j'ai vu sur votre site que vous aidiez beaucoup de gens, tout début de réponse est a prendre je desespere!
    merci d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Biostatisticien
    Inscrit en
    Juin 2009
    Messages
    1 206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 206
    Points : 1 868
    Points
    1 868
    Par défaut
    bonjour Antis,

    Si j'ai bien compris tu as 22319 entreprise et c'est ce qe tu appelles des sirenes. tu souhaites comparer les sirenes dc les entreprises, mais sur quel critère/ statistique? pourquoi veux tu comparer l'observation à l'observation i+1?

    pourrais-tu rééxprimer ta problématique, et un exemple de tes données en entrée?

    Merci

    Manoutz

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Oui effectivement les sirenes sont les identifiants de chacune de mes entreprises et pour chacune d'elle j'ai entre 1 et 12 observations. Tout premierement j'aimerais supprimer toutes les entreprises qui ont moins de six années de présence. j'ai pu les identifier il en a 6615 environ ( en recupreant le nombre d'observation par entreprise jai pu les identifier). Ensuite je voulais recoder les sirenes de maniere plus compatible avec une étude de panels donc SIRENE 4200054 par ex deviendrait id =1 et la suivante sirene 4200099 deviendrait id=2 etc... Ensuite pour chacune d'elle je veux calculer par ex en 2000 effectif (annee 99+ effectif année 2000)/ 2 . et cela de 96 a 2007.
    j'ai joint un exemple de la table à ce message
    merci d'avance
    Fichiers attachés Fichiers attachés

  4. #4
    Membre chevronné
    Homme Profil pro
    Biostatisticien
    Inscrit en
    Juin 2009
    Messages
    1 206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Biostatisticien
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 206
    Points : 1 868
    Points
    1 868
    Par défaut
    Je suis passé par du sql pour sélectionner les entreprises>6 valeurs, les distinctes entreprises. Ensuite la fonction lag permets de retrouver la ligne de la valeur précédente.

    Je suis parti d'un dataset de l'aide sas, je te laisse le soin d'adapter le nom des var correspondantes..


    Code SQL : 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
    proc sql;
    	create table test(where=(CNT>=6)) as
    	select *, count(*) as CNT
    	from sashelp.electric
    	group by Customer
    	;
    	create table test2 as
    	select distinct Customer
    	from test
    	;	
    	create table test3 as
    	select distinct Customer, monotonic() as NUMBSIRENE
    	from test2
    	;
    	create table test4 as 
    	select A.*, B.NUMBSIRENE
    	from TEST as A left join
    		TEST3 as B
    		on A.Customer=B.Customer
    	ORDER BY A.Customer, A.YEAR
    	;
    quit;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    data TEST5;
    	set TEST4;
    	LAGRevenue=lag(Revenue);
    	lagCustomer=lag(Customer);
    	if Customer=lagCustomer	
    		then sumRevenue=(Revenue+lagRevenue)/2;
    run;

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut merci
    pas de mot pour vous remercier...
    merci beaucoup pour tout ce que j'ai appris et pour le programme qui marche parfaitement!

Discussions similaires

  1. [Vxi3] Calcul sur année glissante
    Par BoCcool dans le forum Webi
    Réponses: 10
    Dernier message: 19/09/2012, 14h49
  2. calculs sur mes variables
    Par chadi18 dans le forum Macro
    Réponses: 1
    Dernier message: 12/12/2009, 12h35
  3. calcul sur variable interne
    Par looping dans le forum Rave
    Réponses: 2
    Dernier message: 24/11/2008, 15h07
  4. Calculs sur Variables Tableaux VBA
    Par Olivier B dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/05/2008, 10h52
  5. Réponses: 4
    Dernier message: 15/12/2002, 04h19

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