|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre actif
![]() Inscription : avril 2008 Messages : 526 ![]() |
Salut,
Je dispose d'une matrice de taille 4*2 qui s'appelle couple. J'ai construit 4 vecteur G1-G4 initialisé chacun à 1 éléments. J'ai defini une macro variable ind: %let ind=couple[1,3] qui va donc contenir une valeur particulière de la matrice; Je voudrais savoir pourquoi la commande: print G&ind. ne marche pas? Merci. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() |
Est ce que tu utilises ton code dans une macro?
%let ind=couple[1,3] => affectation d'une chaine de caractère à la macro variable. pour afficher une macro variable, il faut utiliser un %put. |
|
|
00
|
|
|
#3 | ||
|
Membre confirmé
![]() Inscription : avril 2008 Messages : 233 ![]() |
Voici un exemple simplifié d'utilisation de référence indirect des variables macros :
Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Inscription : avril 2008 Messages : 526 ![]() |
Ok pour le %put et oui je travaille dans une macro.
Cependant, c'est l'utilisation de la commande G&ind. qui pose problème. Je vois que je n'arrive à récuperer que G.couple[1,3] alors que je voudrais récupérer le contenu de couple[1,3] cad par exemple G1 si couple[1,3]=1; Merci. |
|
|
00
|
|
|
#5 | ||
|
Membre Expert
![]() ![]() |
Tu ne peux pas utiliser les indices i,j pour accéder à des valeurs dans une étape data ou dans des macros (à l'exception de l'iml qui permet cela).
couple c'est un tableau? si oui Une manière d'accéder à la valeur que tu cherches Code :
|
||
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() |
%let ind=couple[1,3]
Cette syntaxe ne te permet d'extraire la valeur de la cellule du tableau. C'est tout simplement une affectation de la chaine couple[1,3] à la macro variable ind. |
|
|
00
|
|
|
#7 |
|
Membre actif
![]() Inscription : avril 2008 Messages : 526 ![]() |
Oui couple c'est une matrice c'est pour cela que j'utilise les indices mais quand je fait %put G&.ind1. ou &G&ind1. ou &G&ind1.. je n'arrive pas à récuperer la valeur de la matrice et je voudrais savoir comment faire.
|
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() ![]() |
De cette manière tu crées les macros variables que tu souhaites.
Code :
|
||
|
|
00
|
|
|
#9 |
|
Membre actif
![]() Inscription : avril 2008 Messages : 526 ![]() |
Le problème c'est que je suis dans une proc iml et je ne peux pas introduire d'étape data.
Il faudrait que je puisse récupérer la valeur de la matrice et qu'il ne la considère plus comme une chaine de charactères. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com