Funzionalità o bug JSL?Ho una funzione che si basa sulla conoscenza se una sottostringa di una stringa più grande rappresenta un numero o meno e utilizzo semplicemente il risultato del comando Num() -- se restituisce un valore mancante presumo che la sottostringa non rappresenti un numero .
Tuttavia, un utente ha segnalato un bug che aveva come causa principale il fatto che il comando Num() è perfettamente soddisfatto di qualsiasi numero preceduto dalla lettera "R".
Qualcuno è a conoscenza di questa funzionalità o bug?Ho provato a cercare nell'indice degli script ma non riesco a pensare a una query ben posta per questo.
Grazie!
Print( Num( "R404" ) );
Print( Num( "R123.456" ) );
Print( Num( "r99" ) );
/*
404
123.456
.
*/
Automazione e scriptingRi: Funzionalità o bug JSL?@Audrey_Shull
Stavo riscontrando un problema con una colonna importata come carattere.
Non potevo vedere nulla che non fosse numerico a occhio.
Ma quando lo si rende numerico, la maggior parte dei valori scompare. (con JMP 16.2 Pro)
Ma utilizzando JMP 17EA ho potuto trasformarmi immediatamente da carattere a numerico senza che i valori scomparissero.
Quindi ci sono stati dei progressi lì.
Spero che aiuti!
Ben
Ri: Funzionalità o bug JSL?Saluti a tutti. Sembra che sia stato svolto del lavoro per questo problema nell'intervallo di tempo di JMP 17. Nello specifico, è stato aggiunto un ulteriore argomento a Num() e Informat() per aiutarti a controllare cosa è considerato un numero valido. Tutti gli utenti di JMP 17 EA7 (o versioni successive) possono provarlo ora; altri dovranno attendere fino a quando JMP 17 sarà disponibile nell’autunno del 2022. Grazie per aver segnalato questo! Monitoriamo questi forum e cerchiamo di risolvere cose come questa quando possibile.
Ri: Funzionalità o bug JSL?Ho inviato una nota ai team di documentazione e sviluppo di JMP. Grazie!
Ri: Funzionalità o bug JSL?La valuta sembra probabile, ma non posso davvero dire se questa sia una caratteristica, se lo è sicuramente necessita di una migliore documentazione in diversi posti.Se hai già un'idea di quale sia il numero Dovrebbe sembra che anche se sarebbe meglio scrivere la propria funzione di convalida per tali dati, trovo che ciò impedisca che cose come "1/1" vengano interpretate come 1 gennaio. Ovviamente questo diventa più difficile se hai a che fare con più lingue.
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")
);Ri: Funzionalità o bug JSL?Mi rendo conto che ci sono molti casi a cui prestare attenzione, ma in particolare devo preoccuparmi solo dei caratteri standard e "R" è l'unico esempio qui.In qualsiasi altro linguaggio di programmazione questo sarebbe ben documentato o considerato un bug (qualsiasi comportamento non esplicitamente elencato nella documentazione è un bug), ma JMP non è a quel livello di documentazione, quindi probabilmente è solo una funzionalità nascosta.
Ri: Funzionalità o bug JSL?Valuta, forse. Ci sono un sacco di casi strani a cui prestare attenzione...
numero("$5")
5
numero("1 gennaio 2000")
3029529600
numero("5%")
0,05
asdata(num("1/1"))
01 gennaio 2001