Altoparlante
|
Trascrizione
|
| Georg Raming (Siltronic AG) |
Ciao a tutti. |
| |
Oggi voglio parlare di strategie ed esempi per l'acquisizione di dati da fonti distribuite e complesse. |
| |
Mi chiamo Georg Raming, il mio lavoro è lo sviluppo dei processi di ??? cristalli singoli cresciuti presso Siltronic. Ho una certa esperienza con la valutazione e il processo statistico |
| |
dati sui prodotti e formazione statistica. Sono responsabile anche del software JMP presso Siltronic e delle attività di formazione per alcune centinaia di utenti. |
| |
Siltronic è uno dei principali produttori mondiali di wafer di silicio iperpuro altamente specializzati. |
| |
Alcuni cenni tecnici. Quindi in questa presentazione sto lavorando con tabelle di dati anziché con database, ma i concetti mostrati qui sono originariamente utilizzati per ottenere dati da database relazionali tramite connessione ODBC. |
| |
E JMP Query Builder funziona in modo simile per le tabelle di dati JMP e per le tabelle di database. |
| |
Qual è l'obiettivo della presentazione di oggi? Si tratta di stabilire alcuni modi per ottenere i dati dal database in modo semplice ed efficiente nel tuo JMP o in una tabella JMP. |
| |
Parliamo prima degli elementi costitutivi. |
| |
Quindi una potrebbe essere una tabella dati JMP. |
| |
Quindi, se hai generato una tabella di dati da una query sul database, potrebbe assomigliare a questa. Quindi ho preso qui la famosa tabella di esempio di JMP, Big Class, e ho interrogato i dati tramite JMP Query Builder. Ho eliminato tutto lo script fornito con la tabella. |
| |
E troverai |
| |
per questa tabella dati se la interroghi tramite JMP Query Builder, diversi script e variabili di tabella. |
| |
Quindi all'interno di quella variabile puoi vedere l'SQL. Quindi la definizione della tabella dati viene ricavata dalla tabella o dal database. |
| |
E hai questi script, uno script sorgente semplicemente |
| |
ottiene un'altra copia della tabella dati originale come questa. E qui puoi vedere che sono presenti anche gli script originali, ma ci sono anche questi script di JMP Query Builder. |
| |
Esiste anche uno script di modifica della query che consente di modificare questa query sulla tabella dati JMP e anche di eseguirla. |
| |
E c'è una query per l'aggiornamento dal database. Quindi, se modifichi i dati nella tabella dati |
| |
o ci sono nuovi dati nella tabella dati, puoi semplicemente aggiornare i dati premendo questo pulsante. |
| |
Come questo. Anche qui gli script provengono ancora dalla tabella di esempio. |
| |
Ok, il prossimo elemento costitutivo è JMP Query Builder. |
| |
Quindi, una volta che hai una o più tabelle nel database, vuoi fare una query come qui, ho preso le famiglie Big Class e Big Class dalla tabella di esempio JMP |
| |
directory e utilizzare JMP Query Builder come |
| |
qui sui tavoli. Generatore di query JMP. |
| |
JMP vede queste tabelle aperte |
| |
e ce n'è anche una nel campo primario e posso aggiungere una tabella secondaria come questa e JMP crea automaticamente un'unione tra entrambe le tabelle. Quindi come sono uniti. E puoi modificare questo join |
| |
come questo. |
| |
Vedrai i dettagli qui. |
| |
E poi puoi continuare a costruire la query |
| |
come questo. Hai entrambe le tabelle qui disponibili. |
| |
Qui puoi anche modificare nuovamente l'unione |
| |
E forse vuoi aggiungere tutto |
| |
colonne, |
| |
come questo. |
| |
E forse vuoi mettere un filtro, |
| |
come questo. |
| |
Ed esegui la query. Poi ancora tu |
| |
ottieni questa tabella dei risultati con gli script da |
| |
tabelle di esempio di cui non abbiamo bisogno qui. |
| |
Li elimino. E questi sono gli script, gli script e le variabili scritti da JMP Query Builder |
| |
come lo usavo prima. E ancora, qui puoi |
| |
modifica questa query. Lo script per la query viene salvato in questa tabella dei risultati qui, come lo abbiamo definito qui prima. |
| |
Ecco come funziona il generatore di query JMP. |
| |
E come accennato in precedenza, sulle tabelle del database funziona allo stesso modo in cui funziona qui sulle tabelle di esempio JMP. |
| |
L'edificio successivo...Ho anche inserito qui alcuni script ed è sempre possibile passare dal Query Builder visivo |
| |
a un SQL personalizzato |
| |
domanda. Quindi funziona qui. Un altro menu con il triangolo rosso. |
| |
Converti in SQL personalizzato e ciò che hai definito qui visivamente, |
| |
puoi definire qui in una query SQL di testo. |
| |
Puoi eseguirlo. |
| |
E quando guardi qui questa query o premi il pulsante Modifica query, |
| |
vedrai la query di testo. Quindi questo è solo un modo, |
| |
conversione da query visiva a query SQL personalizzata. |
| |
Quindi lasciami mettere in ordine |
| |
alcuni tavoli. Va bene. |
| |
Il prossimo elemento costitutivo è ottenere i dati dal database ed è necessaria una connessione ODBC a tali origini dati. |
| |
E di solito le origini dati e i driver ODBC vengono impostati dall'amministrazione IT. Quindi sotto Windows puoi trovare |
| |
queste connessioni sotto l'amministratore dell'origine dati ODBC. |
| |
E tieni presente che le dimensioni delle origini del database dovrebbero adattarsi a JMP. Quindi in questo caso ho un'applicazione JMP a 64 bit e quindi ho bisogno di driver a 64 bit |
| |
E le origini utente, puoi impostarle tu stesso. |
| |
Inoltre, i DSN di sistema vengono impostati dall'amministratore e anche i driver per i diversi tipi di database vengono impostati dall'amministratore. |
| |
In caso di risoluzione dei problemi, è possibile utilizzare questa scheda per il tracciamento |
| |
dove è andata a finire la query e quale potrebbe essere il problema. |
| |
E un consiglio da parte mia sarebbe quello di verificare se la connessione funziona correttamente da queste fonti di dati. Pertanto, se premi Configura e l'amministratore dell'origine dati, puoi sentire per una determinata origine testare la connessione dopo aver fornito le tue credenziali. |
| |
E se va tutto bene, allora il sistema te lo dice |
| |
la connessione è riuscita. |
| |
Non dipende da Windows se la query non funziona. |
| |
E anche altri dettagli li potete trovare nel manuale JMP nella documentazione. Ad esempio, Utilizzo di JMP, capitolo tre, puoi trovarlo qui nel file |
| |
Menù Aiuto |
| |
e la libreria della documentazione JMP. E lì è ben documentato come utilizzare tutti questi strumenti. |
| |
Ok, quindi ci sono nello scripting e in JSL, nel linguaggio di scripting, tre modi per scrivere queste query sul database SQL. La prima è una nuova query SQL, come abbiamo già utilizzato in precedenza. Si trova qui nel menu JMP sotto Tabella, JMP Query Builder per tabelle JMP. |
| |
Oppure, per il database, puoi trovarlo qui sotto Database Query Builder. |
| |
E poi New SQL Query è il comando più potente di tutti. Quindi, genera un nuovo oggetto di query, puoi salvarlo come file di query JMP. Può generare direttamente una tabella dati e fornisce molto bene l'origine dei dati, come abbiamo visto prima con lo script di modifica e aggiornamento del codice sorgente. |
| |
Un altro comando in JSL per interrogare i dati dal database è il comando open database. Troverai la documentazione di tutti questi comandi anche nell'indice degli script. Come qui, |
| |
se scrivo |
| |
aprire |
| |
Banca dati, |
| |
puoi trovare qui come funziona per tutti i comandi. |
| |
E un terzo modo per connettersi al database e inserire alcune query è la connessione al database. |
| |
E sono necessari tre passaggi. Il primo è creare una connessione al database. Il secondo è inserire le tue query, una o più, nel database. E per finalizzare, è necessario chiudere la connessione al database. |
| |
E infine, se hai scritto delle belle sceneggiature. |
| |
Dovresti renderlo accessibile a te, o magari ai colleghi, e ci sono almeno due modi. Quindi uno è inserirlo in un componente aggiuntivo in modo da poterlo fornire facilmente anche ad altri. E l'altra possibilità è inserirlo in un menu personalizzato, come ho fatto qui. |
| |
E puoi trovarlo |
| |
nel menu, poi qui in questo modo. Nel mio sistema sono installati due componenti aggiuntivi. |
| |
Ed ecco il mio personale |
| |
menù personalizzato. |
| |
Quindi... abbiamo finito gli elementi costitutivi. Andiamo agli esempi. |
| |
Il primo esempio consiste nell'utilizzare uno script di tabella per salvare il layout della tabella e la query. |
| |
Quindi potrebbe assomigliare a questo. Se hai una tabella dati in arrivo |
| |
dal database e inserisci anche alcuni script per un bel grafico, |
| |
potresti volerlo usare tutti i giorni. E qui c'è una bella possibilità |
| |
per dire, copia lo script della tabella senza dati. |
| |
E questo script puoi quindi usarlo. |
| |
Vorrei creare una nuova sceneggiatura. Scusa. |
| |
E incollalo nella finestra dello script. |
| |
Ed ecco che arriva quella nuova tabella semplicemente premendo il pulsante Esegui Script. |
| |
E viene come ???, senza dati. E puoi salvare questo script, ad esempio, nel tuo menu e ottenere i dati, potrebbe trattarsi di un'enorme quantità di dati. Puoi semplicemente premere il pulsante Aggiorna dal database e la tabella si riempirà con tutti i dati forse dal database o da qualche altra parte. |
| |
Quindi questa è una bella possibilità |
| |
per usare semplicemente lo script |
| |
per ottenere i dati dal database. |
| |
Il secondo esempio |
| |
consiste nell'utilizzare una query dall'interno di una tabella. |
| |
Quindi così. Se disponi di una tabella dati e desideri interrogare alcuni dati aggiuntivi, a seconda del contenuto della tabella corrente. |
| |
Quindi lo mostrerò. |
| |
Elimino alcune righe. |
| |
E con questi tre nomi, voglio andare su una tabella diversa per recuperare alcuni dati. |
| |
Ed è fatto da questo script. |
| |
E qui puoi vedere da questa tabella, ho preso i nomi e ho fatto una query |
| |
per interrogare i dati da un'altra tabella di Big Class Families. |
| |
E come funziona? |
| |
Puoi trovarlo in questo script. |
| |
È piuttosto breve. Qui, i nomi vengono presi dalla prima query di tabella come definita, come qui. |
| |
I nomi vengono sostituiti nella query. |
| |
E qui la domanda viene posta sulla tabella Famiglie di Classe Grande. |
| |
Ok, devo chiudere anche questo tavolo. |
| |
Questo è uno script di query personalizzato con interfaccia utente grafica. Quindi, se hai, ad esempio, una tabella di dati di grandi dimensioni nel database e spesso ne hai bisogno di piccole quantità, |
| |
ovviamente puoi estrarre tutti i dati, ma forse è più flessibile ed efficiente ottenere dati ben filtrati. Quindi funziona così. |
| |
una tabella per filtrare i dati e una tabella con tutte le colonne della tabella Big Data. E qui possiamo filtrare graficamente. Diciamo donna ed età, quindi ho preso solo due colonne per filtrare, |
| |
così, 12 e 13 anni. |
| |
E potrei voler avere tutte le colonne o rimuovere solo una colonna. |
| |
Lo interrogo |
| |
e qui ottieni il risultato corretto con queste restrizioni. E puoi, come puoi vedere qui, e nello script sorgente o nell'SQL, |
| |
le restrizioni sono qui |
| |
dall'interfaccia utente grafica definita. |
| |
E come funziona |
| |
Il lavoro di scripting funziona? È un po' |
| |
più complesso, ovviamente. Quindi c'è la query del filtro. |
| |
Le colonne interrogano. |
| |
Ecco uno script, una funzione che converte il file |
| |
condizioni di filtro dei dati in una condizione SQL. |
| |
Questa è la parte GUI, l'interfaccia utente grafica. |
| |
E qui, infine, i risultati dell'interfaccia utente grafica vengono valutati e inseriti in questo script personalizzato. |
| |
L'esempio successivo è una query in due passaggi. Supponiamo quindi che tu debba prima interrogare alcuni ID batch. |
| |
E per inserire questi ID in un'altra query, magari in un'altra tabella di dati per ottenere dati aggiuntivi, |
| |
puoi farlo in questo modo. Quindi qui ho preso la tabella dati Big Class come filtro. Quindi ho filtrato solo il maschio |
| |
E |
| |
alunno di età pari o inferiore a 13 anni. |
| |
E ho preso questi nomi per interrogare le famiglie di grandi classi, tutte le righe, come puoi vedere qui. |
| |
E |
| |
entrambe le tabelle sono connesse tramite un join virtuale, come puoi vedere qui. |
| |
COSÌ |
| |
questa tabella rimanda tramite il nome all'altra tabella alla tabella filtro. E posso usare |
| |
le colonne della tabella dei filtri qui in questa tabella come se lo fossero |
| |
in questa tabella. |
| |
Quindi questo è un bel modo per avere più tabelle e utilizzare il contenuto in una tabella. |
| |
E l'ultimo esempio è |
| |
come eseguire due o più query in background in parallelo. Quindi non ho esempi qui. Se ne discute nella community JMP. E se sei interessato, puoi dare un'occhiata. |
| |
Quindi ora ho finito con i miei esempi e il diario e gli script del materiale di presentazione sono disponibili online. |
| |
Grazie alla community per le splendide discussioni e grazie agli sviluppatori JMP per aver creato e mantenuto questo fantastico software. E infine, grazie per la vostra attenzione. |