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 :

Trouver la valeur la plus petite (parmi des variables différentes)


Sujet :

Débutez

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 18
    Points : 22
    Points
    22
    Par défaut Trouver la valeur la plus petite (parmi des variables différentes)
    Bonjour à tous,

    Je voudrais créer une variable qui me rend la date la plus petite parmi 3 variables contenant des dates.

    Ma base est ainsi :

    Indent CD_MARIE1 CD_MARIE2 CD_MARIE3
    1 1948 1960
    2 1952 1960
    3 1929
    4 1950

    Donc ce que je souhaite est une variable qui rend l'information suivante :

    Ident datepluspetite
    1 1948
    2 1952
    3 1929
    4 1950

    J'ai essayé avec ce programme mais cela ne semble pas marcher.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    DATA MAR1; 
    set mar; 
    keep CD_MARIE1 CD_MARIE2 CD_MARIE3  ident; 
    array dd (6) CD_MARIE1 CD_MARIE2 CD_MARIE3 ; 
    array Max (6);
    do n=1 to 6;
    if Max(n)=smallest(n, of CD_MARIE1-CD_MARIE3); 
    end ;
    run;
    Sas indique cette note

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "NOTE: The array Max has the same name as a SAS-supplied or user-defined function.  Parentheses following this name are treated as array references and not function references".
    Pourriez-vous m'aider ?

    Je vous remercie

    j'espère d'avoir été claire (c'est mon deuxième message sur ce forum).

    Merci à tous
    Valesole

  2. #2
    Membre éprouvé
    Avatar de m.brahim
    Homme Profil pro
    SAS / BIG DATA
    Inscrit en
    Juillet 2011
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : SAS / BIG DATA
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 461
    Points : 1 119
    Points
    1 119
    Billets dans le blog
    14
    Par défaut
    Bonjour,

    Je te propose cette solution:

    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
    data test1;
    input Indent CD_MARIE1 CD_MARIE2 CD_MARIE3;
    cards;
    1 1948 1960 .
    2 1952 1960 .
    3 1929 . .
    4 1950 . .
    ; 
    run;
     
    data test2 (keep=indent min);
    set test1;
    array vars(3) CD_MARIE:;
    min=min(of vars(*));
    run;
    Cordialement

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 18
    Points : 22
    Points
    22
    Par défaut
    Merci beaucoup pour votre aide !

    Je vous souhaite une très bonne année

  4. #4
    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
    Le ARRAY n'a aucun sens ici.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    data test3 (keep=indent min);
    set test1;
    min=min(of CD_MARIE:);
    run;

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

Discussions similaires

  1. trouver la valeur la plus élevée dans un tableau
    Par denis.ws dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 16/05/2008, 08h43
  2. Selection d'une Valeur si plus petite
    Par Jimy6000 dans le forum Excel
    Réponses: 2
    Dernier message: 15/02/2008, 13h17
  3. Recherches de valeurs max parmi des variables
    Par pyratos dans le forum SQL
    Réponses: 3
    Dernier message: 25/06/2007, 10h53
  4. c++ valeur la plus grande parmis les valeurs dun tableau
    Par corseb-delete dans le forum C++
    Réponses: 19
    Dernier message: 14/12/2006, 23h14
  5. Réponses: 4
    Dernier message: 29/05/2006, 14h04

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