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 :

Déplacer des valeurs d'une rangé à une autre


Sujet :

SAS Base

  1. #1
    Invité
    Invité(e)
    Par défaut Déplacer des valeurs d'une rangé à une autre
    Bonjour à tous,

    mon problème est le suivant. La variable écrite en lettre dans la colonne 'Nom_utilisateur' doit aller dans la colonne 'réponse'. Ensuite, les deux valeurs sous le mot en lettre doivent aller dans les colonnes 'résultat' et 'sur', respectivement. Notons que les variables 'nom_utilisateur' et 'prénom' peuvent être suprimé après et qu'en réalité il y a d'autres valeurs dans les colonnes 'réponse' 'résulat' et 'sur'.
    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
    26
    27
    28
    29
    30
    31
     
    test	Session	Ordre	Partie	Campus	ID	Nom_utilisateur	Prénom	No       No_Q  	Type_Q  réponse	Résultat	Sur
    2	Prin14	1	1	E	5057			1				
    2	Prin14	2	1	E	5057				1	RM	0.75	1
    2	Prin14	3	1	E	5057				1	RM	0.75	1
    2	Prin14	4	1	E	5057				1	RM	0.75	1
    2	Prin14	5	1	E	5057				1	RM	0.75	1
    2	Prin14	6	1	E	5057			1			0.75	1
    2	Prin14	7	1	E	5057			2				
    2	Prin14	8	1	E	5057				2	TRO	0	2
    2	Prin14	9	1	E	5057				3	TRO	0	2
    2	Prin14	10	1	E	5057			2			0	4
    2	Prin14	11	1	E	5057			3				
    2	Prin14	12	1	E	5057				4	APP		
    2	Prin14	13	1	E		un nom						
    2	Prin14	14	1	E		0	2					
    2	Prin14	15	1	E	5057				4	APP		
    2	Prin14	16	1	E		un verbe						
    2	Prin14	17	1	E		0	2					
    2	Prin14	18	1	E	5057				4	APP		
    2	Prin14	19	1	E		un adjectif						
    2	Prin14	20	1	E		0	2					
    2	Prin14	21	1	E	5057				5	TRO	0	2
    2	Prin14	22	1	E	5057			3			0	4
    2	Prin14	23	1	E	5057			4				
    2	Prin14	24	1	E	5057				6	TRO	0.67	1
    2	Prin14	25	1	E	5057				6	TRO	0.67	1
    2	Prin14	26	1	E	5057				6	TRO	0.67	1
    2	Prin14	27	1	E	5057				7	CM	1	1
    2	Prin14	28	1	E	5057				7	CM	1	1
    2	Prin14	29	1	E	5057				7	CM	1	1
    Merci d'avance pour votre aide.
    Dernière modification par fafabzh6 ; 13/11/2014 à 15h27. Motif: Déplacement Communauté->Base=>MP

  2. #2
    Membre éclairé
    Homme Profil pro
    responsable adjoint service stat
    Inscrit en
    Mars 2009
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : responsable adjoint service stat
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2009
    Messages : 448
    Points : 823
    Points
    823
    Par défaut
    Voilà ce que je peux te proposer, à partir de ma compréhension de ton énoncé

    1/ Version SAS simplifiée de ton exemple de données
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    data test ;
        ordre = 1 ; ID = 5057 ; nom_utilisateur = "     " ; prenom = "     " ; reponse = "RM   " ; resultat = 0 ; sur = 2 ; output ; 
        ordre = 2 ; ID = 5057 ; nom_utilisateur = "     " ; prenom = "     " ; reponse = "TRO  " ; resultat = 0 ; sur = 2 ; output ; 
        ordre = 3 ; ID = .    ; nom_utilisateur = "nom1 " ; prenom = "     " ; reponse = "     " ; resultat = . ; sur = . ; output ; 
        ordre = 4 ; ID = .    ; nom_utilisateur = "1    " ; prenom = "3    " ; reponse = "     " ; resultat = . ; sur = . ; output ; 
        ordre = 5 ; ID = 5057 ; nom_utilisateur = "     " ; prenom = "     " ; reponse = "APP  " ; resultat = 0 ; sur = 2 ; output ; 
    run ;
    --> Si ça ne correspond pas à tes données, je t'invite à proposer tes données sous un format directement exploitable par ceux qui veulent t'aider

    2/ Solution, basée sur le "retain" (pour retenir une info d'une lisgne sur l'autre), la fonction missing (car il semble qu'ID soit manquant quand tu es sur ton cas spécifique et que le prénom soit manquant sur la première des 2 lignes pour ton cas spécifique) et l'output pour contrôler quand on produit une ligne en sortie :
    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
     
    data test2 (drop = reponse_nom_utilisateur nom_utilisateur prenom) ;
        set test ;
        retain reponse_nom_utilisateur ;
        if not missing (ID) 
            then output ;
            else do ;
                if missing (prenom)
                    then reponse_nom_utilisateur = nom_utilisateur;
                    else do ;
                        reponse  = reponse_nom_utilisateur ;    
                        resultat = input(nom_utilisateur, 8.) ;
                        sur      = input(prenom, 8.) ;
                        output ;
                    end ; 
            end ;
    run ;
    Résultat en sortie :
    Obs ordre ID reponse resultat sur

    1 1 5057 RM 0 2
    2 2 5057 TRO 0 2
    3 4 . nom1 1 3
    4 5 5057 APP 0 2

  3. #3
    Invité
    Invité(e)
    Par défaut
    Un grand merci pour ton temps ça marche parfaitement avec quelques petits ajustements.

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

Discussions similaires

  1. Afficher des valeurs en fonction d'une autre valeur
    Par flobos dans le forum Access
    Réponses: 2
    Dernier message: 15/06/2015, 09h03
  2. [XL-2010] Rechercher des valeurs en fonction d'une autre valeur
    Par benadry dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/02/2015, 17h10
  3. [PHPExcel] Récupération des valeurs via liaison vers une autre feuille
    Par thbmath dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 05/12/2012, 22h41
  4. [XL-97] Copie capricieuse des valeurs d'un range vers une autre feuille
    Par Michel Delapouaitte dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 24/04/2009, 10h34
  5. Déplacer des valeurs depuis une feuille dans une autre
    Par michou iut dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/04/2009, 17h13

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