Verwendung einer Spaltenliste in FormelnBeim Versuch, eine vom Spaltendialog zurückgegebene Spaltenliste direkt zu verwenden (z. B. {:sex, :age: name}), ist ein „Problem“ aufgetreten. Wenn ich versuche, diese Liste direkt in Col-Formeln (Col Mean, Col Sum...) mit byVars zu verwenden, funktioniert die Formel nicht richtig. Die Verwendung der Liste beispielsweise mit der Sum()-Formel funktioniert einwandfrei. Ist dieses Verhalten beabsichtigt und hat jemand bessere Möglichkeiten, Spaltensummen aus einer Liste von Spalten zu erstellen, als die Beispiele, die ich unten habe?
Unten finden Sie das Beispielskript mit den Formeln Sum() und ColSum(). Ich habe versucht, die ColSum()-Formeln auf verschiedene Arten zu erstellen, konnte sie aber nur mit „Insert Into“ mit Ausdrücken und „EvalParse“ zum Laufen bringen (was ich wegen des Aufwands beim Debuggen zu vermeiden versuche).
Beispiel:
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("Sum", Numeric, "Continuous", Format("Best", 12), Formula(Sum(:height, :weight)));
listOfCols = {:height, :weight}; //list works here
dt << New Column("SumList", <<FORMULA></FORMULA>
Erweiterte statistische ModellierungAutomatisierung und SkripterstellungDatenmischung und -bereinigungVersuchsplanungQualitäts- und VerfahrenstechnikBetreff: Spaltenliste in Formeln verwendenDer JMP Discovery Summit Meet the Experts liefert erneut! Gesprungen Skripterstellung für Automatisierungs- und Kunden-Breakout-Räume und @EvanMcCorkle hatte eine viel sauberere Lösung als meine Schleifeneinfügung in und die Auswertungsanalyse; S Ersetzen der Liste um listOfCols durch ColSum:
listOfCols = {:height, :age, :sex}; //won't work here
f = Substitute(listOfCols, Expr(list), Expr(ColSum));
Show(f); //f = ColSum(:height, :age, :sex);Ich bin mir nicht sicher, ob die Funktionsweise von Col Sum() mit Spaltenlisten funktioniert, aber diese Lösung ist sauber und einfach.
Betreff: Spaltenliste in Formeln verwendenHallo @jthi ,
Ich bin mir nicht sicher, ob dies beabsichtigt ist oder nicht, aber es hängt definitiv mit den Listenklammern {} und der Anzahl der Elemente in der Liste zusammen. Ich könnte die gleichen Probleme reproduzieren, die Sie beschrieben haben.
Ich denke, Ihre Lösung zum Einfügen in ist die beste Wahl. Die Analyse kann sehr kompliziert und schwierig werden. Ich denke, Sie haben mit „Einfügen in“ eine gute Lösung, und am besten bleiben Sie dabei, um das Problem mit den Listenklammern zu umgehen.
DS