Wie ändere ich das Spaltenformat in JSL oder behebe den Fehler „Send erwartet skriptfähiges Objekt“.Ich arbeite daran, (2) Tabellen in einem JSL-Skript zu verbinden.Das Problem, das ich habe, ist das Speichern der neu verknüpften Tabellen.Es gibt (2) Probleme.
Das erste Problem besteht darin, dass die Datenspalten von (Test2) als Zeichen/Nominal in JMP eingehen und numerisch/kontinuierlich sein müssen.Wenn ich das Excel-Tabellenspaltenformat in numerisch ändere oder erstelle, erhalte ich die folgende Fehlermeldung in der dt3 <
Send erwartet skriptfähiges Objekt beim Zugriff oder Auswertung von 'Send' , dt3 << /*###*/save as("B:\JoinTest1_2.jmp") /*###*/
Wenn ich versuche, das JMP-Datentabellenspaltenformat in JSL zu formatieren, erhalte ich den gleichen Fehler während der Anweisung zum Speichern als.
Ich habe das stundenlang gesucht und kann es einfach nicht herausfinden.
Hier ist mein Code.Jede Hilfe wäre sehr willkommen.
Names Default To Here( 1 );
dt1 = open("B:\Test1.jmp");
dt2 = Open("B:\Test2.jmp",
Worksheets( "WorkSheet1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
column(dt2,"Column1") << data type(Numeric)<<MODELING type=""></MODELING>Betreff: Wie ändere ich das Spaltenformat in JSL oder gehe mit dem Fehler „Send erwartet skriptfähiges Objekt“ um?Ich empfehle dringend, dass Sie sich angewöhnen, zum Scripting Index zu gehen, um die Beschreibung und Beispiele der verschiedenen Funktionen, die Sie verwenden, zu erhalten.
Hilfe==>Scripting-Index
Oder um nur eine Beschreibung zu erhalten, können Sie nach Eingabe eines Funktionsnamens mit dem beginnenden „(“ den Mauszeiger über den Funktionsnamen bewegen und es wird eine Beschreibung der Funktion angezeigt
Betreff: Wie ändere ich das Spaltenformat in JSL oder gehe mit dem Fehler „Send erwartet skriptfähiges Objekt“ um?Das hat super funktioniert, also ist die Spaltennummer die richtige Syntax, nicht der Spaltenname. Pah, das hätte ich mir denken können.
Danke schön!Betreff: Wie ändere ich das Spaltenformat in JSL oder gehe mit dem Fehler „Send erwartet skriptfähiges Objekt“ um?Ok, ich bin auf eine Teillösung gestoßen, die Tabelle für dt1 und dt2 enthält sowohl Zeichendaten als auch numerische Daten, obwohl beide Excel-Dateien in Excel als "Allgemein" formatiert sind, aus welchem Grund auch immer die dt2-Tabelle das nicht mag und zwang mich, die numerischen Spalten als "Zahlendaten" zu formatieren.
Es gibt also eine Problemumgehung, aber ich würde gerne wissen, warum das Skript nicht zu funktionieren scheint, wenn die Parameter programmgesteuert geändert werden.Betreff: Wie ändere ich das Spaltenformat in JSL oder gehe mit dem Fehler „Send erwartet skriptfähiges Objekt“ um?Ich glaube, ich sehe das Problem.Wenn Sie angeben
column(dt2,"Column1") << data type(Numeric)<<MODELING type=""></MODELING>
JMP sucht nach einer Spalte mit dem Namen „Spalte1“.....Ja....Excel setzt Spaltennamen aus der Excel-Tabelle, weil es in der Definition angegeben ist, wie die Excel-Datei gelesen werden soll
Has Column Headers( 1 )
Wenn Sie also den Datentyp usw. mithilfe der Spaltenposition ändern möchten, müssen Sie dies angeben
column(dt2,1) << data type(Numeric)<<MODELING type=""></MODELING>
Betreff: Wie ändere ich das Spaltenformat in JSL oder gehe mit dem Fehler „Send erwartet skriptfähiges Objekt“ um?Ja, Sie haben Recht, dt2 ist eine Excel-Datei. Entschuldigung, dieser Code ist generisch für das, was ich mit tatsächlichen Dateien mache.
Ich habe zwei Spalten mit demselben Titel (Beispiel-ID).
Der Code verhält sich genauso, beim Öffnen von dt2 sind die Datenspalten nicht numerisch/kontinuierlich und wenn ich versuche, die Spaltenparameter im Skript zu ändern, erhalte ich den obigen Fehler. Wie interpretiert JMP Excel-Daten mit einer Spaltenüberschrift, könnte es den Text in der Spaltenüberschrift verwenden, um die Parameter festzulegen?Betreff: Wie ändere ich das Spaltenformat in JSL oder gehe mit dem Fehler „Send erwartet skriptfähiges Objekt“ um?Es gibt ein paar Probleme, die ich sehe.Ich bin mir nicht sicher, ob dt2 eine .jmp-Datentabelle oder eine Excel-Datei öffnet.Sie haben angegeben, dass dt2 eine .jmp-Datei ist, aber Excel-Spezifikationen eingeschlossen.
Als nächstes sollte die korrekte Form des Codes "By Matching Columns" :Column1 = :Column1........aber so wie es ist, wenn beide Spalten in den Datentabellen vorhanden sind, sollte es kein Problem geben
Ich habe einige Anweisungen hinzugefügt, um sicherzustellen, dass die Datentabelle dt3 sowohl vor als auch nach dem Schließen der Datentabellen dt1 und dt2 vorhanden ist.
Führen Sie den Code aus und sehen Sie, was das JMP-Protokoll ausgedruckt hat
Names Default To Here( 1 );
dt1 = open("B:\Test1.jmp");
dt2 = Open("B:\Test2.jmp", // Is this a JMP table or an Excel..... the .jmp extension seems strange here
Worksheets( "WorkSheet1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
column(dt2,"Column1") << data type(Numeric)<<MODELING type=""></MODELING>