Das Festlegen der Link-ID in JSL scheint nicht zu funktionieren – was ist falsch?Ich versuche, eine Link-ID in JSL festzulegen, aber wenn ich sie in JSL festlege, scheint die Link-ID in der Tabelle so festgelegt zu sein, wie sie sollte, aber der Link-Verweis in der anderen Tabelle, der darauf verweisen soll, funktioniert nicht.
Wenn ich die Link-ID entferne und durch einen Rechtsklick auf die Link-ID einstelle, funktioniert alles einwandfrei.
Ich benutze das:
dfps:name( "Country" ) << Set Property( "Link ID", 1 );
Ich kann nicht sehen, was daran falsch ist. Fehlt mir ein Aktualisierungsvorgang, damit es funktioniert? Irgendwelche Vorschläge?
MassenanpassungBetreff: Das Festlegen der Link-ID in JSL scheint nicht zu funktionieren – was ist falsch?Danke Mandy,
Manchmal möchte man nicht, dass Dinge gerettet werden.
Aber vielen Dank für den Hinweis, dass dieses Problem in JMP 17 behoben ist. Ich bin am 16.2. In einem größeren Unternehmen ist es nicht immer einfach, auf eine neuere Softwareversion zu aktualisieren, aber jetzt weiß ich, dass sich der Aufwand lohnen würde.
Betreff: Das Festlegen der Link-ID in JSL scheint nicht zu funktionieren – was ist falsch?Vielen Dank für das Teilen dieser Kommentare und Erkenntnisse.Es wurde oft empfohlen, die Tabellen vor dem Erstellen dieser Link-IDs und Link-Referenzen für Tabellen zu speichern, um sicherzustellen, dass sie ordnungsgemäß gespeichert werden. Es wurde jedoch ein Fehler gemeldet, der im JMP-Zyklus 17.0 behoben wurde. Dieses Skriptverhalten schlägt also nicht mehr fehl.
Installieren Sie das neue JMP 17.0 und dieses Verhalten sollte weiter verbessert werden.Danke.
Betreff: Das Festlegen der Link-ID in JSL scheint nicht zu funktionieren – was ist falsch?@Robbb Ich habe gerade eine Nachricht an das Entwicklerteam gesendet. Ich habe Ihre Theorie nicht getestet, hoffe aber, dass Sie eine Ursache für die Unvorhersehbarkeit identifiziert haben. Das ist glaubwürdig, weil das aktuelle Verzeichnis etwas anders ist, wenn ein Skript nicht gespeichert wird, und die Tabellen möglicherweise davon abhängen, was damit zusammenhängt.
Betreff: Das Festlegen der Link-ID in JSL scheint nicht zu funktionieren – was ist falsch?Wie Craige erwähnt, glaube ich, dass es sich um ein „sicheres“ Problem handelt. Ich hatte dieses Problem schon einmal und frustrierenderweise hatte ich es nur auf dem PC. Auf dem Mac musste ich das Speichern nicht durchführen.
Das Problem wurde behoben, indem sichergestellt wurde, dass meine Tabelle zuerst gespeichert wurde.
Brady
Betreff: Das Festlegen der Link-ID in JSL scheint nicht zu funktionieren – was ist falsch?Ich habe etwas Neues entdeckt:
Wenn das JSL-Skript, das ich ausführe, nicht gespeichert ist und noch nie zuvor gespeichert wurde (wenn also der Quellcode in ein völlig neu geöffnetes Skriptfenster geschrieben oder kopiert wurde), funktioniert das Verknüpfen zweier nicht gespeicherter Datentabellen wie ein Zauber.
Wenn es gespeichert ist oder es sich um ein vorhandenes Skript handelt, das gerade geändert und nicht gespeichert wurde, funktioniert es nicht.
Betreff: Das Festlegen der Link-ID in JSL scheint nicht zu funktionieren – was ist falsch?Hallo zusammen,
Ich habe das gleiche Problem mit der Verknüpfung zweier Tabellen per Skript.
Es verhält sich genau so @ThomasZatValcon beschrieben.
Nachdem ich es manuell durch Klicken ausgeführt hatte, kopierte ich dann die beiden Codezeilen aus dem Protokoll.
Dann kommt es darauf an, wo sie eingefügt werden. Wenn ich sie in ein neues Skriptfenster einfüge, funktioniert das Skript. Wenn ich sie in mein aktuell in der Entwicklung befindliches Skript einfüge (von dem aus die beiden Tabellen ursprünglich geöffnet wurden), funktioniert es nicht.
Gibt es neue Erkenntnisse zu diesem Thema?
Prost
Robert
Übrigens. Mittlerweile habe ich einen entsprechenden Thread gefunden. Die Problemumgehung besteht darin, zuerst die Datentabellen zu speichern. Dies ist jedoch nicht immer praktisch.
https://community.jmp.com/t5/Discussions/Virtual-Join-via-JSL-does-not-work/td-p/360675
Betreff: Das Festlegen der Link-ID in JSL scheint nicht zu funktionieren – was ist falsch?Versuchen Sie, die Tabellen vor dem Verknüpfen zu speichern und prüfen Sie, ob Ihre Ergebnisse konsistent sind. Ich bin mir nicht sicher, wie die Links intern funktionieren, aber es könnte davon abhängen, ob ein Dateiname verfügbar ist.
Betreff: Das Festlegen der Link-ID in JSL scheint nicht zu funktionieren – was ist falsch?Es sind zwei verschiedene Tische. Die linke Tabelle ist die Tabelle mit der ID, die linke Tabelle ist die Tabelle mit der Referenz.
Ja, ich habe versucht, auf Column(dt...) und dt:name()... zu verweisen.
Ich habe auch versucht, den Code, der funktioniert (wenn er aus einem separaten Skriptfenster ausgeführt wird), in eine separate Datei zu packen und einzubinden. Hat auch nicht funktioniert. Ich habe versucht, es in ein expr() einzufügen und auszuwerten. Hat auch nicht geholfen.
Aber die beiden Codezeilen funktionieren, wenn ich ein separates Skriptfenster erstelle und sie von dort aus ausführe, was unerwartet ist.
Betreff: Das Festlegen der Link-ID in JSL scheint nicht zu funktionieren – was ist falsch?Sollen sie gleich sein? Weil die beiden Tabellen eine unterschiedliche Anzahl von Spalten haben.
Haben Sie nachgesehen, dass „dfps“ richtig ist? Oder versucht, „Column(dt, „Country“)“ zu verwenden?Betreff: Das Festlegen der Link-ID in JSL scheint nicht zu funktionieren – was ist falsch?Ich habe es immer noch nicht herausgefunden, aber ich bemerke hier ein wirklich seltsames Verhalten:
Den gleichen Code in zwei Fenstern haben:

