Salut,
J'ai une table de données, ressemble à quelque chose comme ça. Je veux diviser chaque test et attribuer des valeurs en %.

J'essaie de créer un tableau associatif et d'allouer des valeurs à chaque test, mais les résultats sont incorrects. Je ne suis pas sûr de ce que j'ai raté

Le tableau associatif final doit contenir les éléments suivants.
new_aa = [" Currents_A" => 0.003 " Currents_B" => 0.003, " Currents_C" => 0.003, "Volts_A" => 0.003, "Votls_B" => 0.003, "Volts_1" => 0.002,...... ............., "Courants_0" => 0.001]
Voici le code jsl. Aucune suggestion
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)Voici ce que je ferais pour obtenir le tableau associatif que vous recherchez
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 );