Bonjour,
J'ai besoin de votre aide pour diviser les colonnes par une variable d'une autre table
dt est une grande table avec beaucoup de colonnes
dt2 a 2 colonnes "Names" (contient les noms de colonne de dt) et "DivideValue" (peut être 10, 100, 10000,...)
Je veux diviser les colonnes dt par le dt2 Dividevalue IF dt column nane = dt2 Names.
Je pourrais créer une nouvelle colonne avec une formule, puis supprimer la propriété et supprimer "l'ancienne colonne", mais je suppose que nous pourrions appliquer une formule aux colonnes actuelles ?
J'ai trouvé qu'on pouvait appliquer un format personnalisé comme ci-dessous : A/ dix
Colonne( "A" ) << set Format( "Personnalisé", Formule( (valeur/ dix )) ), 5, 0 );
Mais dans la boucle for, je ne peux pas le faire fonctionner.
colnamedt = {};
N = N Col(dt);
R = N Row(dt2);
For(k = 1, k <= N, k++,
colnamedt = Column( dt,k ) << getname();
for (i=1, i <= R, i++,
if (( dt2:Names[i]==colname),
Column( dt,k ) << set Format( "Custom", Formula( (value/dt2:DivideValue[i]) ), 5, 0 );
););
);
Merci
Géof
@martindemel
JMP peut référencer directement n'importe quelle cellule spécifique dans n'importe quelle table de données JMP ouverte, par conséquent, l'exécution de votre demande est assez simple
Names Default To Here( 1 );
dt = Data Table( "dt" );
dt2 = Data Table( "dt2" );
For( i = 1, i <= N Rows( dt2 ), i++,
If( Try( Column( dt, dt2:Names[i] ) << get name, "" ) != "",
For( k = 1, k < N Rows( dt ), k++,
Column( dt, dt2:Names[i] )[k] = Column( dt, dt2:Names[i] )[k] / dt2:Divide Value[i]
)
)
);