Id Autonumérico en importación CSV

Hola Amigos, tengo una consulta.

Hice una App y funciona perfecto, el problema lo tengo cuando me pidieron agregar una funcionalidad, que se trata de cargar masivamente registros a mi tabla (Google Sheet). Si ingreso la información por el formulario de la aplicación, no tengo problemas, me asigna un numero correlativo con la formula 1+COUNT(SELECT(BASE[Id], TRUE)), pero cuando importo una serie de datos desde un archivo CSV, me asigna el mismo número correlativo a todos los registros. En la imagen pueden ver que el campo Id en la fila seleccionada se ingresó por el formulario, pero desde la linea siguiente en adelante, se hizo una importación por archivo CSV, y me asignó el mismo Id para todos los registros.

GSoriano_0-1665769093415.png

Como puedo solucionar este problema?, ya que el campo Id es el que se ha usado historicamente en la referencia de cada línea cuando se analiza el listado, y no puedo cambiarles ahora a usar un UniqueId con valores alfanumericos.


Saludos

Solved Solved
0 12 299
1 ACCEPTED SOLUTION


@GSoriano wrote:

but I still have the same problem, because everything happens when I massively load the records, App sheet processes it as a block complete, and not as separate records on each line.


Nope. You'd use looping to move the rows from the temporary table to the final table. The loop will also add the sequence number. The loop runs sequentially, not all at once, so the COUN(SELECT()) approach to numbering should work.

View solution in original post

12 REPLIES 12

Prueba haciendo lo mismo pero en lugar de la formula 1+COUNT(SELECT(BASE[Id], TRUE)),usa [_RowNumber]-1. A ver si te da lo mismo.

Lo probe y no funciona, me deja un valor -1 en todos los registros. Al parecer, App Sheet toma el archivo a importar como un bloque, y no los trabaja independientemente para aplicar validaciones a todo lo que se ingresa.

SI en el CSV añades esa columna con la numeracion lo lee o lo reemplaza?

No puedo agregarlo como dato, pues este valor debe ser autoincremental y no puede ser modificado por el usuario, pues es el identificador del registro.

Steve
Platinum 4
Platinum 4

You will either need to supply the ID number with the import data, or import into a temporary table and move the rows from the temporary table to the final table afterwards, adding the sequence number then.

Es la única solución que me está quedando, importarlo en una tabla temporal, y luego traspasarlo a la base final con el cálculo hecho, pero sigo con el mismo problema, pues todo ocurre cuando cargo masivamente los registros, App sheet lo procesa como un bloque completo, y no como registros separados en cada linea.

En caso de que no haya quedado claro:
No esperes tener ID secuenciales y que no haya problemas en el proceso en AppSheet.

Sequential keys - AppSheet Help


@GSoriano wrote:

but I still have the same problem, because everything happens when I massively load the records, App sheet processes it as a block complete, and not as separate records on each line.


Nope. You'd use looping to move the rows from the temporary table to the final table. The loop will also add the sequence number. The loop runs sequentially, not all at once, so the COUN(SELECT()) approach to numbering should work.


@GSoriano wrote:

pues es el identificador del registro


Serial Numbers, If You Must - Google Cloud Community

Perdón, me falto indicar que es el identificador (Visual) del registro, pues el Id único no se muestra a los usuarios.

En qué contexto existe ese número? Es un ID que se mantiene para la misma fila o debiese cambiar dependiendo de la cantidad de datos que importas/exportas?

Es un valor autonumérico que se incrementa en uno por cada registro que se agrega (Ya sea a través del formulario, o por carga masiva).

Top Labels in this Space