Come posso importare la proprietà della colonna nel file di dati JMP?Ciao,
Nuova sfida:
Ho creato la proprietà Colonna: Numero di prova nel 1°_file. Ogni test ha un numero di test univoco che può essere trovato nella proprietà della colonna come puoi vedere di seguito nel cerchio rosso evidenziato:

Ho un secondo file JMP che ha 1 colonna (Test):

Sto provando a scrivere uno script in grado di copiare il numero di test dal 1° file e assegnare il valore più basso tra i test nel 2° file, quindi il mio output sarà relativamente simile a questo:
Il numero di prova è definito nella proprietà Colonna del 1° file
Per esempio Bruciare, Raffreddare, ESD = Min[Numero di prova] = 21
Produzione:

Eventuali suggerimenti?
Grazie
Re: Come posso importare la proprietà della colonna nel file di dati JMP?Buona prova su If..... ma la ramificazione deve essere di portata più ampia.Vedi sotto......
Names Default To Here( 1 );
dt1 = Data Table( "1st_file" );
dt2 = Data Table( "2nd file" );
dt2 << New Column( "Test Number" );
For( i = 1, i <= N Rows( dt2 ), i++,
k = 1;
While( Word( k, dt2:test[i], "," ) != "",
theWord = Word( k, dt2:test[i], "," );
If( theWord != "N/A",
If( k == 1,
theTest = Column( dt1, theWord ) << get property( "Test Number" ),
theCompare = Column( dt1, theWord ) << get property( "Test Number" );
If( theCompare < theTest,
theTest = theCompare
);
)
,
theTest = 0
);
k++;
);
dt2:test number[i] = theTest;
);Re: Come posso importare la proprietà della colonna nel file di dati JMP?Ciao @txnelson ,
Un'ultima domanda
ho un po N / A Prova nelle righe che assomigliano a questo. Volevo assegnare Numero di prova come 0 a N / A righe

