Annonce

Bienvenue sur le site support de mes ouvrages d'introduction à SAS

La 4ème édition de mon ouvrage est disponible depuis le 11 avril 2019 !

Où trouver cet ouvrage ?


#1 06-02-2013 16:47:25

SAS-SR
Administrateur
Lieu: Université d'Orléans
Date d'inscription: 01-09-2008
Site web

[archive] Recoder sans trier (et sans fusion...)

Il m’arrive le week end, quand je ne sais pas trop quoi faire, d’aller sur le forum SAS de développer.com pour répondre à des questions qui n’ont pas reçu de réponses.

Le 23 janvier dernier, ça a été le cas :

http://www.developpez.net/forums/d13009 … der-trier/

Le problème posé par ibri42 est amusant. Il dispose d’une table énorme, impossible à trier mais il souhaite pouvoir mettre à jour les modalités d’une variable appelée CODE au moyen d’une table contenant les correspondances entre anciens codes et nouveaux codes.

Je lui donne une piste mais j’ai dû être trop évasif parce qu’il me demande de préciser (rassurez vous, je le contacterai dans quelques minutes pour lui donner la solution). En attendant, aidé par mes explications nébuleuses, pouvez-vous rédiger le programme qui va permettre, sans aucun tri (et donc sans MERGE – ni fusion au moyen de PROC SQL…) d’effectuer cette mise à jour des modalités de la variable CODE ?

Il s’agit donc de trouver la programmation la plus économe en ressources…

Imaginons que cette première table construite par le programme suivant est la table énorme impossible à trier :

Code:

data enorme;
input code $ valeur;
cards;
AAA1 1
CCD2 2
AAB1 3
CCD2 4
AAA0 5
CCD2 6
AAA1 7
;

Imaginons maintenant que la seconde table vous donne les correspondances entre anciennes modalités de code (CODE) et nouvelles modalités de code (NCODE) :

Code:

data modifcode;
input code $ ncode $;
cards;
AAA1   OOOO
ZZZ2   PPPP
AAB1   ZZZZ
AAA0   RRRR
CCD2   SSSS
;

Amusez vous bien ;-)

Ce sujet est maintenant archivé - seuls les utilisateurs inscrits de www.sas-sr.com peuvent consulter l'intégralité du sujet et les programmes qui répondent à la question posée.
pour vous identifier, suivez ce lien
pour vous inscrire, suivez ce lien

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB
Traduction par FluxBB.fr
Flux RSS