Hallo, ich verwende JMP 15 auf einem Mac. Der folgende Code funktioniert:
dt = current data table();
Current Data Table() << Row Selection(
Select where( (:Stat == "Max"), Current Selection( Extend ))
);
Aber das bedeutet nicht:
dt = current data table();
Current Data Table() << Row Selection(
var = "Max"
Select where( (:Stat == var), Current Selection( Extend ))
);
Kann mir jemand erklären, was mit dem zweiten nicht stimmt?
Scheint, als ob etwas Seltsames vor sich geht (getestet mit JMP16.0 unter Windows 10). Achten Sie bei der Zeilenauswahl sorgfältig auf die Klammern
Beispiel aus dem Skriptindex (funktioniert gut):
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Row Selection(Select where(:age < 15));
Wait(2);
dt << Row Selection(
Select where(:age == 15),
current selection("extend")
);Variable vor der Auswahl der zweiten Zeile hinzufügen und verwenden (gibt Scriptable[] zurück):
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Row Selection(Select where(:age < 15));
Wait(2);
ageVar = 15;
dt << Row Selection(
Select where(:age == ageVar),
current selection("extend")
);
Verschieben der Klammer vom Ende von Select Where nach der aktuellen Auswahl (scheint gut zu funktionieren, aber diese Syntax scheint für die Zeilenauswahl basierend auf dem Skriptindex falsch zu sein):
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Row Selection(Select where(:age < 15));
Wait(2);
ageVar = 15;
dt << Row Selection(
Select where(:age == ageVar,
current selection("extend"))
);
Bei Verwendung der Select Where-Plattform scheint das generierte Skript wie folgt zu lauten:
Data Table("Big Class") << Row Selection(
Select where(:age == 15, Current Selection("Extend")),
Dialog(Edit(Equal(Source Column(:age))), Keep dialog open(1))
);
Auswahl, wenn die Zeilenauswahl nicht verwendet wird:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Row Selection(Select where(:age < 15));
Wait(2);
ageVar = 15;
dt << Select where(:age == ageVar, current selection("extend"));
Wenn kein Dialog erforderlich ist, würde ich höchstwahrscheinlich immer einfach << Select Where (ohne Zeilenauswahl) verwenden, da die Syntax einfacher ist und ich nicht sicher bin, ob die Zeilenauswahl außer dem Dialog noch etwas Zusätzliches zur Tabelle bringt.
Ich bin mir nicht sicher, wen ich hier von JMP/SAS taggen soll, um einen Blick darauf zu werfen.
Ok, ich habe es gelöst. Das hat gefehlt:
(:Stat == (myStat))
Die Variable muss also in zwei Klammern stehen!
Keine Änderung (Danke jedoch für Ihre Antwort).
Versuchen Sie, var = „Max“ außerhalb der << Row Selection() zu verschieben. Und fehlend hinzufügen;