Casella di controllo filtro datiCIAO,
Voglio avere una casella di controllo in cui l'utente può selezionare l'opzione per visualizzare i dati. Ho provato a utilizzare la funzione ma qualcosa non sembra essere corretto nel mio codice. Potresti per favore un consiglio?
Names default to here( 1 );
dt = Open( "$SAMPLE_DATA/Time Series/Raleigh Temps.jmp" );
New window(
"Graph with filter",
Data filter context box(
H list box(
V list box(
Text Box( "Enter month:"),
check Box( {"1","2", "3"}, << set(2),
<<SETFUNCTION></SETFUNCTION>
ScriptingRe: Casella di controllo filtro datiCIAO @Jacksmith12 - l'opzione invisibile è davvero utile solo per i filtri globali.Questa opzione rimuove completamente il componente di visualizzazione dei filtri di dati, ma i filtri locali dipendono dalla posizione nel report per determinare quali report vengono filtrati.Puoi nascondere il filtro in altri modi, come l'opzione di visibilità originale che hai utilizzato nella versione iniziale dello script:
lb << Visibility("Collapse");Re: Casella di controllo filtro dati@danschikore @jthi
Ho modificato la funzione di chiamata aggiunta al codice per clear. Se imposto il filtro dati su invisibile, non filtra le righe. Non sono sicuro di cosa c'è che non va. Allego anche la tabella dei dati
Ecco come appare
Names Default To Here( 1 );
dt = Current Data Table();
New Window( "Graph with filter",
modal,
Data Filter Context Box(
H List Box(
V List Box(
Text Box( "Select Bins:" ),
Radio Box(
{"1", "2", "N", "A","B","All"},
<<SETFUNCTION></SETFUNCTION>Re: Casella di controllo filtro datiCIAO @Jacksmith12 - Se si utilizza la modalità di visualizzazione Radio Box incorporata, "Nessuno selezionato" è l'opzione aggiunta per selezionare tutti i livelli.Questo è lo stato in cui iniziano i filtri di colonna e anche lo stato a cui ritornano quando si cancella l'elemento filtro.Quando un elemento filtro è "Cancella", non partecipa al filtro e lo script salvato non contiene una clausola Where per quella colonna.
Se hai bisogno di farlo dalla visualizzazione del tuo filtro personalizzato, chiamare <
Re: Casella di controllo filtro datiMolto probabilmente il problema è con la clausola where, suggerirei di aggiungere un riferimento alla casella di controllo per aiutarti con il debug e vedere come si comporta e quindi provare a far funzionare la funzione al di fuori della funzione. Dopo averlo fatto come vuoi, prova a implementarlo all'interno della funzione.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Time Series/Raleigh Temps.jmp");
New Window("Graph with filter",
Data Filter Context Box(
H List Box(
V List Box(
Text Box("Enter month:"),
cb = Check Box({"1", "2", "3"}, // add reference here for easier debugging
<<SET></SET>
Se potessi usare Hide and Exclude (o rowstates) qui sarebbe molto più semplice che usare il filtro dati locale, ma questo non è sempre possibile
Re: Casella di controllo filtro dati@danschikore Grazie molto!
Domanda veloce: voglio aggiungere un'opzione nella casella radio "Mostra tutto" che mostrerà tutti i dati dei mesi. Eventuali suggerimenti?
Re: Casella di controllo filtro datiIn generale, penso che funzioni meglio per valutare completamente exprs all'interno della clausola Where che sono costanti, prima di inviare il messaggio al filtro dati.In questo piccolo estratto, sono anche passato da una Check Box a una Radio Box.Il problema con una casella di controllo è che puoi selezionare intervalli che potrebbero non essere effettivamente possibili nel filtro (seleziona 1,3, ma non 2).
radio Box( {"1","2", "3"}, << set(2),
<<SETFUNCTION></SETFUNCTION>
Potresti prendere in considerazione la possibilità di modificare il tipo di modellazione per Numero mese in questo esempio in Nominale/Ordinale (nella tabella dati o solo per il filtro, nel menu triangolo rosso).Ciò darebbe maggiore flessibilità nella clausola Where che supporterebbe il comportamento del tipo Casella di controllo, oppure potresti essere in grado di utilizzare semplicemente le modalità Casella di controllo e Casella radio integrate del filtro.Questo è un esempio di JMP 16:
dt = Open( "$SAMPLE_DATA/Time Series/Raleigh Temps.jmp" );
dt << Graph Builder(
Size( 400, 563 ),
Show Control Panel( 0 ),
Variables(
X( :"Month/Year"n ),
Y( :Temperature ),
Y( :Predicted Temperature, Position( 1 ) )
),
Elements( Line( X, Y( 1 ), Y( 2 ), Legend( 23 ) ) ),
Local Data Filter(
Add Filter(
columns( :Month Number ),
Modeling Type( :Month Number, Nominal ),
Where( :Month Number == {1, 3} ),
Display(
:Month Number,
N Items( 5 ),
"Check Box Display",
Find( Set Text( "" ) )
)
)
)
);