Generación de letras aleatoriasHola,
Tengo un script que abre un conjunto de datos donde tengo una lista de "Operador". Tengo que asignar manualmente a cada persona una letra aleatoria en el "Analista", pero me pregunto si hay un código que pueda recorrer todos los diferentes operadores y asignar una letra aleatoria a la columna del analista.

¡Gracias!
Tabla de datossecuencias de comandosRe: Generar letras aleatoriasAquí hay una forma. Tenga en cuenta que 'RandomShuffle()' le asegura que no asigna la misma letra más de una vez (que supongo que es lo que necesita):
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: Generar letras aleatoriasGracias, ¿cómo contabilizo el mismo nombre de operador? Tendría varias filas donde las iniciales son "ABC", ¿así que quiero que todas sean la misma letra aleatoria?
NombresPredeterminadoHastaAquí(1);
dt=nueva tabla();
dt< dt<
// Lista de valores posibles
listaletras = {"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"};
// Número de filas en la tabla de datos
n = 10;
// Valores para asignar a la nueva columna de caracteres
colVals = letterList[RandomShuffle(1::n)];
Imprimir(valorescol);
dt<
Re: Generar letras aleatoriasUna opción sería usar matriz asociativa en combinación con @ian_jmp solución. Algo como esto podría funcionar:
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]
,
""
)
));Re: Generar letras aleatorias@ian_jmp y @jthi ¡Ambos hacen que esto parezca tan fácil! gracias a los dos por su ayuda 