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 :

Récupération modalité suivant une date


Sujet :

SAS Base

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2013
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Récupération modalité suivant une date
    Bonjour,

    J'ai besoin d'aide pour réaliser une macro !
    Je vous explique par un exemple ça sera plus explicite !


    Exemple :

    Plusieurs individus achète un article à une date et j'aimerai savoir combien ils ont d'argent un mois avant l'achat, au mois où ils ont acheté l'article,
    1 mois après, 2 et 3 mois après.

    Table d'origine :
    individu date_achat decembre janvier fevrier mars avril
    a février 6 4 15 16 12
    b janvier 5 10 12 18 19
    c avril 0 0 0 0 30


    Table voulu :
    individu date_achat m-1 m m+1 m+2 m+3
    a février 4 15 16 12 .
    b janvier 5 10 12 18 19
    c avril 0 30 . . .

    J'espère avoir été suffisamment claire !
    merci d'avance pour votre aide,
    bne soirée

  2. #2
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 625
    Points : 3 403
    Points
    3 403
    Par défaut
    Hello,
    Tu n'as pas besoin d'une macro, c'est un ARRAY qu'il faut utiliser.

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2013
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    ok merci, je vais plutôt mettre le message dans 'SAS Base' alors

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur en SAS/ Statisticien
    Inscrit en
    Janvier 2013
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur en SAS/ Statisticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 483
    Points : 1 552
    Points
    1 552
    Par défaut
    Citation Envoyé par doudou29 Voir le message
    j'aimerai savoir combien ils ont d'argent un mois avant l'achat, au mois où ils ont acheté l'article, 1 mois après, 2 et 3 mois après.
    Bonjour,
    Si on suit la logique de ta demande, le tableau souhaité doit avoir la forme suivant e me semble-t-il :

    Table voulu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    individu date_achat m-1 m m+1 m+2 m+3
    a février 6 4 15 16 12  
    b janvier  . 5 10 12 18 19
    c avril 0 30 . . .

  5. #5
    Futur Membre du Club
    Inscrit en
    Avril 2013
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    non le tableau doit bien avoir la forme de mon premier tableau.
    Par exemple pour l'individu a, son mois d'achat est février donc on a m=15 ;
    m-1 correspond pour cet individu à janvier donc m-1=4. ;
    m+1 correspond pour cet individu à mars donc m+1=16.

    j'espère que je suis plus claire !

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur en SAS/ Statisticien
    Inscrit en
    Janvier 2013
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur en SAS/ Statisticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 483
    Points : 1 552
    Points
    1 552
    Par défaut
    Je te propose la solution suivante à condition que les noms des variables doivent être identiques aux modalités de la variable date_achat. Par exemple (février et fevrier, août et aout ne sont pas les mêmes).

    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 decale (drop=i j w);
     set Tatable ;
     array arr(12) ;
     array   m(12) decembre janvier fevrier mars avril mai juin 
                   juillet aout septembre octobre novembre ;
     
     do i=1 to dim(m) ;
     arr(i)=. ;
     end ;
     
     do i=1 to dim(m) ;
     if date_achat=vname(m(i)) then do ; 
     
    	  do  j=i to dim(m)+1 ; w+1 ;
    	   arr(w)=m(j-1)  ; 
    	  end ;                 w=0 ;
     
    	                       end ;
     end ;
    run ;
    Ward

  7. #7
    Futur Membre du Club
    Inscrit en
    Avril 2013
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2013
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    merci beaucoup !!

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

Discussions similaires

  1. récupération de données suivant une date
    Par gilles974 dans le forum Requêtes
    Réponses: 9
    Dernier message: 14/12/2010, 17h48
  2. Macro pour imprimer un onglet different suivant une date
    Par djoumusic dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/11/2009, 20h33
  3. [XL-2003] recuperation de données suivant une date
    Par revemane dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/05/2009, 20h48
  4. [A-03] Message Alerte suivant une date
    Par chernirachid dans le forum IHM
    Réponses: 2
    Dernier message: 14/02/2009, 12h04
  5. Numérotation enregistrement suivant une date
    Par kornkiller dans le forum Access
    Réponses: 6
    Dernier message: 13/06/2006, 10h18

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