Esegui in remoto script JSL con parametriCiao,
Al momento disponiamo di uno script JMP che eseguiamo per l'analisi/il reporting dei dati. Vorrei attivare questo script alla fine dell'acquisizione dei dati (LabVIEW tramite ActiveX). Ho individuato la funzione RunJSLFile ma ha solo il percorso del file come input.
Come posso implementare il passaggio di un parametro a JMP da utilizzare nello script (una stringa che identifica il numero di parte)? Devo usare RunCommand per creare una variabile globale che viene poi utilizzata dallo script? In tal caso, come sarebbe il comando?
Grazie.
Oggetto: eseguire in remoto lo script JSL con i parametriPS: se hai accesso a RunCommand da Labview/ActiveX, puoi saltare completamente il file vbs e inserire quel codice nell'applicazione esistente.
Oggetto: eseguire in remoto lo script JSL con i parametriLa tua domanda ha un paio di dimensioni.Il primo è il problema dell'avvio remoto di JMP, il secondo è un problema legale.Esistono modi per avviare una sessione JMP su un computer remoto.La maggior parte di ciò verrebbe gestita dalla funzionalità del sistema operativo e dalla sua relazione con il programma applicativo che hai scritto.
La seconda è una questione di licenza. È necessario assicurarsi che ogni persona che esegue questa sessione JMP remota sia coperta dal contratto di licenza per essere autorizzata/concessa in licenza per eseguire JMP.
Oggetto: eseguire in remoto lo script JSL con i parametriSì, esiste della documentazione relativa all'automazione OLE e ne ho letto la maggior parte.Sebbene utile, per attività generali, come l'avvio di un file .jmp, sembra carente rispetto alle vaste possibilità di interfacciarsi con altri programmi.C'è documentazione più dettagliata da qualche parte?
Ad esempio, posso avviare in remoto uno script JMP da un computer (su cui non è installato JMP) tramite accesso di rete a un computer su cui è installato JMP?O ha bisogno di alcuni file che fanno parte dell'installazione di JMP (come jmp.tlb)?.
Oggetto: eseguire in remoto lo script JSL con i parametrihttp://www.jmp.com/support/help/OLE_Automation.shtml ha documentazioneOggetto: eseguire in remoto lo script JSL con i parametriPotresti includere una funzione "principale" nel tuo script JSL, includerla in una sessione JMP chiamata da un vbscript e quindi chiamare la funzione principale nel tuo script con argomenti.Ecco un esempio:
File .vbs:
'Create the JMP application object
set jmp = Wscript.CreateObject("JMP.Application")
'read the existing jsl script
jmp.RunCommand("include( ""C:/ScriptWithParam.jsl"" );")
'set parameter values
param1 = "some value"
'Run a function inside the script
jmp.RunCommand("MakeTable( """ & param1 & """ );")
File JSL:
MakeTable = function({param1 = "2"},
result = 1;
colvalues = {"Your value was",Char(param1)};
colvalues = Eval List(colvalues);
New Table( "test",
Add Rows( 2 ),
New Column( "Column 1",
Character,
"Nominal",
Set Values( colvalues )
)
);
show(param1);
result = 0;
Return(result);
);Oggetto: eseguire in remoto lo script JSL con i parametriSembra un approccio praticabile e funzionerebbe benissimo per le tabelle che contengono dati da analizzare. Questa applicazione è leggermente diversa poiché elaboriamo dati che vengono archiviati al di fuori di JMP (database SQL). Potrei creare una tabella per contenere lo script (essenzialmente un wrapper), ma penso che dovrebbe esserci un approccio migliore per questa applicazione.
Lo script in questione NON è attualmente contenuto in una tabella. È un file *.jsl autonomo che contiene funzioni scritte personalizzate per caricare dati da varie query SQL, generare più tabelle e grafici e quindi raccogliere i grafici in un diario.
se lo faccio jmp.RunCommand("ID = "12345";") , questo creerà una variabile globale che può essere vista dallo script .. eseguito tramite
jmp.RunJSLFile("") che utilizza ::ID all'interno di varie funzioni?
Oggetto: eseguire in remoto lo script JSL con i parametriSono sicuro che qualcun altro può farlo in modo più elegante, ma ecco un metodo che utilizza vbscript.
Incollalo in un file .vbs su un computer Windows.
'Create the JMP application object
set jmp = Wscript.CreateObject("JMP.Application")
'Open a data table that already contains your script
set jmpdoc = jmp.OpenDocument("C:/test.jmp")
'Make it visible for demo
jmpdoc.Visible = True
'Set a table variable to be your 'parameter'
jmp.RunCommand("current data table() << Set Table Variable( ""input"", 20); ")
'Run the script
jmp.RunCommand("eval(Current Data Table() << Get Table Property( ""add Column"" ));")
Quindi crea una tabella di dati chiamata test.jmp nell'unità C con uno script salvato chiamato "aggiungi colonna" che contiene questo:
dt = current data table();
val = dt << Get Table Variable("input");
New Column( "Column 2",
Numeric,
"Continuous",
Format( "Best", 12 ),
Values( {val, val, val} )
);
Fai doppio clic sul file vbs e dovresti vedere una nuova colonna con tre righe impostate su 20.