Fonctionnalité ou bug JSL ?J'ai une fonction qui repose sur le fait de savoir si une sous-chaîne d'une chaîne plus grande représente un nombre ou non, et j'utilise simplement le résultat de la commande Num() - si elle renvoie une valeur manquante, je suppose que la sous-chaîne ne représente pas un nombre. .
Cependant, un utilisateur a signalé un bug qui avait pour origine le fait que la commande Num() se contente parfaitement de n'importe quel nombre précédé du littéral "R".
Est-ce que quelqu'un est au courant de cette fonctionnalité ou d'un bug ?J'ai essayé de chercher dans l'index des scripts mais je n'arrive pas à penser à une requête bien posée pour cela.
Merci!
Print( Num( "R404" ) );
Print( Num( "R123.456" ) );
Print( Num( "r99" ) );
/*
404
123.456
.
*/
Automatisation et scriptsRe : Fonctionnalité ou bug JSL ?@Audrey_Shull
J'avais un problème avec une colonne importée en tant que caractère.
Je ne pouvais rien voir d'autre que des chiffres à l'œil nu.
Mais lorsque l'on en fait un chiffre, la plupart des valeurs disparaissent. (avec JMP 16.2 Pro)
Mais en utilisant JMP 17EA, je pouvais immédiatement passer du caractère au numérique sans que les valeurs disparaissent.
Il y a donc eu des progrès à ce niveau-là.
J'espère que cela pourra aider!
Ben
Re : Fonctionnalité ou bug JSL ?Salutations à tous. Il semble que du travail ait été effectué sur ce problème au cours de la période JMP 17. Plus précisément, un argument supplémentaire a été ajouté à Num() et Informat() pour vous aider à contrôler ce qui est considéré comme un nombre valide. Tous les utilisateurs de JMP 17 EA7 (ou version ultérieure) peuvent l'essayer dès maintenant ; d’autres devront attendre que le JMP 17 soit disponible à l’automne 2022. Merci d'avoir signalé cela ! Nous surveillons ces forums et cherchons à résoudre ce genre de problèmes lorsque cela est possible.
Re : Fonctionnalité ou bug JSL ?J'ai envoyé une note aux équipes de documentation et de développement de JMP. Merci!
Re : Fonctionnalité ou bug JSL ?La monnaie semble probable, mais je ne peux pas vraiment dire s'il s'agit d'une fonctionnalité, si c'est le cas, elle nécessite certainement une meilleure documentation à plusieurs endroits différents.Si vous avez déjà une idée de ce que représente le numéro devrait on dirait que vous feriez peut-être mieux d'écrire votre propre fonction de validation pour ces données, je trouve que cela empêche des choses comme « 1/1 » d'être interprétées comme le 1er janvier. Bien sûr, cela devient plus difficile si vous utilisez plusieurs langues.
num_validated = function({v}, {r=.},
if( //Make sure anything with odd characters is missing
is missing(regex(v,"^[0-9\.\,]+$")),
r = .,
//try to interpret everything else using 'num':
r = num( v );
);
r;
);
show(
num_validated("1"),
num_validated("1.0"),
num_validated("R1"),
num_validated("1,000")
);Re : Fonctionnalité ou bug JSL ?Je me rends compte qu'il existe de nombreux cas à surveiller - mais en particulier, je dois uniquement me soucier des caractères standard et "R" est le seul exemple ici.Dans n'importe quel autre langage de programmation, cela serait bien documenté ou considéré comme un bug (tout comportement qui n'est pas explicitement répertorié dans la documentation est un bug), mais JMP n'en est pas à ce niveau de documentation, il s'agit donc probablement simplement d'une fonctionnalité cachée.
Re : Fonctionnalité ou bug JSL ?La monnaie, peut-être. Beaucoup de cas étranges à surveiller...
num("$5")
5
num("1jan2000")
3029529600
num("5%")
0,05
asdate(num("1/1"))
01janvier2001