Script per cancellare un filtro dati nella tabella dati originale<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao, ho un grande set di dati per il quale voglio generare più tipi di grafici. C'è una colonna con 18 diverse categorie per cui voglio creare un set di grafici. Quindi ho questo script di filtro dei dati:
Tabella dati corrente () << Filtro dati (
Ubicazione ({30, 30}),
Modalità (selezionare (0), Mostra (1), Includi (1)),
Aggiungi filtro (
colonne (: X),
Dove (: x == "A"),
Display (: X, Size (204, 174), List Display)));
Quel filtro dati funziona e posso eseguire il mio generatore di grafici. Ma poi voglio cancellare il mio filtro dati e cambiare il nome da A a B ed eseguire nuovamente i grafici per quello. Voglio anche essere in grado di mettere tutto questo in un lungo script in modo da poter fare clic su Esegui e generare tutto questo in una volta. È un processo settimanale. Comunque qualcuno sa come farlo. So che c'è una funzione chiara per questo, ma non riesco a capire come scriverlo per farlo funzionare.
Qualsiasi aiuto sarebbe grande.
Grazie,
Chad
Ri: Script per cancellare un filtro di dati alla tabella di dati originaleHo usato il Big Class della tabella di dati e ho fatto qualcosa del genere:
Distribuzione (
Ricalcolo automatico ( 1 ) ,
Distribuzione continua ( Colonna ( : peso ) )
) ;
valore = { 12 , 13 , 14 , 15 } ;
obj = Tabella dei dati corrente () << Filtro dati (
Posizione ( { 30 , 30 } ) ,
Modalità ( Selezionare ( 0 ) , Mostrare ( 1 ) , Includere ( 1 ) ) ,
Aggiungi filtro ( colonne ( : età ) , Dove ( : età == valore [ 1 ] ) )
) ;
per ( io = 2 , io < 5 , io ++,
obj << chiaro
obj << ( colonna del filtro ( : età ) << dove ( : età == valore [ io ])) ;
aspettare ( 1 )
) ;
Ri: Script per cancellare un filtro di dati alla tabella di dati originaleQuesto è quello che mi piacerebbe fare. Ho messo la dichiarazione chiara dopo il mio script di compilatore di grafici e prima del nuovo script di filtro dei dati. È il posto giusto per questo? Se è così, non ha cancellato il filtro dei dati e mi consente di modificare l'impostazione del filtro. E 'rimasto lo stesso.
Ri: Script per cancellare un filtro di dati alla tabella di dati originaleA seconda di esattamente ciò che è richiesto, un approccio alternativo potrebbe essere quello di manipolare direttamente gli stati delle righe:
NamesDefaultToHere ( 1 ) ;
dt = Aperto ( "$ SAMPLE_DATA / Big Class.jmp" ) ;
// Elenco delle variabili 'by'
byCols = { : età , : sesso } ;
// Loop over 'by' variabili
per ( c = 1 , c <= NItems ( byCols ) , c ++,
// Quali sono i livelli di questa variabile
lev = array associativo ( byCols [ c ]) << getKeys ;
// Loop over levels
per ( io = 1 , io <= NItems ( lev ) , io ++,
// Inizia con una lavagna pulita
dt << clearRowStates ;
// Espressione del modello per selezionare le righe in modo appropriato
CMD = expr ( dt << selectWhere ( byCol ! = Lev )) ;
// 'Bake in' i valori correnti
SubstituteInto ( CMD , expr ( byCol ) , byCols [ c ] , expr ( Lev ) , Eval ( lev [ io ])) ;
// Finalmente fai la selezione
CMD ;
// Nascondi ed escludi
dt << Nascondere << Escludere ;
// Crea grafici. . .
Aspettare ( 1 ) ;
) ;
) ;
dt << clearRowStates ;
Se è specifico per Graph Builder, puoi anche approfittare del fatto che effettivamente consuma una variabile 'by' al momento del lancio.
Ri: Script per cancellare un filtro di dati alla tabella di dati originaleè questo quello che hai in mente?
valore = {12, 14};
obj = Tabella dei dati corrente () << Filtro dati (
Posizione ( { 30 , 30 } ) ,
Modalità ( Selezionare ( 0 ) , Mostrare ( 1 ) , Includere ( 1 ) ) ,
Aggiungi filtro ( colonne ( : età ) , Dove ( : età == valore [ 1 ] ) )
) ;
obj << chiaro
obj << ( colonna del filtro ( : età ) << dove ( : età == valore [ 2 ])) ;