Script filtro dati<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Sto filtrando i dati utilizzando i valori in una colonna. È possibile allegare uno script al filtro dati in modo che lo script venga eseguito ogni volta che viene selezionato un nuovo valore di colonna nel filtro?
Grazie.
Ri: Script filtro datiIn JMP 11, il comando << close non avrebbe avuto effetto su un filtro visibile.Le modifiche in JMP 12 hanno reso questo lavoro.
Come soluzione alternativa per JMP 11 puoi utilizzare:
gb << Rimuovi filtro dati locali;
Ri: Script filtro datiEntrambe le tue soluzioni funzioneranno, ma devi assegnare il risultato a qualcosa:
rs = DataFilter1 << Crea gestore stato riga(DataFilter1_handler);
Il gestore dello stato di riga è un oggetto che ti viene restituito.Dal momento che non è stato memorizzato da nessuna parte, è andato via!
Ri: Script filtro datiUn'altra domanda sul filtro dei dati locali nel tuo esempio:
Come puoi rimuovere il filtro per codice ("rimuovi filtro dati locale" se lo fai manualmente)?
Ho provato questi comandi:
// lavori
ldf << chiaro;
// non funziona
ldf << chiudi;
ldf << rimuovi;
ldf << chiudi finestra;
ldf << elimina;
Ri: Script filtro datiGrazie, funziona. È davvero facile se sai come farlo
La mia prossima domanda è probabilmente anche abbastanza facile per te:
Ho un filtro dati locale in un'applicazione. Voglio impostare un gestore dello stato di riga per questo.
Questo è il mio codice:
DataFilter1 << Add Filter(
Columns(Eval(filter_parameter)),
Display(Size( 100, 150 ),List Display)
);
// set OutlineCloseOrientation and title
ldfr = DataFilter1 << report;
ldfr[Outline Box( 1 )] << OutlineCloseOrientation( "Horizontal" );
ldfr[Outline Box( 1 )] << Set Title("Filter");
// set row state handler - both versions do not work
DataFilter1 << Make Row State Handler(DataFilter1_handler);
ldfr[Outline Box( 1 )] << Make Row State Handler(DataFilter1_handler);
DataFilter1_handler = function({x},
show("row state handler function");
);
Ri: Script filtro datiPer inviare messaggi al filtro dati locale, è necessario ottenere un riferimento ad esso. Prova qualcosa come:
NamesDefaultToHere(1);
// Some data
dt = New Table( "Fruits",
Add Rows( 3 ),
New Column( "Fruit",
Character,
"Nominal",
Set Values( {"Pear", "Apple", "Orange"} )
)
);
// A report with a local data filter
gb = dt << Graph Builder(
Size( 528, 448 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :Fruit ) ),
Elements( Bar( X, Legend( 3 ) ) )
);
ldf = gb << Local Data Filter( Mode, Add Filter( columns( :Fruit ) ) );
// Row state handler function
doSomethingWithSelection = Function({x}, {Default Local},
currentScript = ldf << getScript;
ClearLog();
Print(currentScript);
);
// Get a reference to the report
gbReport = gb << Report;
// Assign the row state handler to the local data filter display box
rsh = gbReport[OutlineBox(1)] << MakeRowStateHandler(doSomethingWithSelection);
Ri: Script filtro datiHo un problema simile. Vorrei memorizzare lo script di un filtro dati locale di un generatore di grafici in una variabile stringa ogni volta che il filtro cambia. Il mio problema con lo script sopra è come accedere al filtro dati locale nella funzione doSomethingWithSelection.
La seguente riga non funziona, non fornisce lo script del filtro dati:
stringa = gbreport [ contorno ( 1 )] << ottenere la sceneggiatura
Ri: Script filtro datiBrillante - grazie.
Ri: Script filtro datiSulla base della risposta di Dan, prova:
NamesDefaultToHere(1);
// Some data
dt = New Table( "Fruits",
Add Rows( 3 ),
New Column( "Fruit",
Character,
"Nominal",
Set Values( {"Pear", "Apple", "Orange"} )
)
);
// A report with a local data filter
gb = dt << Graph Builder(
Size( 528, 448 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :Fruit ) ),
Elements( Bar( X, Legend( 3 ) ) ),
Local Data Filter( Mode, Add Filter( columns( :Fruit ) ) )
);
// Row state handler function
doSomethingWithSelection = Function({x}, {Default Local}, Beep(); Wait(0.1); Beep() );
// Get a reference to the report
gbReport = gb << Report;
// See what messages the data filter display box understands (prints to the log)
ShowProperties(gbReport[OutlineBox(1)]);
// Assign the row state handler to the local data filter display box
rsh = gbReport[OutlineBox(1)] << MakeRowStateHandler(doSomethingWithSelection);
Ri: Script filtro datiIl filtro dati manipola gli stati riga della tabella dati (filtro globale) o un set privato di stati riga (filtro locale).È possibile utilizzare dt<