Hallo,
Ich habe eine Datentabelle, die ungefähr so aussieht. Ich möchte jeden Test aufteilen und %-Werte zuweisen.

Ich versuche, ein assoziatives Array zu erstellen und jedem Test Werte zuzuweisen, aber die Ergebnisse sind falsch. Ich bin mir nicht sicher, was ich verpasst habe

Das endgültige assoziative Array sollte Folgendes enthalten.
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,...... ............., „Ströme_0“ => 0,001]
Hier ist der JSL-Code. Irgendwelche Vorschläge
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)Hier ist, was ich tun würde, um das Assoziative Array zu erhalten, das Sie suchen
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 );