|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() ![]() Inscription : décembre 2009 Messages : 21 ![]() |
Bonjour,
je fais actuellement de l'analyse des correspondances multiples avec SPAD. Souhaitant utiliser SAS, j'essaie d'adapter mon analyse. Pour commencer, je souhaite 'ventiler' les modalités de certaines variables ayant de faibles effectifs. j'ai réalisé une macro censée le faire, que j'ai d'ailleurs partagée un peu vite sur le forum developpez. Elle le fait, à en juger par les tableaux croisés de vérification, mais je ne comprends pas pourquoi les modalités ne sont pas remplacées en dur dans la table... Est-ce que vous voyez l'erreur? Je ne la trouve pas... Merci de votre aide! Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() |
Bonjour,
C'est un peu compliqué ce que tu demandes. Est ce que tu peux nous fournir un jeu de donnée pour vérifier le programme? Cordialement
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
|
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() ![]() Inscription : décembre 2009 Messages : 21 ![]() |
En fait j'ai trouvé le problème, j'écrasais ma table à chaque boucle... ce qui n'aidais pas à conserver les modifications faites à la fin de la macro
![]() je ne sais pas comment supprimer le message (j'ai fait délester, mais il apparaît encore...) Merci en tout cas pour ta réponse! |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() |
Ok bon courage, tu utilises un append pour empiler les différents résultats?
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
|
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() ![]() Inscription : décembre 2009 Messages : 21 ![]() |
Euh... je suis plus touriste que professionnel en informatique comme le laisse entendre le forum... et je ne sais pas trop ce qu'est un append...
Pour mon problème, je copie la table initiale dans une autre (je ne travailles pas sur beaucoup de données) et c'est sur cette autre que je fais tourner la macro (pour conserver les données originales, au cas où je n'aurais pas de sauvegarde)! J'ai modifié le post dans le forum 'partagez vos macros' si je ne suis pas clair... C. |
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
A ce que je comprends de ton problème, ton problème vient du fait que tu effectues une boucle et les informations de l'itération précédente est écrasée par l'itération en cours.
D'où l'idée d'accumuler l'information de l'itération encours aux informations précédentes. Créer une table finale, initialement vide, puis à chaque itération mettre à jour la table finale en y ajoutant les informations de l'itération. La mise à jour peut se faire par une étape data: Code :
|
||
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() ![]() Inscription : décembre 2009 Messages : 21 ![]() |
Aaah, d'accord j'ai compris.
En fait je souhaitais initialement créer une table post-traitement de données différente de la table initiale, pour être certain de ne pas perdre les données. J'ai finalement choisi l'option: 1. copie de la table source 2. travail sur la copie, avec écriture des différentes itérations dedans. j'esaierai la proc append (que je ne connais pas)! merci |
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() ![]() |
La proc append sert à concaténer les tables, elle économise les temps de traitement.
Exemple Code :
proc append base=principale DATA=table_ajouter; run; Code :
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
|
||
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
Tout à fait d'accord, je ne suis pas étendu sur ce point vu que tarlito mentionne qu'il à peu de données et donc le temps de traitement n'est pas un problème apparemment. La proc append est plus optimisée mais ne permets pas d'effectuer des traitements supplémentaires.
Par contre, étape data ou proc append, attention à la concaténation de données lorsque la variable en question à des caractéristiques dfférentes dans les deux tables entrée. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com