/*
After save dt into Journal, the cell color from data data table was changed into the font color in the journal
*/
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Color by Column( :age);
Wait( 0 );
dt << Color Rows by Row State;
dt<<SAVE></SAVE>
Welche Version von JMP haben Sie?Haben Sie dieses Skript oder ein modifiziertes Skript verwendet? Bei Änderungen bitte beifügen.
Die Tabellennachricht dt << Zeilen nach Zeilenstatus einfärben() scheint eine „Ansicht“-Aussage zu sein. Die Tabellenansicht wird geändert, aber beim Speichern und Öffnen der Tabelle oder beim Journaling bleiben die farbigen Zellen nicht erhalten.Durch das Journaling dieser Tabelle wird im Journal ein Bericht erstellt, dessen Schriftfarben in der Tabelle mit den Zeilenstatusfarben übereinstimmen.
Jedoch, col << Zellen färben( clr, Zeilen) ist eine Spaltennachricht. Diese Meldung wird in den Attributen der Tabellenspalte gespeichert. Auch beim Journaling bleibt die Zellenfarbe erhalten.
Unten werden sowohl das Skript als auch das Ergebnis angezeigt. Beachten Sie, dass eine andere (möglicherweise direktere) Methode darin besteht, die eindeutigen Schlüssel für jede Gruppe (Alter) abzurufen, die Zeilen für jedes Alter abzurufen, dann eine Farbe auszuwählen und sie auf diese Zeilen jeder Spalte anzuwenden.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Color by Column( :age );
Wait( 0 );
//This next command does not save the cell colors.
//dt << Color Rows by Row State;
dt << Clear column selection();
dt << clear select;
//get the unique colors
nr = N Row( dt );
//make a list the size of the table to get the row colors and locate rows of a given color
_clr = As List( J( nr, 1, 0 ) );
For( i = 1, i <= N Row( dt ), i++,
_clr[i] = Color To RGB( Color Of( Row State( i ) ) )
);
//creates a list of unique colors
clr_keys = Associative Array( _clr ) << get keys;
//for each color (j), locate which rows are assigned that color using Loc( _clr, ...)
For( j = 1, j <= N Items( clr_keys ), j++,
idx = Loc( _clr, clr_keys[j] );
//Color the cells in rows idx and each coloumn
For( i = 1, i <= N Col( dt ), i++,
Column( dt, i ) << color cells( RGB Color( clr_keys[j] ), idx )
);
);
//now journal the table
dt << journal;
