Generazione di lettere casualiCiao,
Ho uno script che apre il set di dati in cui ho un elenco di "Operatori". Devo assegnare manualmente a ogni persona una lettera casuale in "Analyst", ma mi chiedo se esiste un codice che potrebbe scorrere tutti i diversi operatori e assegnare una lettera casuale alla colonna dell'analista?

Grazie!
Tabella datiSceneggiaturaRe: Generazione di lettere casualiEcco un modo. Nota che "RandomShuffle()" ti assicura di non assegnare la stessa lettera più di una volta (che presumo sia ciò di cui hai bisogno):
NamesDefaultToHere(1);
// List of possible values
letterList = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
// Number of rows in data table
n = 10;
// Values to assign to new character column
colVals = letterList[RandomShuffle(1::n)];
Print(colVals);
Re: Generazione di lettere casualiGrazie, come faccio a tenere conto dello stesso nome dell'operatore. Avrei più righe in cui le iniziali sono "ABC", quindi voglio che tutte siano la stessa lettera casuale?
NomiDefaultToHere(1);
dt=nuova tabella();
dt< dt<
// Elenco dei possibili valori
letterList = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L" ,"M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X" Y","Z"};
// Numero di righe nella tabella dati
n = 10;
// Valori da assegnare alla nuova colonna di caratteri
colVals = letterList[RandomShuffle(1::n)];
Stampa(colVal);
dt<
Re: Generazione di lettere casualiUn'opzione sarebbe quella di utilizzare matrice associativa in combinazione con @ian_jmp soluzione. Qualcosa del genere potrebbe funzionare:
Names Default To Here(1);
dt = New Table("test",
addrows(100),
New Column("Operator", character, set values({"ABC", "ABC", "DEF", "GHI"}));
);
// List of possible values
letterList = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P",
"Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
uniq_oper = Associative Array(dt:Operator) << get keys;
Remove From(uniq_oper, Contains(uniq_oper, "")); // remove missing
uniq_oper_letter = letterList[Random Shuffle(1::N Items(letterList))][1::N Items(uniq_oper)];
oper_aa = Associative Array(uniq_oper, uniq_oper_letter);
dt << New Column("Analyst", character, << Set Each Value(
If(Contains(oper_aa, :Operator),
oper_aa[:Operator]
,
""
)
));Ri: Generazione di lettere casuali@ian_jmp e @jthi entrambi lo fate sembrare così facile! grazie ad entrambi per l'aiuto 