Ich habe zwei verschiedene Datentabellen, A und B. Es gibt eine Spalte aus jeder Datentabelle mit einer ähnlichen Variablen.
Ich erstelle eine Teilmenge aus jeder Datentabelle A und B nach Spalte, die eine ähnliche Variable hat, indem ich eine separate For-Schleife verwende, um einen Tabellenbericht zu erstellen und ihn in ein neues Fenster anzuhängen.
Ich bemerke, dass alle Tabellenberichte, die aus der Teilmengen-Datentabelle A erstellt wurden, in ein neues Fenster angehängt werden, gefolgt von allen Tabellenberichten aus der Teilmengen-Datentabelle B.
Ich möchte für jede Variablenebene einen Tabellenbericht aus der Teilmengendatentabelle A anhängen, gefolgt von einem Tabellenbericht aus der Teilmengendatentabelle B.
Wie soll ich den Code schreiben?
Ich verwende den Datensatz Big Class und Big Class Families als Beispiel, um dies zu veranschaulichen.
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
vb = V List Box();
listdt1 = {};
listdt2 = {};
coldt1 = Column (dt1, "age");
coldt2 = Column (dt2, "age");
colleveldt1 = Associative Array(coldt1) << Get Keys;
colleveldt2 = Associative Array(coldt1) << Get Keys;
For (i=1, i <=N Items(colleveldt1), i++,
dt1row = dt1 << Get Rows Where(:age == colleveldt1[i]);
listdt1[i] = dt1 << Subset(Rows(dt1row));
tb = listdt1[i]<< Get As Report;
vb << Append (Table Box(tb));
);
For (i=1, i <=N Items(colleveldt2), i++,
dt2row = dt2 << Get Rows Where(:age == colleveldt2[i]);
listdt2[i] = dt2 << Subset(Rows(dt2row));
tb = listdt2[i]<< Get As Report;
vb << Append (Table Box(tb));
);
New Window("Report", vb);
Ein einfacher Umzug der JSL bringt Sie, was Sie wollen
Names Default To Here( 1 );
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
vb = V List Box();
listdt1 = {};
listdt2 = {};
coldt1 = Column (dt1, "age");
coldt2 = Column (dt2, "age");
colleveldt1 = Associative Array(coldt1) << Get Keys;
colleveldt2 = Associative Array(coldt1) << Get Keys;
For (i=1, i <=N Items(colleveldt1), i++,
dt1row = dt1 << Get Rows Where(:age == colleveldt1[i]);
listdt1[i] = dt1 << Subset(Rows(dt1row),invisible);
tb = listdt1[i]<< Get As Report;
vb << Append (Table Box(tb));
dt2row = dt2 << Get Rows Where(:age == colleveldt2[i]);
listdt2[i] = dt2 << Subset(Rows(dt2row),invisible);
tb = listdt2[i]<< Get As Report;
vb << Append (Table Box(tb));
);
New Window("Report", vb);