So ändern Sie die Farbspalte im Graph Builder dynamischHallo,
Beim Erstellen eines Graph Builder-Objekts können Variablen wie folgt definiert werden: Variables(X(:x), Y(:y), Color(:color))
Ich möchte die Farbspalte dynamisch ändern, indem ich bestimmte Spalten aus einer Liste auswähle. Wie kann das erreicht werden?
Vielen Dank im Voraus.
Datenexploration und -visualisierungBetreff: So ändern Sie die Farbspalte im Diagrammersteller dynamischInteressant. Ich glaube, ich habe die Teile aus Ihrem Skript verstanden, aber ich werde nächste Woche etwas Zeit brauchen, um daran zu arbeiten.
Betreff: So ändern Sie die Farbspalte im Diagrammersteller dynamischHier ist eine sehr schnelle Version des Skripts
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"));
Das Erstellen eines besseren wird einige Zeit in Anspruch nehmen und ich habe möglicherweise am Wochenende genug Zeit, um eines zu erstellen (es ist meinem Column Quick Swapper ziemlich ähnlich – einfaches Ändern mehrerer Y- und X-Achsen-Spalten im Graph Builder ).
Betreff: So ändern Sie die Farbspalte im Diagrammersteller dynamischIch habe einen Wunschlisteneintrag für diesen neuen Umschalter namens „Rollenumschalter“ erstellt. Derzeit denke ich, dass hierfür eine Skriptlösung erforderlich ist. Wenn es nur auf den Graph Builder UND die Farbrolle beschränkt ist, ist es etwas einfacher zu erstellen (ich werde höchstwahrscheinlich ein Add-In dafür erstellen, wenn ich Zeit habe).
Betreff: So ändern Sie die Farbspalte im Diagrammersteller dynamisch„Das einzige „Problem“ mit dem Spaltenumschalter besteht darin, dass Sie dieselbe Spalte nicht gleichzeitig in mehreren Rollen haben können.“: Das ist leider GENAU das, was ich brauche.
Betreff: So ändern Sie die Farbspalte im Diagrammersteller dynamischIst das nicht genau das, was der Spaltenumschalter macht? Das einzige „Problem“ mit dem Spaltenumschalter ist, dass Sie dieselbe Spalte nicht gleichzeitig in mehreren Rollen haben können.
Betreff: So ändern Sie die Farbspalte im Diagrammersteller dynamischHallo Jarmo, das stimmt, aber ich muss es natürlich genauer sagen: Der Spaltenumschalter dürfte sich nur auf die Farbspalte auswirken, nicht etwa auf die x- oder y-Spalte.
Betreff: So ändern Sie die Farbspalte im Diagrammersteller dynamischSie können hierfür den Spaltenumschalter verwenden



