Sottoscrivi una cella in un set di datiCiao a tutti,
Stavo cercando di sottoscrivere una cella in un set di dati, ma non ha mai funzionato. Ad esempio, vorrei ricevere un messaggio in cui il valore di alcune celle particolari viene modificato. Ecco un esempio:
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Example",
TB=Table Box(
Data Table Col Box( :height )
)
);
TB<<SET cell="" changed="" function=""></SET>Una volta che cambio i valori nella colonna "height", il valore corrispondente nella casella col della tabella di dati verrà gestito. Tuttavia, la finestra di avviso non verrà visualizzata mentre il valore è cambiato. In linea di principio, vorrei ricevere messaggi dalla tabella dati come Subscribe () per una / più celle. Qualsiasi idea sarà appagata.
Ri: iscriviti una cella in un set di datiQueste due soluzioni sono grandi e funzionano per me. Grazie ancora per l'aiuto e mi aiuta davvero molto!Ri: iscriviti una cella in un set di datiMi piace!
Ri: iscriviti una cella in un set di datiLa funzione "Imposta la cella modificata" sembra non funzionare per Data Table Col Box (), nonostante sia elencata nello Scripting Index.
Ecco un'idea per una soluzione alternativa su due colonne (nascoste) nella tabella dei dati.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("orig_height", values(:height << get values), hide(1));
dt << New Column("on_change",
Formula(
If(height != orig_height,
New Window("Warning", Text Box("The cell value has been changed"));
.;
)
),
hide(1)
);
New Window("Example", Table Box(dtcb = Data Table Col Box(:height)));Ri: iscriviti una cella in un set di datiNon sono comunque in grado di attivare direttamente una modifica di un valore di dati in una tabella di dati e quindi di influire su una modifica in una casella tabella (). Tuttavia, qui sotto c'è un aggiramento che è un po 'strano, ma fa il lavoro ......... Spero anche che un altro membro della JMP Community abbia un modo più diretto per risolvere questo problema
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Setup a matrix of the current values
holdMatrix = dt:Height << Get Values;
// A Graphics Script will be triggered every time a
// graph changes.
// Therefore, it can be used to trigger a change in
// a data table
// Open a graph that will have a data point for every
// entry in the data table.
cc = Control Chart(
Sample Size( 1 ),
KSigma( 3 ),
Chart Col( :height, Run Chart( Show Center Line( 0 ) ) )
);
// The chart is not intended to be displayed, only used as
// a trigger. Therefore it needs to be hidden. If an
// "Invisible" element is added to the chart, the graphics
// trigger does not seem to work, however, if the "show window"
// message is sent, the Graphics Script continues to work
Report( cc ) << show window( 0 );
// Add a script to the Chart, to make the changes in
// the Table Box
Report( cc )[FrameBox( 1 )] << Add Graphics Script(
ncb << delete;
tb << append( ncb = Number Col Box( "string", dt:height << get values ) );
// If any value in the data tables Height column changes,
// this If statement will detect it
If( Min( holdMatrix == dt:height << get values ) == 0,
New Window( "Warning", Text Box( "The cell value has been changed" ), );
holdMatrix = dt:height << get values;
);
);
// Open the display window, with the desired table box
nw = New Window( "Example",
TB = Table Box(
ncb = Number Col Box( "string", dt:height << get values ),
)
);
// When the display window is closed, cleanup the
// environment by closing the trigger chart
nw << on close( Report( cc ) << close window );
Ri: iscriviti una cella in un set di datiCiao Jim,
Grazie per la tua grande idea Tuttavia, stavo cercando di fare la stessa cosa che ha fatto il box della tabella dati - collegare un valore dalla tabella dati una volta cambiato il valore di una determinata cella. Quindi, i dati verranno aggiornati direttamente nella tabella dei dati invece che negli utenti. Dispiace per la confusione.
Tzu-Chun
Ri: iscriviti una cella in un set di datiIl problema sembra essere che non si sta utilizzando un Col Box modificabile () per il tavolo. Ho modificato il Data Col Col Box () in un Number Col Edit Box () e la funzionalità che hai specificato ora funziona.
names default to here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Example",
TB=Table Box(
number Col Edit Box( "string",dt:height<<GET values=""></GET>