¿Cómo multiplico todos los valores de datos por un multiplicador para cada columna que está en otra tabla, por nombre de columna? (La tabla de multiplicadores tiene una columna con los nombres de las columnas y una segunda columna con los multiplicadores que se aplican a cada columna de la otra tabla. No todas las columnas tienen un multiplicador). Puedo llegar tan lejos como para agregar el multiplicador a la tabla de datos en su propia fila, pero luego estoy atascado. Sé que puedo hacerlo rápidamente de forma externa, pero estoy seguro de que hay una forma de hacerlo en JMP.
Aquí hay un ejemplo simple de cómo cambiar los valores en la tabla de datos de Big Class, basado en una tabla de datos de configuración como usted describe.
Names Default To Here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dtConfig = New Table( "Config",
New Column( "Name", character, values( {"age", "height", "weight"} ) ),
New Column( "multiplier", values( {3, ., 2} ) )
);
dtColNames = dt << get column names( string );
For( i = 1, i <= N Rows( dtConfig ), i++,
If( Contains( dtColNames, dtConfig:Name[i] ) & Is Missing( dtConfig:multiplier[i] ) == 0,
temp = Column( dt, dtConfig:Name[i] ) << get values;
temp = temp :*</img> dtConfig:multiplier[i];
Column( dt, dtConfig:Name[i] ) << set values( temp );
)
);