|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 6 ![]() |
Bonjour,
J'essaie d'automatiser un code qui permet, à partir d'une liste de variable de faire différents calculs. Dans mon cas: La table Table_Com contient une colonne age (de 0 a 120), et une colonne lx_TD contenant des valeurs associées à chaque age. Je crée 120 macros variables (lxtd1, lxtd2,...) à partir des 120 ages. Je voudrais dans un array créer des nouvelles variables à partir de ces macros variables. J'ai plusieurs calculs à faire plus ou moins simples à partir de ces 120 macros variables, par exemple je voudrais ensuite créer une variable qui dépend de deux indices différents: qi=lxtd(i+1)/lxtdi. Voila pourquoi je voudrais passer par une boucle et non pas faire 120 cas pour chaque calcul. Dans l'exemple qui suit j'essaie simplement d'attribuer à 120 nouvelles variables les 120 macros variables existantes, mais ça ne fonctionne pas. Code SAS: Code :
Voila le message d'erreur: Code :
Merci. |
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() |
Est ce que tu es sur d'avoir créer 120 macro variables?
Tu peux afficher la 118, 119 et la 120?
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
|
|
|
00
|
|
|
#3 | ||||
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 957 ![]() |
Bonjour,
Il faut indicer chacune de tes macro-variables comme suit: Code :
Mais la solution adaptée à ton pb : Code :
|
||||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 957 ![]() |
Un bon exemple pour comprendre (à partir de n dates de naissance, tu générées n ages):
Code :
|
||
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 6 ![]() |
Bonjour,
Tout d'abord merci pour vos réponses, bahraoui tu as raison j'avais mal déclaré mes macro-variables, mais même après les avoir créé mon code ne fonctionne pas. MEGAMIND j'ai utilisé call symput('age'||LEFT(_n_), age); pour créer mes macros variables comme tu me l'as indiqué, et je penses avoir compris le fonctionnement de l'array, mais je n'arrive pas à résoudre mon problème: Tout d'abord je crée 100 macro variables indicées de 1 a 100, par exemple macro1, macro2..... J'ai un tableau de 100 observations, dans lequel je veux ajouter une colonne QX contenant ces 100 macros variables. Dans ma première ligne je veux mettre ¯o1. dans la variable QX, dans la deuxième ligne ¯o2. dans la variable QX, et ainsi de suite Code :
|
||
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() ![]() |
La langage base ne contrôle pas le macro langage.
Le langage macro est exécuté avec le langage base. C'est un peu compliquer à expliquer ![]() Ci-dessous un exemple avec ce que tu veux faire Code :
__________________
Consultez les FAQs et les anciens postes avant de poser vos questions. Merci
|
||
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Ou bien
Code :
|
||
|
|
00
|
|
|
#8 | ||
|
Invité de passage
![]() Inscription : novembre 2011 Messages : 6 ![]() |
Merci j'ai maintenant mieux compris le fonctionnement de l'array.
Dans le programme que je fais je voudrais utiliser des macros dans mon array. Je veux créer une nouvelle variable qui dépend de plusieurs autres variables de ma table. Est ce que je dois créer mes macros dans mon array ou en dehors? Mon programme fonctionne mais est-ce déconseillé? D'avance merci. Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com