Attivazione e disattivazione delle tabelle di dati privatePer mantenere puliti molti dei miei script, uso molto "privato". Tuttavia, se sto risolvendo uno script, avere tabelle come private si intromette e ho bisogno di commentare e, si spera, ricordarmi di rimuovere il commento mentre apporto le modifiche per vedere se le modifiche funzionano.
C'è un modo o JMP dispone già di un modo globale per attivare o disattivare le tabelle private? Nella mia testa potrei prendermi il tempo per creare duplicati del mio codice con e senza private e collegarlo a una variabile di test, ma non sembra la risposta migliore.
Non ero sicuro se ci fossero idee là fuori su come farlo. Grazie!
SceneggiaturaRe: Attivazione e disattivazione delle tabelle dati privateNon sono a conoscenza di essere in grado di attivare e disattivare Private, poiché richiederebbe la creazione al volo di tutti gli oggetti di visualizzazione in memoria.Tuttavia, è possibile utilizzare il messaggio Mostra finestra per visualizzare/nascondere tabelle di dati normali o invisibili.
data table("Daily Blood Pressure")<<SHOW window=""></SHOW>Re: Attivazione e disattivazione delle tabelle dati privatePotresti essere in grado di rendere visibile la tabella privata utilizzando << Nuova visualizzazione dati. Non sono al 100% quello che fa in questo contesto, ma sembra rendere visibili le tabelle private e l'ho usato per il debug:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp", private);
wait(2);
dt << New Data View;
non ho idea di come renderlo nuovamente privato, ma << Show Window(0); lo renderà almeno invisibile.
Re: Attivazione e disattivazione delle tabelle dati privateLe tabelle visibili e invisibili vengono tracciate da JMP. Ad esempio, puoi tenerli d'occhio nella finestra principale. Le tabelle private vengono tracciate solo dal codice che le crea. Se non riesci a chiudere una tabella privata prima di sovrascrivere la variabile JSL che tiene il suo handle, la tabella è ancora in memoria ma irraggiungibile. Verrà chiuso al termine di JMP. (Window-> CloseAllDataTables non riesce a trovare le tabelle private e non le chiude.)
Sono anche abbastanza sicuro che JMP non esponga un modo per rendere privata una tabella visibile o invisibile. Puoi trasformare una tabella privata in una invisibile, se hai la maniglia, in questo modo:
dtA = Open( "$SAMPLE_DATA/Big Class.jmp", private );
// getting the data box makes it invisible
b = dtA << New Data Box();
// then show window makes it visible
dtA << Show Window;
Sfortunatamente, la parola chiave invisibile è una parola chiave e non può essere passata come variabile, almeno a open(). Non sono sicuro del sottoinsieme, ecc. Probabilmente il meglio che puoi fare è aggiungere una chiamata a una funzione utente che fa qualcosa come sopra dopo ogni punto in cui crei o apri una tabella.
Re: Attivazione e disattivazione delle tabelle dati privateGrazie a tutti! Ho finito per fare quanto segue che, sebbene non sia l'ideale, dovrebbe funzionare abbastanza bene. Ho creato una funzione e ho una variabile nella parte superiore del mio script per attivare/disattivare sostanzialmente il privato
seePrivateTables = 1;
unprivatizeTable = Function({bool,tableName},{default local},
If(bool == 1,
tableName << New Data View;
Return(tableName)
,
Return(tableName)
)
);
// ... various code
dt1 = dt << Summary(.... , private);
dt1 = unprivatizeTable(seePrivateTables, dt1);Finché mi ricordo di chiamare quella funzione quando creo nuove tabelle, dovrei essere in grado di attivare e disattivare le tabelle private in blocco.
Re: Attivazione e disattivazione delle tabelle dati privateSe hai bisogno di quella funzione spesso, potresti trarre vantaggio dalla creazione della funzione personalizzata Crea funzioni, trasformazioni e formati personalizzati (jmp.com) .In questo modo puoi anche vedere la funzione personalizzata direttamente dall'indice di scripting.