JSL – Importieren eines bestimmten Excel-Arbeitsblatts und Ändern<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Erstens verwende ich JMP 11
Ich versuche, ein Vorlagenskript zu erstellen, das meine Analysten in Zukunft verwenden können. Ich bin neu bei JSL und versuche herauszufinden, wie man ein bestimmtes Arbeitsblatt in JSL importiert, dann bestimmte Variablen so ändert, dass sie numerisch sind, und eine neue Berechnung hinzufügt.
Wenn ich den Importteil dieses Codes ausprobiere, wird der Importassistent geöffnet, anstatt eine neue Datentabelle mit dem Namen „Unsere Daten“ zu erstellen.
--
dtmain = New Table("Our Data",
Open("C:\Testing Data.xlsx",
Arbeitsblätter („Endgültige Daten“),
)
);
Aktuelle Datentabelle (dtmain);
Spalte (dtmain, „Typ“) <
Spalte (dtmain, „Ergebnis1) <
Spalte (dtmain, „Result2“) <
Neue Spalte( „Ergebnisverhältnis“,
Numerisch,
Kontinuierlich,
Format( „Best“, 12 ),
Formel( :Ergebnis1 / :Ergebnis2 )
);
Betreff: JSL – Importieren eines bestimmten Excel-Arbeitsblatts und ÄndernAlternativ gibt es die Funktion „Pick File()“, um die bestimmte Datei im Dateipfad auszuwählen, die in die Open()-Funktion integriert werden kann:
Open(Pick File(
"Select JMP File",
"$DOCUMENTS",
{"JMP Files|jmp;jsl;jrn", "All Files|*"},
1,
0,
"newJmpFile.jmp"
),
Worksheets( "Sheet 1" ),
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( "-" )
)
);Oder eine andere Möglichkeit besteht darin, der Excel-Datei immer einen identischen Namen zu geben, damit das Skript Open() mit diesem spezifischen Namen verwendet werden kann:
Open(
"C:\Desktop\ExcelFile.xlsx",
Worksheets( "Sheet1" ),
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( "-" )
)
);
Betreff: JSL – Importieren eines bestimmten Excel-Arbeitsblatts und ÄndernSie können den Teil „Arbeitsblätter“ nicht außerhalb von „Öffnen“ haben, da er sich auf die zu öffnende Datei bezieht.Es gibt wirklich keine Möglichkeit, Standardeinstellungen für ein allgemeines Öffnen in JSL festzulegen.Die JSL soll bekannte Blätter mit bekannten Namen und Einstellungen öffnen.Verzeihung.
Brian Corcoran
Betreff: JSL – Importieren eines bestimmten Excel-Arbeitsblatts und ÄndernWie ist das Format, wenn wir eine Datei öffnen möchten?
Ich habe das verwendet, aber es hat nicht funktioniert
Offen ();
Arbeitsblätter ( „Planeten“ ) ,
Für alle Blätter verwenden ( 1 ) ,
Arbeitsblätter verketten ( 0 ) ,
Verkettungsspalte erstellen ( 0 ) ,
1 ,
Hat Spaltenüberschriften ( 1 ) ,
Anzahl der Zeilen in Kopfzeilen ( 1 ) ,
Kopfzeilen beginnen in der Zeile ( 2 ) ,
Daten beginnen in Zeile ( 3 ) ,
Daten beginnen in der Spalte ( 1 ) ,
Daten enden in Zeile ( 0 ) ,
Daten enden in der Spalte ( 0 ) ,
Replizierte übergreifende Zeilen ( 1 ) ,
Verborgene Zeilen unterdrücken ( 1 ) ,
Ausgeblendete Spalten unterdrücken ( 1 ) ,
Als Hierarchie behandeln ( 0 )
));
Betreff: JSL – Importieren eines bestimmten Excel-Arbeitsblatts und ÄndernJa Dankeschön! Ich hatte das schon einmal mit meinem vorherigen Code versucht und er öffnete eine Datentabelle mit nur einer leeren Spalte. Dies tun mit Die oben erwähnte Codeänderung hat funktioniert.
Vielen Dank!
Betreff: JSL – Importieren eines bestimmten Excel-Arbeitsblatts und ÄndernDer einfachste Weg für Sie, den Abschnitt „Datei öffnen“ der JSL richtig hinzubekommen, besteht darin, die Datei zunächst über die Benutzeroberfläche und den Excel-Assistenten zu öffnen.Dann sehen Sie in der geöffneten Tabelle ein Quellskript.Dieses Skript enthält die JSL, die zum erneuten Öffnen der Tabelle auf genau die gleiche Weise erforderlich ist.Sie können mit der rechten Maustaste auf das Quellskript klicken und „Bearbeiten“ auswählen, um die JSL zu extrahieren.Ein Beispiel aus einer meiner Tabellen ist:
Offen (
„C:\Testdata\excel\Excel 2007+\MultipleDiffSettings.xlsx“ ,
Arbeitsblätter ( „Planeten“ ) ,
Für alle Blätter verwenden ( 1 ) ,
Arbeitsblätter verketten ( 0 ) ,
Verkettungsspalte erstellen ( 0 ) ,
1 ,
Hat Spaltenüberschriften ( 1 ) ,
Anzahl der Zeilen in Kopfzeilen ( 1 ) ,
Kopfzeilen beginnen in der Zeile ( 2 ) ,
Daten beginnen in Zeile ( 3 ) ,
Daten beginnen in der Spalte ( 1 ) ,
Daten enden in Zeile ( 0 ) ,
Daten enden in der Spalte ( 0 ) ,
Replizierte übergreifende Zeilen ( 1 ) ,
Verborgene Zeilen unterdrücken ( 1 ) ,
Ausgeblendete Spalten unterdrücken ( 1 ) ,
Als Hierarchie behandeln ( 0 )
));
Betreff: JSL – Importieren eines bestimmten Excel-Arbeitsblatts und ÄndernLeider wird immer noch der Excel-Import-Assistent geöffnet. Es gibt mehrere Arbeitsblätter in der Excel-Datei, falls das einen Unterschied macht, obwohl ich denke, dass der Befehl „Arbeitsblätter“ verhindern würde, dass dies ein Problem darstellt.
Betreff: JSL – Importieren eines bestimmten Excel-Arbeitsblatts und ÄndernVersuchen Sie, die Befehle zum Öffnen und Umbenennen zu trennen:
dtmain = Offen ( „C:\Testing Data.xlsx“ , Arbeitsblätter ( „Endgültige Daten“ )) ;
dtmain << Name einsetzen ( "Unsere Daten" ) ;