Trova una colonna il cui nome necessita di una stringa da un'altra colonnaSto provando a usare un valore da una colonna denominata "Freq" e a trovare un'altra colonna. Ricevo un errore Riga non valida
La colonna che sto cercando è disponibile. La colonna Freq è numerica. È questo il problema?
Ad esempio, il valore in una riga della colonna Freq è 200, quindi sto cercando il valore in IDynatTsense__200__65.
Codice:
HashFreqval = Colonna ( "Freq" );
IDyn = Colonna ( "IDynatTsense__" ||HashFreqval[]|| "__65" );
Errore:

Analisi e modellazione dei dati di baseRe: Trova una colonna il cui nome necessita di una stringa da un'altra colonnacolumn[] restituisce il valore della riga corrente() .
Il valore predefinito di row() è 0. Per accedere al valore della riga 1, basta modificare il puntatore tramite row()=1 ;
New Table( "test",
Add Rows( 1 ),
New Column( "Freq",
Character,
Set Values( {"200"} )
),
New Column( "IDynatTsense__200__65",
Set Values( [20] )
)
);
HashFreqval = Column( "Freq" );
row()=1;
IDyn = Column( "IDynatTsense__"||HashFreqval[]|| "__65" );Re: Trova una colonna il cui nome necessita di una stringa da un'altra colonnaL'errore è causato da quanto scritto da hogi: column()[] (uguale a column()[row()]) sta cercando un valore della riga corrente che per impostazione predefinita è 0 in JMP, che è un numero di riga non valido (puoi leggere a riguardo su Iterate on Rows in a Table (jmp.com) ).
Come stai utilizzando questo codice? Molto probabilmente non è tutto il codice che stai utilizzando? Stai cercando un valore da "Freq", ma quale riga e forse stai eseguendo un loop? Stai cercando di ottenere un valore da IDynatTsense__200__65 (quale riga?) o solo il riferimento?
Re: Trova una colonna il cui nome necessita di una stringa da un'altra colonnaForse la mia domanda non è molto chiara. Allego un semplice esempio
A seconda del valore nella colonna HashFreq, devo selezionare i dati dalla colonna Idyn_ 200 _65 o Idyn_ 400 _65.
Una volta ottenuti questi dati, posso usare una formula per effettuare ulteriori calcoli.
Names Default To Here( 1 );
dt1 = Open( "TestDataJunk.jmp" );
HashFreqval = Column( "HashFreq" );
IDyn = Column( "IDynatTsense__"||HashFreqval[]|| "__65" );
dt1 << New Column( "NewVal", Numeric, Continuous, Formula( IDyn[] ));
Grazie per l'aiuto!
Re: Trova una colonna il cui nome necessita di una stringa da un'altra colonnaSe i tuoi dati sono molto più complicati e non hai bisogno di una formula, molto probabilmente userei semplicemente Per ogni riga
Names Default To Here(1);
dt = Open("$DOWNLOADS/TestDataJunk.jmp");
dt << New Column("NewVal2", Numeric, Continuous);
For Each Row(dt,
val = Column(dt, "HashFreq")[Row()];
val_col = Eval Insert("Idyn_^val^_65");
Column(dt, "NewVal2")[Row()] = Column(dt, val_col)[Row()];
);