Nel tentativo di impostare la larghezza di visualizzazione di una colonna in JSL utilizzando JMP 16.2.0 (MacOS), sto riscontrando diversi problemi che non ho riscontrato con JMP 15.
1. Il Imposta larghezza di visualizzazione la funzione sembra funzionare in due modalità, a seconda di come viene utilizzata. Se viene chiamato con un valore arg codificato, sembra essere permanente.
col = Column("SN");
col << Set Display Width( 200 );Tuttavia, se viene chiamato con una var arg, viene visualizzato come desiderato, ma non sembra essere salvato con il file. (O, almeno, non salvato come previsto.)
x = 100;
col << Set Display Width( x );
In quest'ultimo caso, se il file viene salvato e poi riaperto, esegue il rendering con larghezza 200, (presumibilmente, per aver eseguito il codice precedente). Quindi il 200 persiste attraverso un file-save-close-and-reopen, ma il 100 no.
Ancora più stranamente, se apro la tabella con JMP 15, rende la larghezza come 100 (e un y = col << Ottieni larghezza di visualizzazione() le istruzioni lo confermano). Ma poi tornando indietro e aprendo con JMP 16 si ottiene una larghezza di 200. Ciò suggerisce che, in effetti, entrambi i valori vengono salvati con il file e JMP ha aggiunto una nuova modalità all'attributo della larghezza della colonna in JMP 16. Per riferimento, il file allegato mostra il problema.
2. Se il Imposta larghezza di visualizzazione() function è l'ultima funzione nello script JSL e utilizza un argomento variabile, manifesta a scrivibile[] errore e l'operazione non sembra aver luogo. Tuttavia, se viene fornito un valore codificato, tutto sembra funzionare correttamente (e il valore impostato viene visualizzato nel registro). C'è forse un nuovo requisito di sintassi per questa funzione o per le terminazioni di script JSL per JMP 16? Noto che questo comportamento non si verifica con JMP 15.
3. Un po' non correlato, ma scoperto quando si cerca di capire questo, con JMP 16, una stringa con un carattere di nuova riga sembra richiedere almeno un altro carattere non di spazi bianchi, altrimenti sembra essere ignorata. Non sono sicuro se si tratta di una modifica del design o di una svista SQA.
col << Set Display Width( 200 );
y = col << Get Display Width();
Show(y); Write("\!n");
Write("---");
x=100;
col << Set Display Width( x );
y = col << Get Display Width();
Show(y);Produzione:
y = 200;---
y = 200;
Se, ad esempio, viene aggiunto un punto davanti alla nuova riga nella stringa, ".\!n" , viene riconosciuta la nuova riga:
y = 200;.
---
y = 200;
Ciao @Steve Terry - Sembra che <
Eval(EvalExpr(col << Set Display Width( Expr(x) )));
Cercheremo di correggere la valutazione in una versione futura.
Per il problema della nuova riga, suggerirei di provare "\!N" anziché "\!n".Il primo inserirà un'interruzione di riga che dipende dall'ambiente host, mentre il secondo è un carattere specifico di "nuova riga".Il tuo esempio sul mio Mac sembra funzionare senza la modifica, ma non sono sicuro che ciò possa dipendere dalle impostazioni di sistema.
Grazie per la soluzione alternativa, @danschikore . Sul solitario problema "\!n", "\!N" non ha fatto la differenza -- (e "\!n" ha sempre funzionato bene su un Mac). Anche un collega ha confermato questo comportamento (il 16.1). Qual è il modo migliore per segnalarlo al team JMP?
Ciao @SteveTerry , segnala il problema della nuova riga a support@jmp.com . Non so perché non ho riscontrato il problema sul mio Mac, ma potrebbero essere in grado di eseguire alcuni test aggiuntivi e creare un problema che lo sviluppo può monitorare se necessario.