Ho aggiunto un Se() dichiarazione ma non sono sicuro di aver inserito correttamente la dichiarazione. Potresti per favore guardarlo?
Names Default To Here( 1 );
dt1 = Data Table( "1st_file" );
dt2 = Data Table( "2nd file" );
dt2 << New Column("Test Number");
For( i = 1, i <= N Rows( dt2 ), i++,
k = 1;
While( Word( k, dt2:test[i], "," ) != "",
theWord = Word( k, dt2:test[i], "," );
If( k == 1,
theTest = Column( dt1, theWord ) << get property( "Test Number" ),
theCompare = Column( dt1, theWord ) << get property( "Test Number" );
If( theCompare < theTest,
theTest = theCompare
);
);
k++;
<STRONG>If( Word( 1, dt2:test[i], "," ) == N/A,
dt2:test number[i] = 0;
);</STRONG><BR /> );
dt2:test number[i] = theTest;
);
Re: Come posso importare la proprietà della colonna nel file di dati JMP?Names Default To Here( 1 );
dt1 = Data Table( "1st_file" );
dt2 = Data Table( "2nd file" );
For( i = 1, i <= N Rows( dt2 ), i++,
k = 1;
While( Word( k, dt2:test[i], "," ) != "",
theWord = Word( k, dt2:test[i], "," );
If( k == 1,
theTest = Column( dt1, theWord ) << get property( "Test Number" ),
theCompare = Column( dt1, theWord ) << get property( "Test Number" );
If( theCompare < theTest,
theTest = theCompare
);
);
k++;
);
dt2:test number[i] = theTest;
);Re: Come posso importare la proprietà della colonna nel file di dati JMP?Ciao @txnelson ,
Puoi postare il codice se possibile? Ho delle scadenze per completare questo compito. Ho provato a utilizzare la funzione while() per le righe che hanno meno di 3 test ma non è in esecuzione. La discussione si fa lunga e confusa.
Re: Come posso importare la proprietà della colonna nel file di dati JMP?Ciao @txnelson ,
Ho un suggerimento. Posso creare un elenco e memorizzare il numero del test nell'elenco e utilizzare la sintassi Min() assegnare il numero più basso?
For (i=1, i<=2, i++,
theWord = word(i,dt2:test[1],",");
theTest() = column( dt1, theWord ) << get property("Test Number");
dt2:test number[1] = Min(theTest);
);
Re: Come posso importare la proprietà della colonna nel file di dati JMP?Questo è su di me..... Stavo facendo un test con la variabile sbagliata.Le affermazioni che fanno il confronto dovrebbero essere lette
If( theCompare < theTest,
theTest = theCompare
);
Ma hai un altro problema... lo script presuppone che tu abbia sempre 3 valori in ciascuna delle righe per la colonna Test.Quando ci sono meno di 3 lo script fallirà, o se ce ne sono più di 3 non verrà mai confrontato con gli elementi 4,5 ecc.
Dai un'occhiata alla funzione While() su come risolvere questo problema.
Di seguito è riportato il codice corretto per le dichiarazioni di confronto
Names Default To Here( 1 );
dt1 = Data Table( "1st_file" );
dt2 = Data Table( "2nd file" );
For( i = 1, i <= N Rows( dt2 ), i++,
theWord = Word( 1, dt2:test[i], "," );
theTest = Column( dt1, theWord ) << get property( "Test Number" );
theWord = Word( 2, dt2:test[i], "," );
theCompare = Column( dt1, theWord ) << get property( "Test Number" );
If( theCompare < theTest,
theTest = theCompare
);
theWord = Word( 3, dt2:test[i], "," );
theCompare = Column( dt1, theWord ) << get property( "Test Number" );
If( theCompare < theTest,
theTest = theCompare
);
dt2:test number[i] = theTest;
);
Re: Come posso importare la proprietà della colonna nel file di dati JMP?Ciao @txnelson ,
La logica che hai suggerito non funziona per alcune condizioni. Se cambio l'ordine del Test lo script genera valori errati e il numero del Test per le righe 4,5,6 è vuoto
Test = Raffreddamento, ESD, Corrente
Numero di prova = Numero minimo di prova[32, 87, 23] = 23
Il numero del test dovrebbe essere 23 nella seconda colonna.

Ho corretto la frase che mi hai suggerito:
For (i=1, i<=nrows(dt2), i++,
theWord = word(1,dt2:test[i],",");
theTest = column( dt1, theWord ) << get property("Test Number");
theWord = word(2,dt2:test[i],",");
theCompare = column( dt1, theWord ) << get property("Test Number");
If( theCompare < theWord, theTest = theCompare );
theWord = word(3,dt2:test[i],",");
theCompare = column( dt1, theWord ) << get property("Test Number");
If( theCompare < theWord, theTest = theCompare );
dt2:test number[i] = theTest;
);
Re: Come posso importare la proprietà della colonna nel file di dati JMP?Il problema è con questa affermazione
theWord = word(i,dt2:test[i],",");
Il tuo ciclo For() utilizza "i" come indice e varia da 1 a N righe (dt2).Pertanto varia da 1 a 5. Stai utilizzando l'indice "i" in 2 posizioni diverse all'interno della funzione Word().dt2:Test[i] leggerà dalla prima a 5 righe.Ma se dai un'occhiata a JSL Syntax Reference per la funzione Word()
Word(n|[first last], string, <delimiter>, <Unmatched(result string)>)
Description
Returns the nth item of the string, where words are sub-strings separated by any number of
any characters in the delimiter argument.
Arguments
n The position of the word being extracted.
[first last] A matrix that defines the beginning and end word range to return.
string The string that is evaluated.
delimiter (Optional) The character used as a boundary. If delimiter is absent, an ASCII
space is used. If delimiter is the empty string, each character is treated as a separate
word. If delimiter is an empty string, each character is treated as a spate word.
Unmatched(result string) The string to print if no match is found.
Examples
This example returns the last name:
Word( 2, "Katie Layman" );
Note
See “Item(n|[first last], string, <delimiter>, <Unmatched(result string)>, <Include
Boundary Delimiters(Boolean)>)” on page 35 for examples of how Word() differs from
Item().
ciò che stai specificando per la parola che vuoi rimuovere dipende dal valore di "i".Non è quello che vuoi.Nel codice che ho fornito, se guardi, era 1,2 o 3
Quindi devi regolarlo
Re: Come posso importare la proprietà della colonna nel file di dati JMP?Ciao @txnelson ,
Ho usato il ciclo For nello script che hai pubblicato.
names default to here(1);
dt1 = data table("1st_file");
dt2 = data table("2nd file");
dt2 << New Column("Test Number");
For(i=1, i<=nrows(dt2),i++,
theWord = word(i,dt2:test[i],",");
theTest = column( dt1, theWord ) << get property("Test Number");
theWord = word(i,dt2:test[i],",");
theCompare = column( dt1, theWord ) << get property("Test Number");
If( theCompare < theWord, theTest = theCompare );
theWord = word(i,dt2:test[i],",");
theCompare = column( dt1, theWord ) << get property("Test Number");
If( theCompare < theWord, theTest = theCompare );
dt2:test number[i] = theTest;
);
<BR />Non sta assegnando valori per le righe 4 e 5 del 2° file

