Hola,
Tengo una tabla de datos, se parece a esto. Quiero dividir cada prueba y asignar valores porcentuales.

Estoy tratando de crear una matriz asociativa y asignar valores a cada prueba, pero los resultados son incorrectos. No estoy seguro de lo que me perdí

La matriz asociativa final debe contener lo siguiente.
new_aa = [" Corrientes_A" => 0.003 " Corrientes_B" => 0.003, " Corrientes_C" => 0.003, "Voltios_A" => 0.003, "Votls_B" => 0.003, "Voltios_1" => 0.002,...... ............., "Corrientes_0" => 0.001]
Aquí está el código jsl. Alguna sugerencia
Names Default To Here( 1 );
dt = Data Table( "dt" );
aa = Associative Array( Column( dt, 1 ) << get values, Column( dt, 3 ) << get values );
fail_test = fa << Get Keys;
split_tests = {};
For Each( {test, index}, fail_test,
Insert Into( split_tests, Words( test, "," ) )
);
For( i = 1, i <= N Items( split_tests ), i++,
new_aa = Associative Array( split_tests, If( Contains( aa, split_tests[i] ), aa[split_tests[i]] ) )
);
show(new_aa)Esto es lo que haría para obtener la matriz asociativa que está buscando
Names Default To Here( 1 );
dt = Data Table( "dt" );
// Get all columns
allOrigColumnsList = dt << get column names( string );
// Move individual elements of the column, to individual columns
dt << Text To Columns( delimiter( "," ), columns( :paretotop20 ) );
// Find all new columns
newColList = dt << get column names( string );
For( i = N Items( newColList ), i >= 1, i--,
If( Contains( allOrigColumnsList,
newColList[i]),
Remove From( newColList, i, 1 )
)
);
dtStack = Data Table( "dt" ) << Stack(
columns( eval(newColList) ),
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
"Non-stacked columns"n( Keep( :"% of Total"n ) ),
Output Table( "Untitled 60.jmp" )
);
dtStack << select where(:Data == "" );
dtStack << delete rows;
aa = Associative Array( Column( dtStack, 3 ) << get values, Column( dtStack, 1 ) << get values );