<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo. Ich möchte JSL innerhalb von VB ausführen.
Ich versuche, einen Satz von 2 Zeichenspalten zu einer einzelnen Zeichenspalte "X" zu kombinieren, wobei jedes Feld durch ein Leerzeichen (" ") getrennt ist.
In der JMP-Benutzeroberfläche würde ich die 2 Spalten in der Datentabelle auswählen und dann zu gehen Spalten > Dienstprogramme > Spalten kombinieren .
Kann mir jemand sagen, warum der folgende Code nicht funktioniert?
Ich bekomme den folgenden Fehler:
Name Unresolved: jmp_dt im Zugriff oder Auswertung von 'jmp_dt' , jmp_dt/*###*/
Dim jmp_app Als JMP.Application
Dim jmp_doc Als JMP.Document
Dim jmp_dt als JMP.DataTable
Dim str als Zeichenfolge
Set jmp_app = CreateObject("JMP.Application")
jmp_app.Visible = Wahr
Set jmp_doc = jmp_app.OpenDocument("C:\Program Files\SAS\JMP\12\Samples\Data\Big Class.jmp")
Setzen Sie jmp_dt = jmp_doc.GetDataTable
str = "Combine Columns( delimiter("" ""), Columns(:sex,:age), Column Name(""X"") );"
jmp_dt.JSLFunction (str)
Durch das Lesen anderer Threads der JMP User Community habe ich von der Aktuelle Datentabelle Funktion.
Diese Funktion ermöglicht es JSL, auf eine bereits geöffnete Tabelle zu verweisen (in meinem Fall wurde sie von Visual Basic geöffnet), und jetzt funktioniert mein Code.
Hier sind meine überarbeiteten letzten 2 Codezeilen:
str = "dt = Aktuelle Datentabelle();" & _
"dt << Combine Columns( Delimiter( "" "" ), Columns(:sex,:age), Column Name(""X"") );"
jmp_app.RunCommandstr
Vielen Dank an die JMP User Community für all die guten Informationen!
jb