conmutador de columnas vinculado a múltiples plataformasdt = Open( "$SAMPLE_DATA/Process Measurements.jmp" );
clear log();
colnames = dt << getcolumnnames(numeric,string);
colnames = Filter Each({name}, colnames, !Is Missing(Regex(lowercase(name), "^(process).*")));
print(colnames[1]);
New Window("reacher",
H List Box(
V List Box (
dist = dt << Distribution(Continuous Distribution(Column(column(dt, colnames[1])),Process Capability( 0 )),Histograms Only),
biv = Bivariate( Y(column(dt, colnames[1])), X(column(dt, colnames[1])) )
),
cs = dt << Column Switcher(:Process 1, colnames),
// cs = dt << Column Switcher(colnames[1], colnames),
)
);
cs << Link Platform( dist );
cs << Link Platform( biv );Intentando crear un script para cambiar columnas para una tabla arbitraria.
El código anterior funciona.
Sin embargo, cuando la línea 16 está comentada y la línea 17 no está comentada, el conmutador de columnas no funciona
Por favor ayuda
Automatización y secuencias de comandosRe: conmutador de columnas vinculado a varias plataformasEs posible que deba evaluar los nombres de columna [1] en el formato correcto para el conmutador de columnas. Aquí hay una opción
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Process Measurements.jmp");
colnames = dt << getcolumnnames(numeric, string);
colnames = Filter Each({name}, colnames, !Is Missing(Regex(Lowercase(name), "^(process).*")));
Eval(EvalExpr(
nw = New Window("reacher",
H List Box(
V List Box(
dist = dt << Distribution(
Continuous Distribution(Column(Eval(colnames[1])), Process Capability(0)),
Histograms Only
),
biv = Bivariate(Y(Eval(colnames[1])), X(Eval(colnames[1])))
),
cs = dt << Column Switcher(Expr(NameExpr(AsColumn(dt, colnames[1]))), colnames)
)
);
));
cs << Link Platform(dist);
cs << Link Platform(biv);Re: conmutador de columnas vinculado a múltiples plataformasGracias por la nota.
Si el nombre de la columna tiene caracteres especiales, la expresión no funciona.
Columnas de ejemplo: "Proceso:USL=8:LSL=1.0"
Re: conmutador de columnas vinculado a múltiples plataformas¿Qué versión de JMP estás usando?
Funciona bien para mí (usando JMP18.0.1)


Ver más...
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Process Measurements.jmp");
Column(dt, 1) << Set Name("Process:USL=8:LSL=1.0");
colnames = dt << getcolumnnames(numeric, string);
colnames = Filter Each({name}, colnames, !Is Missing(Regex(Lowercase(name), "^(process).*")));
Eval(
Eval Expr(
nw = New Window("reacher",
H List Box(
V List Box(
dist = dt << Distribution(
Continuous Distribution(
Column(Eval(colnames[1])),
Process Capability(0)
),
Histograms Only
),
biv = Bivariate(Y(Eval(colnames[1])), X(Eval(colnames[1])))
),
cs = dt << Column Switcher(
Expr(
Name Expr(As Column(dt, colnames[1]))
),
colnames
)
)
)
)
);
cs << Link Platform(dist);
cs << Link Platform(biv);