Re: itérer sur toutes les colonnes et faire une coloration conditionnelle basée sur l’écart typeJ'ai légèrement modifié votre script, en changeant vos références pour utiliser les fonctions: Name (), à utiliser les fonctions Column () et As Column (). J'ai également changé légèrement l'appel << get noms de colonnes. Mais à part ça, vous étiez sur le bon chemin. Mon script semble fonctionner comme vous le souhaitiez
Names Default To Here( 1 );
dt = Current Data Table();
col = dt << get column names( string, continuous );
nc = N Items( col );
For( i = 1, i <= nc, i++,
mu = Col Mean( Column( col[i] ) );
sd = Col Std Dev( Column( col[i] ) );
lo = mu - 3 * sd;
hi = mu + 3 * sd;
rows = dt << Get Rows Where( lo <= as Column( col[i] ) <= hi );
Column( col[i] ) << Color Cells( "Red", rows );
rows = dt << Get Rows Where( as Column( col[i] ) < lo | as Column( col[i] ) > hi );
Column( col[i] ) << Color Cells( "Purple", rows );
lo = mu - 2 * sd;
hi = mu + 2 * sd;
rows = dt << Get Rows Where( lo <= as Column( col[i] ) <= hi );
Column( col[i] ) << Color Cells( "Yellow", rows );
lo = mu - sd;
hi = mu + sd;
rows = dt << Get Rows Where( lo <= as Column( col[i] ) <= hi );
Column( col[i] ) << Color Cells( "Green", rows );
);
Re: itérer sur toutes les colonnes et faire une coloration conditionnelle basée sur l’écart typeJe vous remercie! Ça marche.
itérer sur toutes les colonnes et faire une coloration conditionnelle basée sur l'écart typeMon objectif initial était de colorer les cellules dans une seule colonne en fonction de la valeur d'une cellule donnée: 1 sigma,> 1 sigma mais <2 sigma,> 2 sigma mais
sigma et> 3 sigma, le sigma est l'écart type de la colonne même. Maintenant, j'espère parcourir toutes les colonnes et exécuter la coloration conditionnelle sur chacune d'entre elles, mais le code de ma boucle for comme suit ne fonctionne pas.
col = dt << obtenir les noms de colonne (chaîne); nc = nitems (col); pour (i = 2, i <= nc, i ++, mu = Col Moyenne (: Nom (col [i])); sd = Col Std Dev (: Nom (col [i])); lo = mu - 3 * sd; hi = mu + 3 * sd; rangées = dt << Obtenir les rangées où (lo <=: Nom (col [i]) <= hi);: Nom (col [i]) << Cellules de couleur ("Rouge" ", rangées); rangées = dt << Obtenir les rangées Où (: Nom (col [i]) hi);: Nom (col [i]) << Cellules de couleur ( "Violet", lignes); lo = mu - 2 * sd; hi = mu + 2 * sd; lignes = dt << Obtenir les lignes où (lo <=: Nom (col [i]) <= hi);: Nom (col [i]) << Cellules de couleur ("Jaune", rangées); lo = mu-sd; hi = mu + sd; rangées = dt << Obtenir les rangées où (lo <=: Nom (col [i]) <= hi);: Nom (col [i]) << Cellules de couleur ("Vert", rangées););