Accesso a collegamento e incorporamento di oggetti, database o OLEDB dal Query Builder (QB) di JMP.Spesso i clienti mi chiedono se è possibile accedere al nostro database Proficy Historian da JMP?Quindi ho pensato di condividere alcune opzioni per rispondere alla domanda Come posso accedere ai dati costruiti attorno all'interfaccia basata su COM come Historian?
Il linguaggio di scripting di JMP o JSL fornisce solo le risorse necessarie per accedere a qualsiasi tipo di dati che potrebbero essere richiesti e che non siano già disponibili direttamente dalla finestra di dialogo di apertura del file.JMP fornisce una vasta gamma di connettori dati predefiniti in grado di leggere direttamente i dati da molte origini dati di file flat come Triple-S XML, CSV, SAS e SPSS.Non mi concentrerò su questo tipo di file in questo post del blog, ma concentrerò invece la tua attenzione sull'accesso ai dati da database relazionali come Oracle, PostgreSQL e SQLite o da altre origini OLEDB come Historian.
L'accesso ai database relazionali viene effettuato utilizzando l'interfaccia JMP Query Builder.È possibile accedere a QB accedendo al menu File e selezionando Database e quindi Query Builder.

Poiché questo approccio è familiare agli utenti JMP esistenti, ho deciso che sarebbe stato un buon passo preliminare per accedere ai dati da archivi dati non ODBC come il database Historian.
Qui presento due approcci e i dettagli per ciascuna delle rispettive soluzioni.Inoltre, fornirò alcune riflessioni sui vantaggi e sui vincoli di ciascuna soluzione. Il primo è attraverso una query personalizzata e la seconda lo è attraverso una conversione o un'istantanea dell'OLEDB in un formato più facilmente utilizzabile da JMP Query Builder.
Per coincidenza, il primo approccio è quello più diretto per accedere all'OLE DB di Historian utilizzando Query Builder di JMP.Fa semplicemente uso di una query personalizzata.L'unica configurazione del database richiesta era creare un collegamento al database dal server SQL all'OLE DB di Historian.

Stabilisci una connessione al database utilizzando il server collegato come mostrato di seguito (nel mio caso il nome del server collegato era chiamato "MY_HISTORIAN").

Fare clic su Avanti per visualizzare la finestra di dialogo del generatore di query. La finestra di dialogo consentirà di selezionare schemi e tabelle all'interno di uno schema da utilizzare per creare la query.S eleggere uno qualsiasi degli schemi e una tabella dalla connessione al server SQL (qualsiasi tabella funzionerà poiché non la stiamo effettivamente utilizzando direttamente).Ho scelto lo schema sys e la tabella all_columns come tabella dati primaria.

