Bonjour,
Je cherche à créer un table avec un nom variable en fonction d'une variable qui est aussi dans la clause where.
Le soucis dans la clause where je dois encadrer la variable avec des ' par contre dans le nom de la table il ne me faut pas les '. Du coup j'ai créé 2 variables une avec les ' l'autre sans. Quand j'affiche le contenu des variables c'est bon par contre quand je les utilise j'ai un message d'erreur
J'ai le message d'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 rsubmit ; %let code_remise = RPF005 ; %put Valeur du code &code_remise. ; %let filtre_code_remise = %nrstr(%')&code_remise.%nrstr(%'); %put Valeur du filtre &filtre_code_remise. ; data remise_&code_remise. ; set table_source (where =(discount_plan_key = &filtre_code_remise. )) ; run ; endrsubmit ;
C'est comme toujours les histoires de caractères spéciaux161 %let code_remise = RPF005 ;
162 %put Valeur du code &code_remise. ;
Valeur du code RPF005
163 %let filtre_code_remise = %nrstr(%')&code_remise.%nrstr(%');
164 %put Valeur du filtre &filtre_code_remise. ;
Valeur du filtre 'RPF005'
165
166 data remise_&code_remise. ;
167 set table_source (where =(discount_plan_key = &filtre_code_remise.
167! )) ;
-
22
76
ERROR: Erreur de syntaxe détectée lors de l'analyse de la clause WHERE.
ERROR 22-322: Erreur de syntaxe ; syntaxe requise : un nom, une chaîne entre guillemets,
une constante numérique, une constante date temps, une valeur manquante, (, *, +,
-, :, INPUT, NOT, PUT, ^, ~.
ERROR 76-322: Erreur de syntaxe ; l'instruction sera ignorée.
168 run ;
D'avance merci
Partager