Como escribir de manera aleatoria

Buen dia a todos, tengo un excel donde en una columna tengo todas las filas que dicen “Envio exitoso”, pero necesito que el 2% de cada archivo (a veces vienen mas o a veces vienen menos lineas) me ponga “Envio fallido”, esto tiene que ser de manera aleatoria y no cada 50 filas exactas por ejemplo.
Alguien sabe alguna manera de hacerlo?
Gracias

Hi @Guido_Bonanata

¿Puedes compartir una captura de pantalla del archivo?
Can you share a screenshot of the file?

Hi @Guido_Bonanata

As you said you need to make certain changes to 2% of the overall data, you can use something like this:

Math.Round((Cint(inputData)*2)/100,0)

Let’s say you have 320 data rows, out of which you need to modify 2% of data in a certain way. You can basically determine the number of rows from that data which falls under 2% zone, iterate through the same number of rows & make the modification. In this example, it will be nearly 6 rows on which you need to iterate.

image

Hope this helps,
Best Regards.

Este es un ejemplo con pocos casos, en general vienen muchos mas casos y va cambiando las cantidades de filas. La Columna “Estado” en todos los campos dice envio exitoso y de ahi necesito sacar el 2% y escribir “Envio Fallido” de manera aleatoria

Hi Guido,

You can try finding the number of records as per to mentioned formula,

inputData= RowCount of the data that you have in excel.

Assign MarkFailed = Math.Round((Cint(inputData)*2)/100,0), This would give you a number of records on which you need to write “Sending Failed”.
counter=0
Next, you can loop from counter<MarkFailed in a while loop,
assign randomRow= new Random().Next(0,inputData)
assign ExcelDataTable.Rows(randomRow)(“Status”)= “Sending Failed”.
increment counter by 1.
Exit Loop.

Do let me know if you wanna connect over this, would be able to help on a session as well.

Thanks,
Aditya

###########################################
Translated:
Hola Guido,

Puede intentar encontrar el número de registros según la fórmula mencionada,

inputData= RowCount de los datos que tienes en excel.

Asigne MarkFailed = Math.Round ((Cint (inputData) * 2) / 100,0), esto le daría una cantidad de registros en los que debe escribir “Envío fallido”.
contador=0
A continuación, puede hacer un bucle desde counter<MarkFailed en un bucle while,
asignar fila aleatoria = nuevo aleatorio (). Siguiente (0, datos de entrada)
asigne ExcelDataTable.Rows(randomRow)(“Estado”)= “Falló el envío”.
incrementar el contador en 1.
Salir del bucle.

Avíseme si desea conectarse sobre esto, también podría ayudar en una sesión.

Gracias,
Aditya

asignar ExcelDataTable.Rows(randomRow)(“Status”)= “Envío fallido”
Obtengo un error que no puede convertir un dt a un booleano. No encuentro la solucion a este problema.
Gracias

Can you share a dummy, or sample workflow file and screenshot of your code?

I can surely help you on that.

Thanks,
Aditya

Translated:
¿Puede compartir un archivo de flujo de trabajo ficticio o de muestra y una captura de pantalla de su código?

Seguramente puedo ayudarte en eso.

Gracias,
Aditya

Uploading: WhatsApp Image 2023-05-15 at 12.39.46.jpeg…
Uploading: WhatsApp Image 2023-05-15 at 12.39.13.jpeg…
Te sirve esa captura?

Unable to see the screenshots, it says uploading.
No se pueden ver las capturas de pantalla, dice cargando.