Come modificare dinamicamente la colonna dei colori nel generatore di graficiCIAO,
al momento della creazione di un oggetto del Costruttore di grafici è possibile definire le variabili come segue: Variabili(X(:x), Y(:y), Colore(:color))
Quello che vorrei fare è cambiare dinamicamente la colonna del colore selezionando colonne specifiche da un elenco. Come è possibile raggiungere questo obiettivo?
Grazie in anticipo.
Esplorazione e visualizzazione dei datiRi: Come modificare dinamicamente la colonna colore nel generatore di graficiÈ possibile utilizzare il commutatore di colonna per questo




Ri: Come modificare dinamicamente la colonna colore nel generatore di graficiCiao Jarmo, è vero, ma ovviamente devo essere più preciso: il commutatore di colonna dovrebbe influenzare solo la colonna dei colori, non diciamo la colonna x o y.
Ri: Come modificare dinamicamente la colonna colore nel generatore di grafici'L'unico "problema" con il commutatore di colonna è che non è possibile avere la stessa colonna in più ruoli contemporaneamente.': questo è ESATTAMENTE ciò di cui ho bisogno, sfortunatamente.
Ri: Come modificare dinamicamente la colonna colore nel generatore di graficiHo creato un elemento della lista dei desideri per Aggiungi un nuovo commutatore chiamato Role Switcher . Attualmente penso che questo richiederà una soluzione di scripting, se si limitasse solo al generatore di grafici E al ruolo colore sarebbe un po' più facile da creare (molto probabilmente creerò un componente aggiuntivo per questo quando avrò tempo).
Ri: Come modificare dinamicamente la colonna colore nel generatore di graficiEcco una versione molto veloce dello 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"));
Crearne uno migliore richiederà un po' di tempo e potrei avere abbastanza tempo durante il fine settimana per crearne uno (è abbastanza simile al mio Scambio rapido colonne: modifica facilmente più colonne degli assi Y e X nel Costruttore di grafici )
Ri: Come modificare dinamicamente la colonna colore nel generatore di graficiInteressante. Penso di aver preso alcuni frammenti dalla tua sceneggiatura, ma avrò bisogno di un po' di tempo per lavorarci la prossima settimana.