CIAO,
Ho appena rilevato 2 bug fastidiosi in Tabelle/Riepilogo.
Uno di questi può anche essere utilizzato per far crashare JMP su qualsiasi PC (!!!)
Bug 1) Leggi questo codice e prevedi cosa farà Jmp:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Summary(
Local Data Filter( Add Filter( columns( :sex ), Where( :sex == "X" ) ) ),
Group( :sex ),
Mean( :height ),
Link to original data table(0),
output table name( "average o students with sex = \!"X\!"" )
);
In BigClass non ci sono studenti con sesso="X". Quindi, mi aspettavo che l'elenco fosse vuoto:
Filtro: sesso= "X" / nessuna "X" nella tabella -> tabella di riepilogo vuota
Sfortunatamente, la logica in Jmp è sorprendentemente diversa:
Se il filtro dati non trova una corrispondenza, il filtro dati viene reimpostato e mostra TUTTI i dati.
Per Dashboards, screening Outlier (:alien:) con Jmp Dashboards: come? TS-00046650, è "semplicemente" fastidioso che la restrizione non venga applicata - per l'analisi statistica automatica tramite Tabelle/Riepilogo il problema è più grave: alla fine, c'è il risultato sbagliato - nessun filtro dati sulla sinistra di una dashboard dove l'utente può rilevare e correggere il problema.
Da Jmp 17, c'è questa nuova interessante funzionalità: Rimuovi righe escluse
purtroppo c'è:
Errore n. 2:
Se hai Jmp 17 o Jmp 18 EA, prova a eseguire questo codice due volte: memorizza i tuoi dati, Jmp si bloccherà!
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Summary(
Local Data Filter( Add Filter( columns( :sex ), Where( :sex == "F" ) ) ),
Group( :sex ),
Mean( :height ),
Remove Excluded Groups,
Link to original data table(0)
);
// today no females
dt << Select where( :height < 67 ) << Exclude;
Dopo aver eseguito il codice la prima volta, a causa della restrizione del filtro dati, la tabella riassuntiva mostra l'altezza media delle voci femminili. Quindi la riga alla fine del codice esclude tutte le righe con altezza < 67, tra cui tutte le voci femminili.
Ora esegui nuovamente il codice:
Le righe con sex="F" sono ancora lì, sono solo escluse . Quindi, rispetto al bug n. 1, qui il filtro dati non viene ripristinato.
Limiterà l'analisi alle righe con sesso = "F". Queste righe vengono escluse dal filtro dati della tabella dati.
In totale, non esiste alcuna riga non esclusa corrispondente. Di conseguenza: Remove Excluded Rows ha molto da fare e si arrabbia.
Così arrabbiato che Jmp si blocca.
È chiaro che senza la corrispondenza delle righe l'utente trarrà scarsi vantaggi dal risultato. Ma in uno script lungo potrebbe esserci qualcosa del tipo:
Si prega di calcolare la media dell'altezza delle studentesse della classe che corrispondono anche ad alcune impostazioni di filtro aggiuntive applicate tramite la tabella principale.
Sotto la riga:
Supponiamo di voler contare le studentesse in una classe e calcolare la loro altezza media. Utilizzando Jmp/Tables/Summary con un filtro dati:
- se nella classe non ci sono studentesse, Jmp conterà gli studenti maschi e farà la media delle loro età (!!!)
- se nella classe ci sono >=1 studentesse, ma le rispettive righe sono state escluse, Jmp andrà in crash (!!!)
[se Rimuovi righe escluse è abilitato]
@hogi ha scritto:
Per Dashboards, screening Outlier (:alien:) con Jmp Dashboards: come? TS-00046650, è "semplicemente" fastidioso che la restrizione non venga applicata - per l'analisi statistica automatica tramite Tabelle/Riepilogo il problema è più grave: alla fine, c'è il risultato sbagliato - nessun filtro dati sulla sinistra di una dashboard dove l'utente può rilevare e correggere il problema.
Stesso argomento -> stessa soluzione:
Filtro dati locale: opzione: limitare o non limitare ai dati correnti
Ciao Mandy, grazie per aver esaminato la questione così velocemente.
ho ricevuto la traccia TS oggi e effettuerò indagini e pubblicherò tutto ciò che è stato trovato.
Sì, ho appena ricevuto il numero del biglietto: TS-00124252
@hogi
Molto interessante.
Ho replicato i tuoi risultati in JMP 17 e 18.
Presumo che tu abbia segnalato questo problema a support@jmp.com