Hola a todos, tengo un script que crea nuevas columnas numéricas para cualquier columna que tenga valores muy pequeños (es decir, transforma una columna que tiene unidades de metro en mm o µm para una mejor legibilidad).
Parecía estar funcionando bien; las columnas se generaron sin problema. Pero luego tuve algunos problemas al unirme con otras tablas, de repente las columnas ya no mostraban datos. Cuando verifico la fórmula en las nuevas columnas, veo que en lugar del nombre de la columna de origen, tiene una referencia colnames [i] del bucle en el script (ver captura de pantalla).
Names Default To Here( 1 );
dt = Current Data Table();
colnames = dt << get column names( numeric, string );
For( i = 1, i <= N Items( colnames ), i++,
If( (Col Max( column(dt,colnames[i]))-Col Min( column(dt,colnames[i])))<1e-4 & (Col Max( column(dt,colnames[i]))-Col Min( column(dt,colnames[i])))>0,
If( !Contains( colnames, colnames[i] || "_µm"),
dt << New Column( colnames[i] || "_µm", Formula( As Column( colnames[i] ) * 1e6 ) ) )
,
If( (Col Max( column(dt,colnames[i]))-Col Min( column(dt,colnames[i])))<1e-1 & (Col Max( column(dt,colnames[i]))-Col Min( column(dt,colnames[i])))>1e-4,
If( !Contains( colnames, colnames[i] || "mm"),
dt<<NEW column=""></NEW>