CIAO,
Ho due problemi relativi all'utilizzo del filtro dati locale in JSL. Sto utilizzando JMP 17.
Sto progettando uno script in cui all'utente viene chiesto di selezionare da un elenco che viene passato a un filtro dati locale all'interno di un oggetto Graph Builder. Questa parte va bene, ma una volta aperto il grafico voglio salvare il filtro dati locale nella tabella dati principale. Il log di JMP non registra questo quando lo faccio manualmente, quindi non so come fare lo script. Ho letto l'indice di scripting sulle funzioni "Copia filtro dati locale()" e "Incolla filtro dati locale()", ma non è esattamente quello che voglio. Quindi il mio primo problema è: come si salva lo script del filtro dati locale da una finestra di report alla tabella dati principale?
Il mio secondo problema è come riutilizzare quel filtro. Ho un altro script che crea un report diverso ma utilizza lo stesso filtro dati locale. Ho sperimentato l'utilizzo della funzione Get Table Property() sullo script Local Data Filter salvato, ma non sembra funzionare correttamente nella nuova finestra del report.
Capisco che consolidare i due script in un unico grande script risolverebbe i miei problemi, tuttavia li ho separati per semplificare l'esperienza utente. Non è l'ideale, ma credo che la mia idea potrebbe funzionare, anche se ci sono riuscito da solo. Apprezzerei molto se qualcuno potesse aiutarmi a risolvere questi problemi.
Cordiali saluti,
Cathal
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Car Poll.jmp" );
// First graph
obj1 = dt << Distribution(
Nominal Distribution( Column( :country ) ),
Local Data Filter(
Add Filter( columns( :sex ), Where( :sex == "Female" ) ),
Mode( Show( 1 ), Include( 1 ) )
)
);
// How to save "Local Data Filter" to data table?
// Manually add filter
dt << New Script( "Local Data Filter",
Local Data Filter( Add Filter( columns( :sex ), Where( :sex == "Female" ) ) )
);
// Second graph
obj2 = dt << Distribution(
Stack( 1 ),
Nominal Distribution(
Column( :marital status ),
Horizontal Layout( 1 ),
Vertical( 0 )
),
);
// Get local data filter
filter = dt << Get Table Property( "Local Data Filter" );<BR /><BR />// How to apply filter to obj2?
Senso Unico
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Car Poll.jmp" );
// First graph
obj1 = dt << Distribution(
Nominal Distribution( Column( :country ) )
);
ldf = obj1 << Local Data Filter(
Add Filter( columns( :sex ), Where( :sex == "Female" ) ),
Mode( Show( 1 ), Include( 1 ) )
);
ldf << Save Script to Data Table("Local Data Filter");
obj2 = dt << Distribution(
Stack( 1 ),
Nominal Distribution(
Column( :marital status ),
Horizontal Layout( 1 ),
Vertical( 0 )
),
);
ldf_script = dt << Get Script("Local Data Filter");
Eval(EvalExpr(
Send(obj2, Expr(Name Expr(ldf_script)));
));
Ciao Jarmo, funziona! Grazie mille 