Referenzieren einer Spalte in JSLIch bin immer wieder erstaunt darüber, wie viele grundlegende Informationen zu JSL in Tutorials und Internetsuchen fehlen. Ich bin mir nicht sicher, wie man von einem die Grundlagen dieser Sprache erlernen soll, ohne riesige Mengen unnötiger Zusatzinformationen durchzuwühlen und am Ende sowieso nicht das zu finden, was man braucht. Ich denke, das ist der Grund, warum die Diskussionsforen als Ressource verfügbar sind.
Ich versuche einfach, auf eine Spalte mit einer Datentabelle in JSL zu verweisen.
dt = Open("filepath.jsl");
col = dt:"Column Title/Name";Wenn ich Write() schreibe, wird in der Spalte nichts angezeigt, was bedeutet, dass die Referenz nicht referenziert. Die Spalte ist eindeutig mit Daten gefüllt, sie ist nicht leer, das habe ich überprüft. Das ist ein dummer Fehler, aber ich habe das im Griff. Allerdings weiß ich nicht, was los ist. Ich dachte, das wäre eine ziemlich grundlegende Sache in JSL, aber ich stelle immer wieder fest, dass diese „sehr grundlegenden Dinge in JSL“ durchfallen und wertvolle Minuten bis Stunden der Fehlerbehebung kosten, wenn ich an der Logik meines Codes arbeiten könnte. Ich neige dazu, bei meinem Vorgesetzten eine Beschwerde über unsere Verwendung dieser Sprache einzureichen und vorzuschlagen, möglicherweise auf etwas zu wechseln, das für die Programmierung logischer und besser gestaltet ist (JSL dient offensichtlich statistischen Zwecken, nicht wirklich der Programmierlogik), wie Python.
. Vielen Dank für Ihre Hilfe.
Automatisierung und SkripterstellungDatenzugriffDatenmischung und -bereinigungVersuchsplanungMassenanpassungBetreff: Referenzieren einer Spalte in JSL[NB: Das meiste davon hatte ich schon einmal geschrieben @jthi antwortete und sagte fast dasselbe.]
Erstens, wenn Sie (zumindest die ersten paar Kapitel) des nicht gelesen haben JMP-Skripthandbuch ( PDF , falls gewünscht) sollten Sie wirklich tun.
JMP ist eine Skriptsprache, keine Programmiersprache. Es ist eng mit der Benutzeroberfläche von JMP verknüpft und soll die Automatisierung von JMP-Aufgaben ermöglichen. Der Versuch, es genauso zu betrachten wie Python oder andere Sprachen, die keine Benutzeroberfläche steuern, wird zu Frustration führen.
Ich versuche einfach, auf eine Spalte mit einer Datentabelle in JSL zu verweisen.
Ihre Frage ist ein Beispiel dafür. Das Konzept des „Verweisens auf eine Spalte“ ist kompliziert, da eine „Spalte“ in unterschiedlichen Kontexten unterschiedliche Bedeutungen haben kann (z. B. ein Plattformaufruf, die Manipulation der Eigenschaften einer Spalte, eine Spaltenformel).
Also, welches „col“ soll in Ihrem Beispiel enthalten sein? Die in der Spalte enthaltenen Daten? Der Wert einer bestimmten Zeile dieser Spalte?
Oder anders gefragt? Wo wollten Sie „col“ verwenden, nachdem Sie es auf den gewünschten Inhalt eingestellt hatten? In einem Plattformaufruf (z. B. Distribution(Y(col))? Oder irgendwo anders?
Betreff: Referenzieren einer Spalte in JSLWenn ich mich richtig erinnere, erhalten Sie durch die Verwendung von dt:"colname" (wie Sie As Column() verwenden würden) direkten Zugriff auf den aktuellen Wert der aktuellen Row() der Spalte mit dem Namen "colname" in der Datentabelle mit Referenz dt. Um einen Verweis auf eine Spalte zu erhalten, können Sie Column(dt, „colname“) als verwenden @Thierry_S sagte.
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(5),
Compress File When Saved(1),
New Column("Column Title/Name",
Character,
"Nominal",
Set Values({"a1", "b2", "c3", "d4", ""})
)
);
For each row(dt,
col = dt:"Column Title/Name";
Show(col);
);
Row() = 1;
col = AsColumn(dt, "Column Title/Name");
Show(col);
col = Column(dt, "Column Title/Name");
Show(col);Ich sage definitiv nicht, dass die JSL-Dokumentation die beste ist, aber sie enthält einiges an Material (und eine großartige Community und Support per E-Mail). Für den Anfang sind dies gute Quellen:
JMP15 – Skripting-Handbuch
JMP-Hilfe
Skriptindex direkt von JMP
Wenn in der JMP-Hilfe oder im Skriptindex etwas fehlt oder unklar ist, bin ich mir ziemlich sicher, dass JMP diese gerne verbessern würde.
@Jeff_Perkinson
Betreff: Referenzieren einer Spalte in JSLDie korrekte Syntax lautet: col = Column (dt, „Name“)