La proprietà di codifica non aveva due numeriCiao,
Ho il ciclo for qui sotto che itera attraverso le colonne assegnando una proprietà "coding" a ciascuna. all_cols è l'elenco delle colonne di interesse. La funzione funziona, quasi come previsto. La proprietà coding è assegnata correttamente, inclusi i valori minimi e massimi delle colonne.
for( y = 1, y <= N Items( all_cols ), y++,
row() = y;
lims = Eval List( { col min( eval( all_cols[y] ) ), col max( eval( all_cols[y] ) ) } );
all_cols[y] << Set Property( "Coding", Expr( lims ) );
);
Tuttavia, nel registro migliorato, noto l'errore "La proprietà di codifica non aveva due numeri" che si ripete una volta per ogni colonna in all_cols. Ho contato.
Ecco dove si presenta il problema. Più avanti nel mio script, viene eseguito il metodo dei minimi quadrati standard. Quando cerco di rimuovere un effetto dall'elenco degli effetti nel Riepilogo effetti, appare una finestra di errore con lo stesso messaggio. Come mostrato di seguito. Se si esce dalla finestra utilizzando la "x" nell'angolo in alto a destra, o se si preme il pulsante "OK", questa finestra rimarrà visualizzata a tempo indeterminato, bloccando l'utilizzo di JMP finché non terminerò forzatamente le attività di JMP.

Una funzione for each() genererà lo stesso errore, date le simili valutazioni delle espressioni JMP. Ciò equivarrebbe a evidenziare tutte le colonne e modificarne in batch tutte le proprietà tramite Standardizza attributi.
Avete qualche idea su cosa sta succedendo e su come fermarlo?
Ingegneria della qualità e dei processiRi: La proprietà di codifica non aveva due numeriLa proprietà della colonna Codifica sembra corretta nella finestra di dialogo Informazioni colonna, ma non è corretta. Ho esaminato lo script della tabella dati e ho scoperto che il secondo argomento del messaggio << Set Property() è assegnato letteralmente. Non utilizza il valore memorizzato in lims . Devi sostituire tu stesso il valore. Ecco un modo che funziona.
For( i = 1, i < N Col(), i++,
lims = Eval List( {Col Min( Eval( Column(i) ) ), Col Max( Eval( Column(i) ) )} );
Eval(
Substitute(
Expr( Column( i ) << Set Property( "Coding", ccc ); ),
Expr( ccc ), lims
)
)
);
Questa proprietà viene aggiunta automaticamente quando si fa clic su Crea tabella in una piattaforma JMP DOE. Perché è necessario aggiungere questa proprietà dopo la creazione della tabella?
Ri: La proprietà di codifica non aveva due numeriall_cols è un elenco di colonne, ma viene ripetuto dal ciclo. La riga sotto la quale è definito lims richiama lims con Expr().questo aiuta?
Ri: La proprietà di codifica non aveva due numeriEcco altre note su questo problema:
- Utilizzando << Get Property("Coding") per ognuna delle colonne nel ciclo, le coppie di valori col min e col max vengono restituite correttamente. Ciò verifica che la proprietà sia stata assegnata correttamente e che i valori siano stati popolati.
- Quando si isola il codice per Set Property() in uno script vuoto, funziona correttamente, nessuna notifica di errore nei registri avanzati... Tuttavia, leggi sotto.
- Nella finestra di dialogo Adatta modello, dopo aver eseguito Set Property() da uno script separato, come menzionato sopra, l'errore si verifica ancora.

Ri: La proprietà di codifica non aveva due numeriEseguire questa operazione dopo aver eseguito lo script per aggiungere la proprietà Coding: fare clic sul triangolo rosso nel pannello Tabella nell'angolo in alto a sinistra della tabella dati e selezionare Copia script tabella. Quindi apri un nuovo editor di script e incolla lo script. Esaminare gli argomenti Set Property. Dovresti vedere un elenco con due numeri per il secondo argomento. Se non lo fai, allora la tua sceneggiatura è sbagliata.
Ri: La proprietà di codifica non aveva due numeri
Ottima cattura!Questo è ciò che c'è nello script della tabella. Giochererò con il mio codice per ottenere i valori necessari lì dentro.Grazie, @Mark_Bailey !
Terrò aperto questo thread fino a quando non pubblicherò la risoluzione.
Ri: La proprietà di codifica non aveva due numeriQuesta era una soluzione semplice. Verificato il funzionamento con i miei set di dati!
for( y = 1, y <= N Items( all_cols ), y++,
row() = y;
lims = Eval List( { col min( eval( all_cols[y] ) ), col max( eval( all_cols[y] ) ) } );
Eval( Eval expr ( all_cols[y] << Set Property( "Coding", Expr( lims ) ) ) );
);