JSL: Wie kann ich IDs von ausgewählten Zeilen erhalten und in eine Textdatei exportieren?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo,
Ich möchte ein Skript programmieren, das eine kleine Textdatei erstellt. Diese Datei ist eigentlich ein Snapshot-Link, mit dem FileMaker einen Satz gespeicherter Datensätze öffnet. Dies ist eine XML-Datei, jedoch mit einer Dateierweiterung, die von FileMaker erkannt wird (".fmpsl"):
Snapshot-Link ist eine sehr einfache Datei. Eine erste Textzeichenfolge ist festgelegt, es folgt die ID-Liste der Datenbank (in einer Spalte der JMP-Tabelle gespeichert) und ein dritter Teil, der aus einer festen Textzeichenfolge besteht:
fmnet: /99.129.6.76/my_database.fmp12
Die IDs (der einzige variable Teil) in diesem Beispiel sind die 5935 und 6597.
Ich möchte auch, dass meine Aktion das Öffnen der Snapshot-Link-Datei auslöst. So konnte ich mit einem einfachen Klick in JMP auf meine datenbankbezogenen Datensätze zugreifen.
Ist dieses Projekt mit JSL erreichbar? Die Lösung kann plattformübergreifend sein oder nur unter Mac ausgeführt werden.
Ich bin neu bei JSL.
Danke für deine Hilfe.
CB
Re: JSL: Wie erhalte ich IDs von ausgewählten Zeilen und exportiere sie in eine TextdateiHallo,
Ich habe eine andere Frage. Kann ich eine Liste meiner externen Datenbank-IDs (die in einer Spalte meiner JMP-Tabelle gespeichert sind) anstelle der Tabellenzeilennummern von JMP («fileRows») haben? Der relevante Code in Ihrem Beitrag war:
fileRows = "" ;
Zum ( r = 1 . r <= NRow ( rs ) . r ++
fileRows = fileRows || Verkohlen ( rs [ r ]) || "\! n" ;
) ;
Danke vielmals!
Claude
Re: JSL: Wie erhalte ich IDs von ausgewählten Zeilen und exportiere sie in eine TextdateiGerne helfen, Claude. Ich bin froh, dass Sie eine Lösung gefunden haben, die für Sie funktioniert hat.
Re: JSL: Wie erhalte ich IDs von ausgewählten Zeilen und exportiere sie in eine TextdateiGut. Ich habe Excel als eine ähnliche Situation angegeben, in der JMP nicht mit der Anwendung interagieren muss. Weist das Betriebssystem einfach an, die erstellte Datei mit der Standardanwendung zu öffnen.
Jedenfalls habe ich heute morgen eine praktikable Lösung gefunden. Ich habe ein MacOS-Skript geschrieben (es handelt sich tatsächlich um eine Automator-Aktion), das einen Ordner überwacht und alle darin enthaltenen Dateien öffnet. Es gibt eine Verzögerung (0,5 - 2 Sekunden), aber es funktioniert.
Abschließend möchte ich mich nochmals herzlich für Ihre Unterstützung bedanken. Das wird mir sehr helfen !!
CB
Re: JSL: Wie erhalte ich IDs von ausgewählten Zeilen und exportiere sie in eine TextdateiAm Anfang des Threads erwähnen Sie FileMaker, der, obwohl ich ihn noch nie benutzt habe, folgende Annahme ist: http://www.filemaker.com ). Aber gleich oben erwähnen Sie Excel. Ich bin mir sicher, dass es einen Unterschied zu den Details eines machbaren Ansatzes machen wird.
Wie in der Dokumentation angegeben, steuert 'RunProgram ()' ein externes Programm mit stdin und stdout '. Ich gehe davon aus, dass nach dem Ausschreiben der XML-Datei, die die Daten enthält, die jsl auch eine zweite Datei schreiben muss, die FileMaker oder Excel anweist, diese Daten zu verbrauchen, und diese zweite Datei würde über 'Run Program ()' aufgerufen. Wahrscheinlich lohnt es sich auch zu sagen, dass es (je nachdem, ob Sie FileMaker oder Excel benötigen) einen besseren Weg gibt.
Re: JSL: Wie erhalte ich IDs von ausgewählten Zeilen und exportiere sie in eine TextdateiVielen Dank, Ian.
Ich habe es geschafft, das Skript anzupassen. Die Datei wird erstellt und funktioniert!
Ich verstehe immer noch nicht, wie ich dem Betriebssystem sagen soll, dass es den Text öffnen soll Datei . Ich habe die Skripte des Index und der Hilfe sorgfältig studiert. Ich habe diese 4 Beispiele ausgeführt, aber keines scheint meine Bedürfnisse zu erfüllen.
Wie ich bereits schrieb, ist meine Situation so:
Erstellen Sie ein Skript, das in einer Datei einen Auszug aus der JMP-Tabelle exportieren soll und der dem Betriebssystem mitteilt, diese Datei zu öffnen (über Excel, nicht über JMP).
CB
Re: JSL: Wie erhalte ich IDs von ausgewählten Zeilen und exportiere sie in eine TextdateiDie Referenz, die ich für 'RunProgram ()' im Scripting Index gegeben habe, hat vier Beispiele. Wenn Sie den Code untersuchen und jeden ausführen, sollten Sie ein besseres Bild aufbauen. Es gibt auch eine Schaltfläche "Hilfethema".
Um den Wert einer Zelle abzurufen, anstatt die Zeile, in der sie sich befindet, können Sie die Syntax 'Column (dt, myCol) [myRow] verwenden. Wenn Sie also die Höhen in den ausgewählten Zeilen ausschreiben möchten, benötigen Sie Folgendes:
Verkohlen ( Säule ( dt . "Höhe" ) [ rs [ r ]])
anstatt:
Verkohlen ( rs [ r ])
Re: JSL: Wie erhalte ich IDs von ausgewählten Zeilen und exportiere sie in eine Textdatei2 weitere Fragen:
1- Funktioniert der Befehl "Programm ausführen" nur mit einer ausführbaren Datei (.exe unter Windows oder .app unter Mac OS)? Wie kann das Betriebssystem nach dem Export von JMP-Daten in eine Excel-Datei das Betriebssystem dazu veranlassen, diese Datei automatisch zu öffnen (nicht nur Excel)? Vielleicht wird ein zweiter Parameter benötigt?
2- Der mittlere Abschnitt Ihres Skripts schreibt die ausgewählten Zeilennummern in die Datei. Wie schreibe ich eine Liste mit dem Inhalt einer normalen Datenspalte (meiner internen Datenbank-ID) für ausgewählte Zeilen?
Wie Sie vielleicht sehen, ist mein Verständnis von JSL sehr einfach (und auch mein Englisch).
Danke noch einmal!
CB
Re: JSL: Wie erhalte ich IDs von ausgewählten Zeilen und exportiere sie in eine TextdateiOK. Schauen Sie sich also den Befehl 'RunProgram ()' an (über 'Hilfe> Skriptindex').
Re: JSL: Wie erhalte ich IDs von ausgewählten Zeilen und exportiere sie in eine TextdateiVielen Dank, Ian.
Dies ist ein sehr guter Ausgangspunkt!
Die Aktion ist einfach: dem OS sagen, dass es diesen Snapshot öffnen soll («.fmpsl») FileMaker Datei.
Claude
Re: JSL: Wie erhalte ich IDs von ausgewählten Zeilen und exportiere sie in eine TextdateiSo etwas vielleicht?
NamesDefaultToHere ( 1 ) ;
// Beispieltabelle mit ausgewählten Zeilen
dt = Öffnen ( "$ SAMPLE_DATA / Big Class.jmp" ) ;
dt << Wählen Sie zufällig aus ( 0,5 ) ;
rs = dt << getSelectedRows ;
// Definiere die Einstellungen der .fmpsl-Datei
fileHeader =
"
fmnet: /99.129.6.76/my_database.fmp12