SPLIT von hoch nach breit: Wie gruppiere ich die resultierenden Spalten dynamisch?Ich habe also ein großes dt, das ich von TALL nach WIDE aufteile. Das führt zu einer riesigen Anzahl von Spalten, alle mit dem Headerformat = „Step#_Parameter_Function“.
Die Anzahl dieser Spalten und die Schrittnummern oder -namen sind nie vorhersehbar oder festgelegt.
Wie könnte ich diese Spalten dann nach Schrittnummer gruppieren? Irgendeine Schleife, die die lange Spaltenliste durchsucht, die erste Schrittnummer heraussucht und sie dann einer Gruppe mit der Bezeichnung „Schrittnummer“ zuweist?
<< Split(
Split By( :recipe_step_id, :parameter_name, :aggregate_function ),
Split( :value ),
Group( :recipe, :equipment_id, :chamber_id, :wafer_scribe, :wafer_process_start_time ),
Output Table( "Wide" ),
Remaining Columns( Drop All ),
Sort by Column Property
);

Datenzusammenführung und -bereinigungMassenanpassungBetreff: SPLIT von hoch nach breit: Wie gruppiere ich die resultierenden Spalten dynamisch?Hier ist ein einfaches Skript, das eine neue Gruppe von Spalten erstellt, die mit den Zeichen "NPN" beginnen.

names default to here(1);
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
colNamesList = dt << get column names(string, continuous);
NPNList = {};
for(i=1,i<=nitems(colNamesList),i++,
If(contains(colNamesList[i],"NPN")==1,
insert into(NpNList,colNamesList[i])
)
);
dt << group columns("NPNGroup", NPNList);
Betreff: Von hoch nach breit SPLITTEN: Wie gruppiere ich die resultierenden Spalten dynamisch?- Bitte nehmen Sie sich die Zeit, den Scripting Guide zu lesen, den Sie in der JMP-Dokumentationsbibliothek im Pulldown-Menü „Hilfe“ finden. Darin erfahren Sie die Sprachstrukturen, mit denen Sie Probleme wie das von Ihnen gerade gestellte lösen können.
- Unten sehen Sie ein einfaches Beispielskript, das Gruppen von gefundenen Spalten erstellt. Bitte beachten Sie, dass es absichtlich keine Spalten gibt, die mit XYZ beginnen, obwohl das Skript danach sucht.
Names Default To Here( 1 );
// Open Data Table: semiconductor capability.jmp
// → Data Table( "semiconductor capability" )
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
colNameList = dt << get column names( string );
NPNList = {};
PNPList = {};
XYZList = {};
// Find matching column names
For( i = 1, i <= N Items( colNameList ), i++,
If(
Left( colNameList[i], 3 ) == "NPN",
Insert Into( NPNList, colNameList[i] ),
Left( colNameList[i], 3 ) == "PNP",
Insert Into( PNPList, colNameList[i] ),
Left( colNameList[i], 3 ) == "XYZ",
Insert Into( XYZList, colNameList[i] )
)
);
// If groups of columns are found, creat JMP groupings
If( N Items( NPNList ) > 0,
dt << select columns( NPNList );
dt << group columns();
);
If( N Items( PNPList ) > 0,
dt << select columns( PNPList );
dt << group columns();
);
If( N Items( XYZList ) > 0,
dt << select columns( XYZList );
dt << group columns();
);Betreff: Von hoch nach breit SPLITTEN: Wie gruppiere ich die resultierenden Spalten dynamisch?erstaunlich. Eine letzte Frage. Ist es möglich, ihm eine Liste von Zeichenkettengruppen zuzuführen, die er durchgehen soll, um nach den übereinstimmenden Spalten zu suchen und sie dann in die entsprechenden Gruppen einzuordnen?
wie eine Liste von:
Spalten, die mit "AAA", "BBB", "CCC" usw. beginnen
und ordnen Sie sie dann in Gruppen mit den Bezeichnungen AAA, BBB, CCC ein
?
wie kann ein Fehler übersprungen werden, wenn es keine mit BBB übereinstimmenden Spalten gibt?