So erstellen Sie Unterkategorien für Zeilen und Spalten ähnlich wie beim TabulierenIch arbeite derzeit an der Erstellung einer Datentabelle mit Ergebnissen aus einer SQL-Abfrage. Die endgültige Datentabelle verfügt über einen Aufbau, der die gemeinsamen Spaltengruppen und auch die Zeilen gemeinsamer Werte zusammenführt (siehe Tabelle 1).
Die Daten haben manchmal numerische Werte, aber die meisten Ergebnisse sind Zeichenfolgen wie „Negativ“ oder „< 0,1“. Ich fasse die Datentabelle mit den Zeichen-/Nominalwerten zusammen, indem ich die Ergebnisse basierend auf der Art des Tests transponiere. Ich kann die Spalten gruppieren, aber wenn ich die Datentabelle als Bericht oder an eine Journalseite an ein neues Fenster sende, werden die gruppierten Spalten nicht angezeigt. Ich kann Tabulate nicht verwenden, da es nur numerische Werte zusammenfasst und es Ihnen außerdem nicht ermöglicht, die Formatierung beizubehalten, wenn Sie sie in eine Datentabelle umwandeln. Ich kann die Zellen in einer Tabulate-Tabelle auch nicht einfärben. Ich möchte lediglich die Möglichkeit haben, Unterkategorien und verschachtelte Spalten/Zeilen hinzuzufügen, wie es tabulate bei einer regulären Datentabelle tut. Ich frage mich, ob es eine Möglichkeit gibt, mithilfe von JSL-Code in JMP das zu erreichen, was ich suche, und wenn nicht, kann dies eine Funktionsanfrage sein?
Tabelle 1. Beispiel für einen Abschlusstisch

MassenanpassungErgebnisse teilen und kommunizierenWindowsBetreff: So erstellen Sie Unterkategorien für Zeilen und Spalten ähnlich wie beim TabulierenDas dachte ich mir, dachte mir aber, ich würde mal fragen. Nochmals vielen Dank für die Hilfe!
Betreff: So erstellen Sie Unterkategorien für Zeilen und Spalten, ähnlich wie beim TabulierenIch glaube nicht, dass Ihnen das so einfach gelingen würde.Aufgrund der hierarchischen Natur des Anzeigebaums können Sie ein Anzeigefeld nicht einfach so einfügen, dass Objekte, die nicht seine untergeordneten Elemente waren, dann zu seinen untergeordneten Elementen werden.Sie könnten eine einfügen ColSpanBox , dann verwenden <<CLONEBOX></CLONEBOX> Sie könnten Kinder in das einfügen ColSpanBox , aber an diesem Punkt wäre es besser, es einfach von Grund auf neu zu erstellen

Betreff: So erstellen Sie Unterkategorien für Zeilen und Spalten ähnlich wie beim TabulierenDas sieht sehr vielversprechend aus!! Danke schön! Ich werde Sie wissen lassen, ob es funktioniert.
Bearbeiten: Ich habe den Morgen damit verbracht, Ihren Code durchzugehen. Für mich ist es ein guter Anfang herauszufinden, wie ich noch mehr benutzerdefinierte Tabellen erstellen kann. Danke schön! Ich schätze die Zeit und Mühe. Gibt es eine Möglichkeit, einer bereits vorhandenen Tabelle ein Span-Feld über den Spalten hinzuzufügen? Nehmen wir zum Beispiel an, ich habe die Tabelle ohne die zusätzliche Kategorisierung organisiert. Ich möchte nicht Spalte für Spalte durchgehen, um die Tabelle zusammenzusetzen. Ich möchte es nur oben anzeigen lassen. Ich hoffe, das macht Sinn.
Betreff: So erstellen Sie Unterkategorien für Zeilen und Spalten, ähnlich wie beim TabulierenJMP erlaubt Ihnen nicht, Zeilen zu gruppieren.Tabulate gruppiert keine Zeilen, sondern lässt einfach einige Zeilen leer (siehe unten).
Wenn Sie sich die Baumstruktur für Tabulate ansehen, werden Sie feststellen, dass JMP spezielle Konstrukte wie verwendet MultiTblStrColBox Und MultiTblNumColBox um die Tabelle des Tabulates zu erstellen.Diese können vom Benutzer nicht in JSL erstellt werden.Das nächstbeste ist, das zu nutzen <<ALS bericht="" abrufen=""></ALS> mit etwas ausgefallenem Gruppen- und Namenshandling, um etwas Ähnliches zu erstellen TableBox – worauf wir in JSL Zugriff haben.Hier ist eine schnelle Funktion " tabellarisch „das ich zusammengestellt habe, das eine Tabelle mit bestimmten Farben in den Zellen mit jeder gewünschten Spaltengruppierung aufnehmen und so etwas wie tabulate erstellen kann.Sie müssen eine Tabelle und eine spezielle kategoriale Spalte angeben in:
Names Default To Here( 1 );
table = Open( "$SAMPLE_DATA/Blood Pressure.jmp" );
theGroup = table << Group Columns( "BP", :BP 8M :: :BP 8W );
theGroup = table << Group Columns( "ELSE", {:BP 12W, :BP 6W} );
For( i = 1, i <= N Cols( table ), i++,
For Each Row( table,
Column( table, i ) << Color Cells( Eval List( Repeat( {Random Uniform( 0.9, 1 )}, 3 ) ), Row() )
);
);
tabulatish = Function( {table, category},
{Default Local},
column names = table << Get Column Names( "String" );
For( i = 1, i <= N Items( column names ), i++,
If( Uppercase( category ) == Uppercase( column names[i] ),
category = column names[i];
Break();
)
);
Eval( Parse( Eval Insert( JSL Quote(
table << Sort( By( :Name("^category^") ), Order( "Ascending" ), "Replace Table" );
) ) ) );
categories = Associative Array( Column( table, category ) ) << Get Keys;
locs = Repeat( {""}, N Rows( table ) );
For( i = 1, i <= N Items( categories ), i++,
locs[(Loc( Column( table, category ) << Get Values, categories[i] ))[1]] = categories[i]
);
nt = New Table( "temp", <<NEW column=""></NEW>
