|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 45 ![]() |
Bonjour;
Peut on faire une boucle SAS et parcourir les variables tout en gardant leurs noms ? çad sans passer par array, sachant que les vaiables sont de cette forme: PDT SAT L11 BIT... Merci d'avance!! |
|
|
00
|
|
|
#2 |
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 006 ![]() |
Parcourir? pour en faire quoi?
tu peux récupérer tes variables des vues dictionary (columns)SAS et tu fais ta boucle par la suite, sinon une proc contents tu récupères tes variables et tu dais une étape data _null_ avec un call symput. Tu trouvera pleins PLEINS de topic dans le forum sur ce sujet. et si tu veux qu'on t'aide, essaies de détailler un peu plus ton besoin. |
|
|
00
|
|
|
#3 | ||||
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
ça répond peut être à ton problème
Code :
Par contre si tu as déjà ta liste de variables définies au préalable Code :
|
||||
|
|
00
|
|
|
#4 | ||
|
Invité régulier
![]() Inscription : mars 2011 Messages : 45 ![]() |
J'ai essayé ta solution Brice, l'erreur suivant se produit :
Code :
|
||
|
|
00
|
|
|
#5 |
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 006 ![]() |
Bonjour,
c'est surement du à la taille de la macro variable qui ne dois malheureusement pas depassé 65534 . il faut découper ta macro variable. Genre faire deux boucles. Mais si tu parvient ton étape qui bloque on pourra peut être t'aider. |
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Bonjour,
Le fameux problème de taille ne se poserai plus avec ceci: Code :
|
||
|
|
10
|
|
|
#7 |
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Et pourquoi pas avec un array ? Pourquoi t'imposer cette contrainte ?
Reste aussi la solution d'une transposition puis d'un BY comme proposé ici : le problème de départ semblait voisin (trop de variables pour stocker leurs noms dans une seule macro-variable). D'ailleurs la demande nous venait déjà de toi et tu butais déjà sur la même limite ; Sébastien et Brice t'avaient proposé des solutions de contournement. En quoi le souci est-il différent ? |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
La seule différence avec ce poste c'est juste une division de toutes les lignes par la première, c'est peut être ça qui l'a perturbé
Il m'a eu et Sam aussi
|
|
|
00
|
|
|
#9 | |
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 006 ![]() |
Citation:
|
|
|
|
00
|
|
|
#10 | |||||
|
Invité régulier
![]() Inscription : mars 2011 Messages : 45 ![]() |
Citation:
Mais même dans la discussion que tu rappeles j'ai rencontré le même probleme des noms de variables. je t'explique: lorsqu' j'ai fait: Code :
Code :
Mais j'ai rappelé une idée de la part de Brice comme b'hab mais dans une autre discussion: c'etait lidée d'ajouter une autre variable par exemple CLE=1 et puis MERGE les deux tables, et ça marche bien Prochainement avant de poser mes questions je consulterais toutes les reponses reçues Merci . |
|||||
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Ne pose pas trop de questions sinon tu passeras plus de temps à chercher
|
|
|
00
|
|
|
#12 | ||
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Bonjour Imfafa.
Dois-je déduire de ton dernier message que finalement ce topic est résolu ? Par ailleurs, comme tu nous soumets du code, je dois te dire que je suis assez surpris par ta proc IML : elle ne fait qu'une copie de la table existante, non ? Et en plus tu perds les noms de colonnes, ce qui semble t'être un problème par la suite. Tu peux faire une copie conforme de la table avec tu conserveras tes noms de variables initiaux. Si tu veux les renommer automatiquement, le plus simple serait encore... de transposer, une fois encore ! (sinon il y aura des macros à rédiger) Une dernière chose sur ton macro-programme. Tu fais 5 boucles (et si je me souviens bien, dans ton vrai jeu de données, il y a plusieurs milliers de variables, pas juste 5) et 5 étapes DATA. En déplaçant la boucle, on peut tout faire en une seule lecture de table. Code :
Olivier |
||
|
|
00
|
|
|
#13 |
|
Invité régulier
![]() Inscription : mars 2011 Messages : 45 ![]() |
Bonjour;
J'ai fait proc IML just pour renommer automatiquement les variables; parce que je sais pas faire une boucle si j'ai pas un compteur çad en gardant les noms intiales. c' est pour cette raison etait cette question. Et bien évidement ma table contient des milliers de variables, mais just j'ai essayé avec un echantillon pour tester. @Brice: j'aime le conseil, mais si tu remontes un peu tu verra que je l'ai deja dit |
|
|
00
|
|
|
#14 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Je faisais allusion à ce méssage !
C'est pour te dire qu'au bout d'un certain temps passé sur ce forum (si t'es actif bien sûr), c'est relativement difficile de retrouver la solution à un problème précis. c'etait de l'humour! Voilà, voilou!!! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com