Salut tout le monde,
J'ai du mal à contourner Parse() en ajoutant des espaces supplémentaires car cela interfère avec l'évaluation de mon code.
J'ai un tableau de données dans lequel j'ai une colonne d'intérêt qui s'appelle quelque chose comme "AA BBBB CCC(dd)", et je fais une évaluation où je veux simuler les estimations d'un ajustement que j'ai fait. La section de code dans laquelle je fais cela est la suivante :
Eval(
Parse(
"\[report_of_interest[Number Col Box( 8 )] << Simulate(
NBSnum,
Random Seed( RSnum ),
Out( ]\"
|| YCols[1] || "\[ ),
In( :Simulated Y )
);]\"
)
);
Cela fonctionne très bien pour la plupart, mais la commande Parse() ajoute des espaces supplémentaires lorsqu'elle analyse la variable YCols[1], et lorsqu'elle le fait, la plateforme Simulate pense que la colonne n'existe pas car elle recherche un nom. avec des espaces supplémentaires. Lorsque j'évalue simplement les YCols[1], j'obtiens le nom de colonne comme ci-dessus : "AA BBBB CCC(dd)". Mais, lorsque j'analyse (YCols[1]), le code réel qu'Eval() exécute ensuite utilise une colonne avec un nom qui ressemble à ceci : "AA BBBB CCC( d - d )", qui n'est pas la bonne colonne. nom car Parse() met des espaces supplémentaires entre les parenthèses et la lettre "d", ainsi que des espaces supplémentaires autour du caractère tiret "-". Voici le résultat du journal intégré lorsque j'exécute uniquement la partie Parse() du code ci-dessus :
report_of_interest[Number Col Box( 8 )] << Simuler(
NBSnum,
Graine aléatoire (RSnum),
Sortie (AA BBB CCC (d - d)),
Dans( :Y simulé)
)
Existe-t-il un moyen de contourner ce problème, ou un autre moyen de créer la chaîne à analyser sans ajouter d'espaces supplémentaires ?
J'ai même essayé la méthode suivante pour créer la chaîne à analyser, mais cela conduit également la plate-forme Simulate à rechercher un nom de colonne avec des espaces supplémentaires.
str = Eval Insert(
"report_of_interest[Number Col Box( 8 )] << Simulate(
NBSnum,
Random Seed( RSnum ),
Out("
);
str2 = Eval Insert( " ),
:Simulated Y )
)" );
Eval( Parse( str || ":" || Char( Eval( YCols )[1] ) || str2 ) );Je sais que JSL ne se soucie pas des espaces blancs supplémentaires, mais JMP s'en soucie en ce qui concerne les noms de colonnes.
Toutes les pensées/idées sont très appréciées.
Merci!,
DS