JLS - Diviser la colonne par une valeur<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Re-bonjour,
J'écris un script qui ouvre plusieurs fichiers csv et les joint ; ça marche bien !
Dans une colonne, j'aimerais diviser les valeurs d'une autre colonne par une valeur.Je n'arrive tout simplement pas à comprendre.Je peux cependant le faire sur l'éditeur de formule, mais je ne pense pas pouvoir utiliser cette syntaxe lors de l'écriture de scripts.
dt << Nouvelle colonne("."); //juste pour créer une colonne vide
dt << Nouvelle colonne ("Id(A/mm)");
col = Colonne("Id(A/mm)");
col << Définir la formule (Colonne ("Id(A)")/Wg);
col << EvalFormula;
[code/]
Re : JLS – Diviser la colonne par une valeurJ'ai choisi d'utiliser la deuxième méthode de David.Je pense comprendre pourquoi sa première méthode pose problème, mais je n'ai pas pu apporter les modifications suggérées.Pendant que j'exécute le script, je peux créer toutes les nouvelles colonnes, mais les formules ne fonctionnent pas.
col= nouvelle colonne("."); //ajoute une colonne vide
col=Nouvelle colonne("Id(A/mm)",numérique,continu);
col<
col<Re : JLS – Diviser la colonne par une valeur
oui, bien repéré.merci
Re : JLS – Diviser la colonne par une valeurIl y a un problème avec la première solution fournie par David.Pendant que le code fonctionne, la formule créée est :
:Séquence/valeurVersDivideBy
Étant donné que "valueToDivideBy" est une variable de mémoire scalaire, qui disparaîtra une fois la session JMP fermée ou qui pourrait changer de valeur au cours du traitement de la journée, la valeur calculée de "col" pourrait devenir invalide ou incorrecte.La deuxième version de la formule serait préférée.Cependant, si vous souhaitez utiliser la structure de la première solution, vous pouvez faire plusieurs choses :
1. Modifiez la formule Se en :
col << Set Formula(Eval(Parse(":Sequence/"||char(valueToDivideBy)));
2. Convertissez la formule en valeurs statiques une fois la formule appliquée.Pour ce faire, ajoutez la ligne suivante après la ligne col << Set Formula
col << delete property("formule");
Re : JLS – Diviser la colonne par une valeurquelque chose comme ça peut-être :
quelquesNombres = 1 :: dix ;
Nouveau tableau ( "démo" ,
Ajouter des lignes ( dix ) ,
Nouvelle colonne ( "Séquence" , numérique , continu , << Définir les valeurs ( quelquesNombres ) )
) ;
col = Nouvelle colonne ( "." , numérique , continu ) ;
valeurVersDivideBy = 2 ;
col << Définir la formule ( : Séquence / valeurVersDivideBy ) ;
// ou ...
col = Nouvelle colonne ( ".." , numérique , continu ) ;
col << Définir la formule ( CommeColonne ( "Séquence" ) / 2 ) ;