|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 2 ![]() |
Bonjour à tous,
Je veux automatiser les sorties de mes statistiques descriptives pour gagner du temps dans la rédaction de mes rapports. J'ai commencé à créer une macro avec comme paramètres ma table de données et ma liste de variables à décrire, j'utilise ensuite une macro-fonction pour calculer le nombre de mots (donc de variables) que je stocke dans une macro-variable avec un %let, mais je me heurte à un problème de taille, je ne peux pas utiliser le résultat de ma macro-variable comme valeur numérique. Et donc quand j'arrive à l'étape %do, je reste bloqué... Code :
Y-a-t'il un moyen de remédier à ce problème ou dois-je changer l'approche du problème? Merci d'avance pour les réponses apportées. |
||
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Jérémy NoëlConsultant Support Client SAS Inscription : mai 2011 Messages : 38 ![]() |
Bonjour,
Si vous créez une macro-variable, vous pouvez imposer que la sortie soit numérique avec: Code :
new=%sysfunc(input(&old,"informat numérique") Cependant lors de la création d'une macro variable, la valeur stocké est du "texte" et peut toujours être interprétée comme caractère ou comme numérique. Le problème peut venir de Cordialement, Frajen |
|
|
02
|
|
|
#3 |
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Euh Jérémy, INPUT fait précisément partie des quelques fonctions non supportées par %SYSFUNC, précisément parce qu'il n'y a pas de notion de type dans une macro-variable.
Dans le programme de Laurent, je penche aussi pour un souci avec %NBMOT. Laurent, tu peux utiliser ou quelque chose dans cet esprit. |
|
|
00
|
|
|
#4 | ||
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 012 ![]() |
Hello;
c'est ce que tu recherches ? ![]() Code :
|
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 2 ![]() |
Merci pour les réponses, avec le code:
Code :
%let nbvar=%SYSFUNC(COUNTW(&var,&delim)); Merci pour l'astuce |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com