È possibile eseguire uno script facendo clic su una curva nel grafico tramite JSL?Ad esempio, ho creato un grafico dello script seguente.
dt = Open( "$SAMPLE_DATA/Students2.JMP" );
dt << Sort( By( 1 ), Order( Ascending ), replacetable( 1 ) );
New Column( "A" );
Column( "A" ) << Formula( If( Row() == 1 | name != Lag( name, 1 ), 1, If( Lag( A, 1 ) < 6, Lag( A, 1 ) + 1 ) ) );
dt << run formulas;
Column( "A" ) << deleteFormula;
dt << Sort( By( "A" ), Order( DEscending ), replacetable( 1 ) );
dt << delete rows( N Rows( Loc( dt[0, "A"] > 0 ) ) + 1 :: N Row( dt ) );
dt << Sort( By( 1, "A" ), Order( Ascending, Ascending ), replacetable( 1 ) );
p1 = Graph Builder(
Size( 528, 454 ),
Show Control Panel( 0 ),
Variables( X( :A ), Y( :height ), Overlay( :name ) ),
Elements( Points( X, Y, Legend( 8 ) ), Smoother( X, Y, Legend( 9 ) ) )
);
Fare clic su qualsiasi curva condizionale nel grafico ed eseguire automaticamente il comando "D:\" specificato. A.jsl"

Grazie!
Automazione e scriptingPersonalizzazione di massaRi: È possibile eseguire uno script facendo clic su una curva nel grafico tramite JSL?Forse mi manca qualche sfumatura di ciò che è necessario. Ma basandosi sul suggerimento di @jthi , puoi fare questo genere di cose (dove, una volta che hai la selezione della riga corrente, è possibile fare in modo che 'fai qualcosa' faccia tutto ciò di cui JSL è capace):
NamesDefaultToHere(1);
// Original code . . .
dt = Open( "$SAMPLE_DATA/Students2.JMP" );
dt << Sort( By( 1 ), Order( Ascending ), replacetable( 1 ) );
New Column( "A" );
Column( "A" ) << Formula( If( Row() == 1 | name != Lag( name, 1 ), 1, If( Lag( A, 1 ) < 6, Lag( A, 1 ) + 1 ) ) );
dt << run formulas;
Column( "A" ) << deleteFormula;
dt << Sort( By( "A" ), Order( DEscending ), replacetable( 1 ) );
dt << delete rows( N Rows( Loc( dt[0, "A"] > 0 ) ) + 1 :: N Row( dt ) );
dt << Sort( By( 1, "A" ), Order( Ascending, Ascending ), replacetable( 1 ) );
gb = dt <<
Graph Builder(
Size( 528, 454 ),
Show Control Panel( 0 ),
Variables( X( :A ), Y( :height ), Overlay( :name ) ),
Elements( Points( X, Y, Legend( 8 ) ), Smoother( X, Y, Legend( 9 ) ) )
);
// New code . . .
// Row state handler function to do something
doSomething = Function({x}, {Default Local},
// 'x' is a column vector of row states that have just CHANGED. We just need those that are now selected . . .
selectedRows = [];
For( i = 1, i <= NRow(x), i++, If( Selected( Row State( x[i] ) ), selectedRows = VConcat(selectedRows, x[i]) ));
Print(x);
Print(selectedRows);
);
// Assign the handler to the table
rsh = dt << MakeRowStateHandler(doSomething);
Ri: È possibile eseguire uno script facendo clic su una curva nel grafico tramite JSL?Nella mia applicazione di implementazione, i dati non si trovano nello stesso file. Quindi non so come utilizzare qualcosa come questa funzione di drill-down. Grazie UN quantità
Ri: È possibile eseguire uno script facendo clic su una curva nel grafico tramite JSL?
Ri: È possibile eseguire uno script facendo clic su una curva nel grafico tramite JSL?Grazie mille! Ma non ho ancora trovato il modo.

Ri: È possibile eseguire uno script facendo clic su una curva nel grafico tramite JSL?Forse l'utilizzo del Row State Handler sulla tabella dati originale potrebbe funzionare? Oppure, se puoi "saltare" la parte relativa al clic, potresti utilizzare le etichette al passaggio del mouse.
Ri: È possibile eseguire uno script facendo clic su una curva nel grafico tramite JSL?JMP ha una funzione del modulo simile, può realizzare la seguente operazione di processo:
cliccando sulla curva selezionata, si ottiene il "nome". Utilizzare questo nome per ottenere l'età del nome nell'altra tabella students1.jmp. Viene generata una nuova tabella dati con il solo nome selezionato e l'"altezza" nella Tabella 2 e l'"età" nella Tabella 1.
d1 = Open( "$SAMPLE_DATA/Students1.JMP" );
Grazie Esperti!
Ri: È possibile eseguire uno script facendo clic su una curva nel grafico tramite JSL?Con questo "D:\A.JSL" realizzo principalmente le seguenti funzioni:
Fare clic sulla curva selezionata per ottenere il "nome".Utilizzare questo nome per ottenere l'"età" del nome in un'altra tabella"Studenti1.JMP".Crea una nuova tabella "new.jmp"
Disegna il diagramma come sopra.
Infine, i due grafici e ciascuna tabella dati vengono utilizzati per generare una dashboard.
