Re: Utiliser la liste des colonnes dans les formulessalut @jthi ,
Je ne sais pas si cela est voulu ou non, mais c'est certainement lié aux crochets de la liste, {}, et au nombre d'éléments de la liste. Je pourrais reproduire les mêmes problèmes que vous avez décrits.
Je pense que votre solution pour faire l'insertion dans est le meilleur choix. L'analyse peut devenir très compliquée et difficile. Je pense que vous avez une bonne solution avec l'insertion dans et qu'il vaut mieux s'en tenir à cela afin de contourner le problème du support de liste.
DS
Re: Utiliser la liste des colonnes dans les formulesEncore une fois, JMP Discovery Summit Meet the Experts tient ses promesses ! J'ai sauté sur Scripting pour Automation & Cust breakout room et @EvanMcCorkle avait une solution bien plus propre que mon insert en boucle dans et eval parse; s remplacer la liste autour de listOfCols avec ColSum :
listOfCols = {:height, :age, :sex}; //won't work here
f = Substitute(listOfCols, Expr(list), Expr(ColSum));
Show(f); //f = ColSum(:height, :age, :sex);Je ne sais pas si la façon dont les fonctions Col Sum() fonctionnent avec une liste de colonnes, mais cette solution est claire et simple.
Utilisation de la liste des colonnes dans les formulesJ'ai rencontré un "problème" en essayant d'utiliser directement une liste de colonnes renvoyée par la boîte de dialogue de colonne (par exemple {:sex, :age: name}). Lorsque j'essaie d'utiliser cette liste directement dans les formules Col (Col Mean, Col Sum...) avec byVars, la formule ne fonctionnera pas correctement. L'utilisation de la liste avec, par exemple, la formule Sum() fonctionne très bien. Est-ce que ce comportement est voulu et quelqu'un a-t-il des moyens plus propres de créer des sommes de col à partir d'une liste de colonnes que les exemples que j'ai ci-dessous ?
Vous trouverez ci-dessous l'exemple de script avec les formules Sum() et ColSum(). J'ai essayé de créer les formules ColSum () de différentes manières, mais j'ai réussi à les faire fonctionner uniquement avec Insert Into avec des expressions et EvalParse (que j'essaierai d'éviter en raison des problèmes de débogage).
Exemple:
Noms par défaut ici (1) ; dt = Open("$SAMPLE_DATA/Big Class.jmp"); dt << Nouvelle colonne("Somme", Numérique, "Continu", Format("Meilleur", 12), Formule(Somme(:hauteur, :poids))); listOfCols = {:hauteur, :poids} ; //list travaille ici dt << Nouvelle colonne("SumList", <
Script