Estoy buscando ayuda para cambiar entre nombres de columnas (por ejemplo: Altura) y cadenas ("Altura").
En este script, estoy creando una cadena para usar en el comando de combinación de tablas. Estoy utilizando el bylizt anteriormente en un script para un resumen de la tabla, así que me gusta el bylizt como columnas. El cuadro de diálogo devuelve una lista de columnas; en este ejemplo, hay dos columnas, pero podría haber cualquier número de columnas.
bylizt = {: Rec Type,: Step};
Quiero tomar este resultado y crear una cadena para insertarla en el comando join.
MatchColString = ": Rec Type =: Rec Type,: Step =: Step";
¿Hay una manera fácil de construir esta cadena?
En última instancia, esta cadena va aquí:
Eval (Parse (Eval Insert)
wrefdt = cdt << Join (
Con (Tabla de datos (subsumdt)),
Combinar columnas del mismo nombre,
Al unir las columnas (^ MatchColString ^),
Drop múltiplos (0, 0),
Incluir no coincidencias (1, 1),
Conservar orden de la mesa principal (1),
Tabla de salida (nombre nuevo)
);
")));
Estoy de acuerdo en que sería más fácil obtener los nombres de las columnas como cadenas, pero estoy usando un cuadro de diálogo de columnas, para que obtenga lo que obtiene.
Sería más fácil obtener los nombres de las columnas como cadenas, pero esto funcionará:
bylizt = {:Rec Type, :Step};
for (i = 1, i <= nitems(bylizt), i++,
one_col = ":" || char(bylizt[i]);
if (i == 1,
matchcolstring = one_col || " = " || one_col;
,
matchcolstring = matchcolstring || ", " || one_col || " = " || one_col;
);
);
show(matchcolstring);