Lo script di test Q di Dixon non gestisce le righe nascoste/escluse (problema di stato della riga)Ciao team,
Sto utilizzando lo script JSL Dixon Q Test condiviso in questo post.
Ho notato che lo script non funziona quando le righe sono contrassegnate come Nascondi ed Escludi, che è un flusso di lavoro standard di JMP per il filtraggio dei dati.
Problema:
- Quando le righe vengono escluse, lo script genera un errore:
«"L'inserimento di un valore vuoto deve riguardare l'intera riga o colonna nell'accesso o nella valutazione di 'Assegna', yRow[del]"»
Osservazione:
- Lo script estrae tutte le righe utilizzando "Ottieni come matrice"
- Quindi tenta di rimuovere le righe escluse in seguito
- Ciò comporta una mancata corrispondenza dell'indice tra "yVal" e "yRow"
Comportamento previsto:
Lo script deve rispettare gli stati delle righe JMP (come la piattaforma di distribuzione) e operare solo sulle righe non escluse.
Soluzione alternativa:
- L'eliminazione permanente delle righe funziona
- Il subsetting delle righe visibili funziona
Tuttavia, nessuna delle due è ideale nei flussi di lavoro regolamentati in cui è preferibile l'esclusione delle righe.
Richiesta:
È possibile aggiornare questo script per gestire correttamente le righe escluse?
Allego qui degli screenshot a titolo di riferimento.
Grazie,
Automazione e scriptingOggetto: Re: Lo script di test Q di Dixon non gestisce le righe nascoste/escluse (problema di stato della riga)Modifica la riga 93 da
yRow = 1 :: N Row( yVal );
A
yRow = (1 :: N Row( yVal ))`;
Non ho verificato se i risultati siano corretti, ma almeno viene visualizzato un errore.
Oggetto: Re: Lo script di test Q di Dixon non gestisce le righe nascoste/escluse (problema di stato della riga)Ciao @jthi ,
Grazie ancora per la soluzione: ha funzionato perfettamente.
Se possibile, potresti spiegare più dettagliatamente come la trasposizione di "yRow" risolve il problema delle righe escluse? Vorrei comprendere meglio il comportamento sottostante.
Grazie in anticipo!
Saluti,
Sai Kumar
Oggetto: Re: Lo script di test Q di Dixon non gestisce le righe nascoste/escluse (problema di stato della riga)Se stampi yval e yrow, vedrai che non sono simili (a meno che tu non traspona yrow). Puoi anche usare Dim() sulle matrici per vedere come differiscono.
//:*/
show(yval,yrow);
/*:
yval = [59, 61, 55, 66, 52, 60, 61, 51, 60, 61, 56, 65, 63, 58, 59, 61, 62, 65, 63, 62, 63, 64, 65, 64, 68, 64, 69, 62, 64, 67, 65, 66, 62, 66, 65, 60, 68, 62, 68, 70];
yrow = [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40];
Poi ho semplicemente fatto una buona ipotesi basandomi sul messaggio di errore abbastanza accettabile
Inserting an empty must be to whole row or column in access or evaluation of 'Assign' , yRow[del] = /*###*/[] /*###*/
Penso che si possa fare anche senza trasporre
yRow[0, del] = [];
Guida alla programmazione > Strutture dati > Matrici negli script JSL > Indici nelle matrici

Oggetto: Re: Lo script di test Q di Dixon non gestisce le righe nascoste/escluse (problema di stato della riga)Il test Q di Dixon è disponibile come componente aggiuntivo su JMP Marketplace. Ecco come eseguirlo:
Installa il componente aggiuntivo
- Vai al Marketplace di JMP: https://marketplace.jmp.com/appdetails/Dixon+Outlier+Tests
- Scarica il componente aggiuntivo e fai doppio clic sul file per installarlo.
Nota: questo componente aggiuntivo richiede JMP 17 o versioni successive (fino a JMP 20).
Oggetto: Re: Lo script di test Q di Dixon non gestisce le righe nascoste/escluse (problema di stato della riga)Questo bug è stato scoperto quando ho modernizzato il vecchio script per creare l'estensione per il JMP Marketplace. (Grazie a @txnelson per la segnalazione!) La soluzione è esattamente quella suggerita da @jthi .