Buscar una columna cuyo nombre necesita una cadena de otra columnaEstoy intentando usar un valor de una columna llamada "Freq" y buscar otra columna. Me aparece un error de fila no válida
La columna que estoy buscando está disponible. La columna Frecuencia es numérica. ¿Es ese el problema?
Por ejemplo, el valor en una fila de la columna Freq es 200, entonces estoy buscando el valor en IDynatTsense__200__65.
Código:
HashFreqval = Columna ( "Freq" );
IDyn = Columna ( "IDynatTsense__" ||HashFreqval[]|| "__65" );
Error:

Análisis y modelado de datos básicosRe: Encontrar una columna cuyo nombre necesita una cadena de otra columnacolumn[] devuelve el valor de la fila actual() .
El valor predeterminado de row() es 0. Para acceder al valor de la fila 1, simplemente ajuste el puntero a través de 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: Encontrar una columna cuyo nombre necesita una cadena de otra columnaEl error es causado por lo que escribió hogi, column()[] (igual que column()[row()]) está buscando un valor de la fila actual que, por defecto, es 0 en JMP, que es un número de fila no válido (puede leer sobre esto en Iterar en filas en una tabla (jmp.com) ).
¿Cómo estás utilizando este código? Lo más probable es que no sea todo el código que estás utilizando. Estás buscando el valor de "Freq", pero ¿en qué fila? ¿Quizás las estás repitiendo? ¿Estás intentando obtener un valor de IDynatTsense__200__65 (¿en qué fila?) o solo de la referencia?
Re: Encontrar una columna cuyo nombre necesita una cadena de otra columnaQuizás mi pregunta no sea muy clara. Adjunto un ejemplo sencillo.
Dependiendo del valor de la columna HashFreq, necesito seleccionar datos de la columna Idyn_ 200 _65 o Idyn_ 400 _65.
Una vez que pueda obtener esos datos, puedo usar una fórmula para realizar más cálculos.
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[] ));
¡Gracias por tu ayuda!
Re: Encontrar una columna cuyo nombre necesita una cadena de otra columnaSi sus datos son mucho más complicados y no necesita una fórmula, lo más probable es que simplemente use Para cada fila.
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()];
);