|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Xavier Chargé d'Etudes Statistiques Inscription : février 2009 Messages : 39 ![]() |
Bonjour,
Je souhaite renommer des variables dans une table. J'ai une table avec 46 variables toutes nommées ainsi : Arbo_1 Arbo_2 Arbo_3 ...etc... J'ai une table de référence WORK.VAR_ARBO avec ces indicateurs : NUM / NOM Par exemple : NUM / NOM 1 / LIVRES 2 / BD 3 / DVD Je voudrais que les variables de ma table de départ passent de : Arbo_1 à LIVRES Arbo_2 à BD Arbo_3 à DVD Le NUM correspond au chiffre associé à Arbo_i... Avez vous une solution efficace ? Merci par avance ! |
|
|
00
|
|
|
#2 |
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 006 ![]() |
Bonjour;
si tu veux renommer tes variables avec des espaces , saches que c'est impossible sous sas (Arbo_1 à LIVRES) et les caractères accentués non supporté. veux tu un résultat comme suite : Arbo_1_a_LIVRES? |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Xavier Chargé d'Etudes Statistiques Inscription : février 2009 Messages : 39 ![]() |
Je me suis un peu mal exprimé...
les variables de ma table de départ sont : Arbo_1 Arbo_2 Arbo_3 et je souhaite que ma table de sortie soit avec les variables renommées ainsi : LIVRES BD DVD Merci |
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() ![]() |
Bonjour,
voici une première version à améliorer. penser à vérifier que le nombre de valeurs dans le referentiel est égale au nombre de variables dans la table... Code :
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
|
||
|
|
10
|
|
|
#5 | ||
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
ce que je ferais , c'est créer une table ou chaque ligne fait corresponde les éléments que tu veux associer.
ex:ligne 1, colonne 1:Arbo_1 ligne 1 , colonne 2: LIVRES A partir de la je créerais une nouvelle colonne, qui spécifierait sous forme d'une chaine de caractère le rename: ligne 1 , colonne 3: Arbo_1=LIVRES. ensuite par une proc sql tu peux sélectionner tes 46 lignes et stocker dans une macro: Code :
|
||
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Xavier Chargé d'Etudes Statistiques Inscription : février 2009 Messages : 39 ![]() |
SUPER !
Merci, c'est parfait, c'est exactement ce que je voulais avoir ! |
|
|
00
|
|
|
#7 | |||||
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Citation:
Ce que j'aurais fait moi pour automatiser complétement le travail Code :
Code :
|
|||||
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() ![]() |
Lire une table juste pour renommer les variables n'est pas une solution optimisée....
Elle nécessite la lecture et l'écriture de la table. Alors qu'avec une proc datasets ou une proc sql (alter table), on travail directement sur le descripteur du fichier.
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
|
|
|
00
|
|
|
#9 | |||
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Citation:
![]() Code :
|
|||
|
|
00
|
|
|
#10 | ||
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
Il y encore plus simple je pense. Tout peut se faire en une sql, pas besoin de boucler.
Code :
Puis modifier le nom de variable via un rename en entrée dans l'étape/procédure suivante. |
||
|
|
00
|
|
|
#11 | |||||
|
Membre Expert
![]() ![]() |
Citation:
Les nouvelles variables se trouve dans une variable d'une table. Code :
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
|
|||||
|
|
00
|
|
|
#12 | |||||
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Citation:
Code :
|
|||||
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() ![]() |
comme ça c'est mieux, la solution répond au besoins du client
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
|
|
|
00
|
|
|
#14 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
|
|
|
00
|
|
|
#15 | |||
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
Citation:
Voici comment tout gérer en une proc sql Code :
proc contents et datasets sont inutiles (enfin, non optimales). Reste plus renommer au début de l'étape suivante (c'est même peut être gérable au sein de la sql via un alter table ou un modify...) |
|||
|
|
00
|
|
|
#16 | ||
|
Membre habitué
![]() Géraldine CADE DESCHAMPSSupport Clients SAS (France et Europe) Inscription : février 2010 Messages : 62 ![]() |
Bonjour,
Cette problématique est un excellent candidat pour le CALL EXECUTE ! Surtout si l'on ne connait pas le macro-langage. Le tour est joué en 6 lignes de code. Pour ma part je propose donc ceci : Code :
J'ai écrit un article à ce sujet il y a quelques années si quelqu'un souhaite aller plus loin : http://www.sas.com/offices/europe/fr...port_14_bd.pdf Géraldine CADE-DESCHAMPS Support Clients SAS |
||
|
|
10
|
Copyright © 2000-2012 - www.developpez.com