4D v16.3DISTINCT VALUES |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
DISTINCT VALUES
DISTINCT VALUES
El comando DISTINCT VALUES crea y llena el array array con todos valores distintos (únicos) del campo campo para la selección actual de la tabla del campo y, opcionalmente, devuelve en contArray el número de ocurrencias de cada valor. Puede pasar a DISTINCT VALUES todo tipo de campo o subcampo indexable, es decir, cuyo tipo soporte indexación sin que esté indexado necesariamente. Nota: cuando el comando DISTINCT VALUES se llama durante una transacción (que no ha terminado aún), el comando tiene en cuenta los registros creados durante esa transacción. El array utilizado por DISTINCT VALUES debe ser del mismo tipo que el campo pasado como primer parámetro, de lo contrario el array se vuelve a digitar. Hay una excepción a esta regla:si el campo es de tipo Imagen (y está asociado a un índice de palabras claves), el array correspondiente debe ser de tipo Texto. Después del llamado, el tamaño del array es igual al número de valores distintos encontrados en la selección. El comando no cambia la selección actual ni el registro actual. El comando DISTINCT VALUES utiliza el índice del campo, de manera que los elementos en array se devuelven ordenados en orden ascendente. Si este es el orden que usted necesita, no es necesario llamar a SORT ARRAY después de utilizar DISTINCT VALUES. Nota: cuando se ejecuta DISTINCT VALUES se ejecuta con un campo de texto o imagen asociado a un índice de palabras claves, el comando llena el array con las palabras claves del índice. A diferencia de otros tipos de datos, los valores devueltos difieren de acuerdo a la existencia del índice. El índice de palabras claves siempre se tiene en cuenta, incluso cuando el campo está asociado a un índice estándar. Si el campo texto o imagen no está asociado a un índice de palabras claves, el array se devuelve vacío. El comando acepta un array contArray como un parámetro opcional. Cuando se pasa, este array devuelve, para cada valor no repetido en campo, el número de ocurrencias detectadas en la selección actual. El array contArray Se dimensiona automáticamente al número de elementos en array. Por ejemplo, para una selección que contiene tres registros con los valores de campos "A", "B" y "A", array contendrá {A;B} y contArray contendrá {2;1}. Puede pasar un array Entero largo o Real en contArray. Nota: el parámetro contArray no es soportado para los campos texto o imagen asociados a los índices de palabras claves (en este contexto, se devuelve vacío). Advertencia: DISTINCT VALUES puede crear array grandes, dependiendo del tamaño de la selección y del número de valores diferentes en los registros. Los arrays residen en memoria, por lo tanto es buena idea probar el resultado después de la ejecución del comando. Para hacer esto, pruebe el tamaño del array resultante o cubra la llamada al comando, utilizando un método de proyecto ON ERR CALL.4D Server: este comando es optimizado por 4D Server. El array se crea y los valores son calculados en el servidor; luego el array se envía, en su totalidad, al cliente. Nota: este comando no soporta campos de tipo Objeto. El siguiente ejemplo crea una lista de ciudades a partir de la selección actual e indica al usuario el número de ciudades en las cuales la empresa tiene almacenes: ALL RECORDS([Almacenes]) ` Crear una selección de registros Usted quiere obtener la lista completa de palabras claves contenidas en el índice de palabras claves del campo "Fotos": ALL RECORDS([IMAGES]) Para calcular las estadísticas, usted desea ordenar el número de valores distintos en un campo en orden descendente: ARRAY TEXT($_issue_type;0)
Ver también
|
PROPIEDADES
Producto: 4D HISTORIA
Modificado: 4D v11 SQL PALABRAS CLAVES index mots-clés, mots-clés ARTICLE USAGE
Manual de lenguaje 4D ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||