crear una nueva columna con el valor asignado por otro valor de columnaTengo una columna con fecha, y quiero crear una nueva columna, necesito asignarla con {A, B, C, D, E} al juzgar la fecha única de otra columna.
Juzgue por el valor de celda "rundate" (consulte la imagen a continuación), amablemente ayuda sobre cómo generar un script:
1) Asignar nueva columna Celda [1] == "A", i ++, si es "rundate" Celda [i] = "rundate" Celda [i ++], seguir asignando nueva columna Celda [i ++] == "A".
2) si la Celda "rundate" [i]
3) if "rundate" Cell [i] = "rundate" Cell [i ++], siga asignando una nueva columna Cell [i ++] == "B".
4) si la celda "rundate" [i]
rundate
4/1/2020 7:18
4/1/2020 7:18
4/1/2020 7:18
4/1/2020 7:47
4/1/2020 8:13
4/1/2020 8:13
4/1/2020 8:13
4/1/2020 8:13
4/1/2020 8:13
4/1/2020 8:43
4/1/2020 8:43
4/1/2020 8:43
4/1/2020 8:43
4/1/2020 8:43
4/1/2020 8:43
4/1/2020 8:43
4/1/2020 9:13

Re: crear una nueva columna con el valor asignado por otro valor de columnaHola,
Aquí hay una posible solución que solo utiliza funciones integradas, suponiendo que sus valores de tiempo se codifiquen realmente como tiempos (y no como caracteres)
If( Row() == 1,
"A",
If( :Column 1 == Lag( :Column 1, 1 ),
Lag( :New Column, 1 ),
Hex To Char( Char( Num( Hex( Lag( :New Column, 1 ) ) ) + 1 ) )
)
)
Puede haber formas más elegantes de lograr esto, pero no conozco una función que permita la fácil conversión de caracteres a código numérico y viceversa.
Atentamente,
TS
Re: crear una nueva columna con el valor asignado por otro valor de columnaEnfoque ligeramente diferente, y no estoy usando letras porque solo hay 26, y a menudo tengo muchas más categorías.
Siempre que el valor en su columna: ID (o tiempo) permanezca igual, entonces la columna del contador permanece igual, pero cuando cambia, la columna del contador aumenta en uno.
If( Row() == 1,
1,
If( :ID == Lag( :ID, 1 ),
Lag( :counter, 1 ),
Lag( :counter, 1 ) + 1
)
)
Estas declaraciones If anidadas pueden ser realmente útiles, o monstruos gigantes, dependiendo de su punto de vista.
Salud,
si