Wenn ich den Code im linken Fenster ausführe, fällt mir auf, dass das Symbol mit den beiden Tasten grau ist (es funktioniert nicht):

Wenn ich die gleichen zwei Zeilen im rechten Fenster ausführe, funktioniert es:

Der Code im linken Fenster ist der Ort, an dem die JSL erstellt wurde. Der gesamte Code wird nur im globalen Namespace ausgeführt. Ich habe es sogar mit der Standardeinstellung „hier(1)“ für Namen versucht und das gleiche Verhalten erhalten, was mich überrascht hat, da ich erwartet hatte, nicht in der Lage zu sein, die Tabellenvariablen von einem anderen Skriptfenster aus zu referenzieren.
Betreff: Das Festlegen der Link-ID in JSL scheint nicht zu funktionieren – was ist falsch?Danke. Ich habe Ihren Code geändert, um besser darzustellen, was vor sich geht (Tabellen befinden sich nur im Speicher), um genauer darzustellen, was vor sich geht, und habe erwartet, dass es fehlschlägt, aber es funktioniert tatsächlich. Ich habe immer noch nicht herausgefunden, warum mein anderer Code fehlschlägt, werde diesen Thread aber aktualisieren, wenn ich es herausfinde.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
// creating a unique ID
dt2 = dt << subset( all rows, all columns );
dt2 << New Column( "_Row", <<SET each="" value=""></SET>
Betreff: Das Festlegen der Link-ID in JSL scheint nicht zu funktionieren – was ist falsch?Wollen Sie damit sagen, dass Sie die Referenz vor der ID festlegen?Ich bin mir nicht sicher, wie Sie das machen würden, aber das funktioniert bei mir gut.
Names default to here( 1 );
dt = open("$SAMPLE_DATA\Big Class.jmp");
// creating a unique ID
dt << New Column("_Row", << Set Each Value(Row()));
// subsetting just so I have something to link
dt_sub = dt << Subset(
Selected Rows( 0 ),
Rows( [1, 2, 3, 4, 5] ),
columns( :_Row )
);
Column(dt, "_Row") << Set Property( "Link ID", 1 );
Column(dt_sub, "_Row") << Set Property( "Link Reference",
Reference Table( "$SAMPLE_DATA\Big Class.jmp" )
);