Saltar al contenido

Generar una Letra Aleatoria

Configuración

App Builder actualmente no tiene una función para generar aleatoriamente una letra del alfabeto o un número entre dos valores, pero es posible que necesite una letra aleatoria o un conjunto de caracteres generados por diversas razones, incluida la despliegue de un código de carácter en una aplicación. Para esta tarea, tendremos que "escapar" App Builder" y usar un secuencia de comandos SQL para generar un número aleatorio y luego trabajar con Business Objects para convertir el número aleatorio en una letra correspondiente del alfabeto.

  1. Crea una subconsulta. En este ejemplo la llamaremos Aplicación (Generador de números aleatorios). Luego usaremos el SELECT RAND()función que selecciona un número aleatorio entre 0 y 1. Para seleccionar un número aleatorio entre dos valores a y b, utilizamos la función SELECT RAND()*(b-a)+a;y sustituimos nuestros valores a y b. En este caso, queremos un número entre 1 y 26 (porque hay 26 letras en el alfabeto), así que elegimos 1 y 26 como nuestros valores a y b respectivamente. Esto nos dará un valor decimal, pero queremos un número entero, así que usamos el FLOOR() función para generar un número entero aleatorio que sea inclusivo (entero aleatorio >= 1 y <= 26).

  2. A continuación, debemos crear una tabla Letter con números enteros correspondientes a cada letra del alfabeto. La columna LetterID es un entero de clave principal. La columna Letter es una cadena.

  3. Ahora podemos convertir el número entero aleatorio en una letra correspondiente cruzando la tabla Letter con el objeto comercial Application (Random Number Generator) que creamos anteriormente en una subconsulta llamada Letter (Random Number to Letter Conversion) y filtrando WHERE IIF(LetterID = AR.Rand, 1, 0)utilizando una Bandera. Los resultados deberían proporcionar una letra aleatoria cada vez que ejecute los resultados o actualice.