Cómo cambiar dinámicamente una columna de color en el generador de gráficosHola,
Al crear un objeto Graph Builder, se pueden definir variables de la siguiente manera: Variables (X(:x), Y(:y), Color(:color))
Lo que me gustaría hacer es cambiar la columna de color de forma dinámica seleccionando columnas específicas de una lista. ¿Cómo se puede lograr esto?
Gracias de antemano.
Exploración y visualización de datosRe: Cómo cambiar dinámicamente la columna de color en el generador de gráficosInteresante. Creo que he captado algunos fragmentos de tu guión, pero necesitaré algo de tiempo para trabajar en esto la próxima semana.
Re: Cómo cambiar dinámicamente la columna de color en el generador de gráficosAquí hay una versión muy rápida del script.
Names Default To Here(1);
If(Is Empty(Current Report()),
Throw("No open reports found");
);
cur_report = Current Report() << XPath("//OutlineBox[@helpKey='Graph Builder']");
If(N Items(cur_report) < 1,
Throw("No graph builder open");
,
cur_report = cur_report[1] << Get Scriptable Object;
dt = cur_report << Get Data Table;
);
// Find current Color role
find_role_column = Function({gb, role = "Color"}, {Default Local},
vars = gb << Get Variables();
col = "";
role_idx = 0;
For Each({var, idx}, vars,
role = var["Role"];
If(role == "Color",
col = var[1] << get name;
role_idx = idx;
break();
);
);
return(Eval List({col, role_idx}));
);
replace_role_column = function({gb, new_col, role = "Color"}, {Default Local},
{colname, role_idx} = find_role_column(gb);
gb << inval;
If(role_idx > 0,
gb << Remove Variable(role_idx);
);
Eval(EvalExpr(
gb << Add Variable({Expr(NameExpr(AsColumn(new_col))), Role(Expr(role))});
));
wait(0);
gb << update window;
return(1);
);
nw = new window("demo",
clb = Col List Box(Datatable(dt), width(250), maxSelected(1),
<< Set Function(function({this},
replace_role_column(cur_report, this << get selected, "Color");
));
)
);
clb << Set Items(dt << Get Column Names("String"));
Crear uno mejor llevará algo de tiempo y es posible que tenga suficiente tiempo durante el fin de semana para crear uno (es bastante similar a mi Intercambiador rápido de columnas: cambia fácilmente varias columnas de los ejes Y y X en el Generador de gráficos )
Re: Cómo cambiar dinámicamente la columna de color en el generador de gráficosCreé un elemento de lista de deseos para ese nuevo conmutador llamado Selector de roles . Actualmente, creo que esto requerirá una solución de scripts; si se limita solo al generador de gráficos Y al rol de color, es un poco más fácil de crear (lo más probable es que cree un complemento para esto cuando tenga tiempo).
Re: Cómo cambiar dinámicamente la columna de color en el generador de gráficos'El único "problema" con el conmutador de columnas es que no se puede tener la misma columna en múltiples roles al mismo tiempo': esto es EXACTAMENTE lo que necesito, lamentablemente.
Re: Cómo cambiar dinámicamente la columna de color en el generador de gráficos¿No es eso exactamente lo que hace el conmutador de columnas? El único "problema" con el conmutador de columnas es que no se puede tener la misma columna en varias funciones al mismo tiempo.
Re: Cómo cambiar dinámicamente la columna de color en el generador de gráficosHola Jarmo, esto es cierto, pero obviamente tengo que ser más preciso: el conmutador de columnas debería afectar solo a la columna de color, no digamos a la columna x o y.
Re: Cómo cambiar dinámicamente la columna de color en el generador de gráficosPuedes usar el conmutador de columnas para esto