Fare clic sul pulsante Crea query per iniziare a creare una query.Facendo clic sul triangolo rosso sotto il menu della tabella in alto a sinistra potrai inserire una query personalizzata.
JMP ti fornirà un avviso chiedendoti se sei sicuro di voler convertire la query esistente in una query personalizzata.Fare clic sul pulsante "OK" per continuare.
Le query personalizzate possono essere qualcosa che hai scritto in precedenza, come le seguenti:
SELEZIONA TagName, TimeStamp, Valore, Qualità DA OPENQUERY (iHist,' SET StartTime=ieri-12Giorno, EndTime=Oggi, IntervalMilliseconds=1Ora, SamplingMode=Calcolato, CalculationMode=Massimo SELECT * FROM ihRawData WHERE TagName LIKE *simulation00001')
Una query personalizzata non sarà più modificabile cantare l'interfaccia QB. Basta incollare sopra la query originale per applicare la query dagli appunti.Facendo clic sul pulsante Aggiorna ti verrà mostrata un'anteprima dei tuoi dati.
C fare clic su Esegui query per importare la tabella dati ihRawData Historian come tabella dati JMP.
La parte fondamentale di la sintassi è l'opzione OPENQUERY.Ciò indica a SQL Server di passare la query direttamente al server collegato per l'elaborazione.
Una volta che il server collegato elabora la richiesta, a JMP viene restituita una tabella dove è possibile eseguire ulteriori visualizzazioni e analisi.Uno dei vantaggi dell'approccio con query personalizzate è la semplicità dell'implementazione; richiede solo la creazione di un server collegato.L'interfaccia QB fa il resto del lavoro.Questo approccio funzionerebbe bene se il tuo DBA ti avesse fornito una libreria di query disponibili da cui puoi copiare e incollare. Lo svantaggio di questo approccio è che devi sapere in anticipo quale query desideri eseguire con poca libertà di esplorare ed eseguire ulteriori query sui tuoi dati.
Per coloro che non hanno familiarità con l'uso del Query Builder di JMP ho fornito un collegamento ad alcune risorse aggiuntive tra cui un Masterizzazione avanzata Sessione JMP presentata da chris.kirchberg .
Il secondo approccio non richiede alcuna modifica alla configurazione del database. Tuttavia, richiede l'installazione di Python e di una libreria Python aggiuntiva (win32com.client).Installa semplicemente il file Componente aggiuntivo Strumenti database OLE e seguire le istruzioni.Il componente aggiuntivo esegue uno script Python (grazie per l'aiuto nella scrittura dello script Python da Bryan.boone) che a sua volta crea uno snapshot dell'OLEDB e lo salva come DB SQLite.È quindi possibile accedere direttamente al DB SQLite da QB come mostrato.Programmi esterni come Python possono essere eseguiti utilizzando il linguaggio di scripting JMP o JSL.JSL ha una funzione chiamata Esegui programma.Al nostro recente Discovery Summit Europe è stato presentato un eccellente articolo proprio su questo argomento hecht@jmp intitolato " Esegui programma: collegamento JMP® ad altri programmi " che fornisce diversi esempi dettagliati su come utilizzare questa funzione.
Lo script Python esegue alcune opzioni della riga di comando che gli vengono passate dall'interfaccia utente (UI).L'interfaccia utente è stata realizzata interamente con JSL e resa distribuibile a qualsiasi analista impacchettandola come componente aggiuntivo JMP.Per installare il componente aggiuntivo l'analista fa semplicemente doppio clic.Il componente aggiuntivo è ora disponibile per l'uso dal menu Componenti aggiuntivi.

Sono disponibili tre opzioni di menu selezionabili.I menù hanno il titolo Database OLE di snapshot da utilizzare con Query Builder , Query QB personalizzata su un OLEDB E Utilità . La prima opzione converte un database OLE o una singola tabella di database OLE in un formato di database SQLite.L'opzione di query QB personalizzata invia una query creata con JMP Query Builder (QB) a un database OLE per l'elaborazione.Le ultime opzioni nel menu Utilità consentono la rimozione di una tabella o di tutti i dati dal database SQLite e le opzioni per modificare le scelte predefinite nel componente aggiuntivo. Con l'ultima opzione nel menu Utilità fornisco un meccanismo per aggiornare le impostazioni predefinite per il componente aggiuntivo.Se il numero di osservazioni è elevato, utilizzare l'opzione per impostare il numero massimo di righe da recuperare dal database OLE.Di seguito viene mostrato come impostare il numero massimo di record da restituire su 10. L'impostazione del numero massimo di record su -1 recupererà tutte le righe per ciascuna tabella nel database OLE.

Collegare. Selezionare. Costruire. Importare.
Utilizza QB per stabilire una connessione al database SQLite appena creato.Ora puoi utilizzare la stessa interfaccia per iniziare a creare le tue query.Dopo aver creato una query che ti piace, esegui l'opzione "Query QB personalizzata su un OLEDB" per copiare la query che deve essere eseguita dallo script Python una seconda volta.Questa volta, quando la query viene eseguita, restituirà tutte le righe che corrispondono alla clausola where della query.Ora, con la tabella disponibile in JMP, hai pieno accesso alle funzionalità di visualizzazione e modellazione di JMP.

A quali origini dati ti connetti regolarmente?Eri a conoscenza della funzione Esegui programma in JSL?
Lasciami un commento con qualsiasi origine dati a cui ti connetti abitualmente o altri modi in cui hai utilizzato Esegui programma nei tuoi script.
Alla prossima volta...buona programmazione!
* GE Intelligent Platforms, Inc è una consociata interamente controllata da General Electric Company. Il marchio e il logo GE sono marchi di fabbrica della General Electric Company.
La configurazione del database collegato in SQL Server Management Studio è stata semplice ed era inclusa anche nel manuale di Proficy. Ciò con cui riscontro problemi è l'impostazione di una nuova connessione in JMP al server collegato. Potresti includere maggiori dettagli su come connetterti una volta che hai un server collegato?