Comment faire une boucle à travers une macro variable dans le SAS

J'ai un exemple comme ceci:

proc sql;
select dealno into :deal_no 
from deal_table; 

Maintenant, je veux traverser la variable deal_no maintenant, contenant tous les dealno dans le tableau deal_table mais je ne sais pas comment le faire.

S'il vous plaît dites-nous ce que vous essayez de faire avec cela. Bien qu'il existe certainement des raisons valables pour traverser une macro variable de la liste, presque tout le temps il y a une bien meilleure solution à l'aide de données existantes étape les méthodes de programmation.
Je veux prendre une liste d'élément, puis inspecter chaque élément s'ils satisfont à une condition spécifiée.Par exemple: %macro en boucle; ---l'utilisation de la boucle ici pour récupérer des éléments dans la liste --- insérer dans la table ma_table sélectionnez * à partir de your_table où deal_id pas (point) %mend;
Si c'est ce que vous voulez faire, puis le faire en SQL, ou dans une des données de l'étape, sans la macro variable de boucle. Une boucle dans le langage de macro est presque toujours mal - c'est lent, lent, moyen de le faire. Si vous êtes juste faire de la ci-dessus une fois, puis Keith solution est le meilleur - vous fait de toutes les valeurs dans une macro variable. Si vous faites une sorte de complexe rejoignez-insertion, il peut sans aucun doute être fait soit en SQL ou de données, sans macros.
Merci pour les conseils. Je viens juste de commencer avec SAS, donc je ne sais pas beaucoup sur elle. Vous avez cité "le faire en SQL, ou dans une des données de l'étape, sans la macro variable de boucle", alors permettez-moi de voir vos solutions ? Je veux savoir les solutions de SAS les utilisateurs expérimentés
Je suis en utilisant l'approche décrite dans ma réponse quand j'ai un peu de valeurs distinctes pour effectuer une itération sur (10), et une grande quantité de travail à faire pour chacune de ces valeurs. J'en général ont une macro qui effectue un analisys pour un mois donné, et Si j'ai à faire, que les analyses pour une liste des mois que j'ai à calculer à partir de certains dataset, j'utilise cette approche.

OriginalL'auteur trisas | 2012-11-13