Sono abbastanza sicuro di aver fatto qualche errore nel ciclo For. Potete per favore fornirmi qualche guida.
Re: Come posso importare la proprietà della colonna nel file di dati JMP?@txnelson Sei un genio. Sì, hai ragione, inizierò a imparare. Molte grazieRe: Come posso importare la proprietà della colonna nel file di dati JMP?@Fabbro12 Ti sono state mostrate tutte queste istruzioni e funzioni negli esempi precedenti.Devi iniziare per essere in grado di provare a metterli insieme da solo.In informatica, l'unico modo per imparare è commettere errori e capire qual è il problema.Quindi di seguito è riportato un flusso per una singola voce dal tuo 2nd_file, che restituisce il numero minimo di test.Dovresti essere in grado di mettere insieme il resto del codice.
names default to here(1);
dt1 = data table("1st_file ");
dt2 = data table("2nd file ");
dt2 << New Column("Test Number");
theWord = word(1,dt2:test[1],",");
theTest = column( dt1, theWord ) << get property("Test Number");
theWord = word(2,dt2:test[1],",");
theCompare = column( dt1, theWord ) << get property("Test Number");
If( theCompare < theWord, theTest = theCompare );
theWord = word(3,dt2:test[1],",");
theCompare = column( dt1, theWord ) << get property("Test Number");
If( theCompare < theWord, theTest = theCompare );
dt2:test number[1] = theTest;
Assicurati di aver compreso ogni riga del codice e, in caso contrario, fai domande specifiche su ciò che non capisci.
Re: Come posso importare la proprietà della colonna nel file di dati JMP?Puoi fare un esempio di avvio rapido?Re: Come posso importare la proprietà della colonna nel file di dati JMP?In 1st_file, le colonne hanno solo 1 proprietà colonna ciascuna, numero test.....nessun nome test.
Supponendo che una seconda proprietà colonna per ogni colonna di Test Name avrebbe dovuto essere nella tabella di dati 1st_File, credo che il modo migliore per accedervi sarebbe creare un array associativo. Quindi scorrere ciascuna delle colonne, estraendo le 2 proprietà della colonna e inserendole nell'array associativo. Infine, si scorrerebbe il 2nd_file, riga per riga, e prendendo il valore della colonna Test, sarebbe una semplice ricerca sull'array associativo, per ottenere il numero di test richiesto.Re: Come posso importare la proprietà della colonna nel file di dati JMP?Ciao @txnelson ,
Fai clic con il pulsante destro del mouse sulle proprietà della colonna e troverai il numero del test e il nome del test
Re: Come posso importare la proprietà della colonna nel file di dati JMP?Come si fa a sapere quali delle colonne in 1st_file vengono valutate nel calcolo del valore di una particolare riga in 2nd_file?