Diseñar una consulta
Objetivo
Construir una consulta sin escribir JSON: elegir la tabla, combinar las tablas relacionadas con ella, elegir las columnas que devuelve, acotarla con condiciones y, cuando la respuesta es un número y no una lista, agruparla y medirla.
Dónde está
Abra su solución, elija Consultas guardadas y luego Nuevo, o seleccione una consulta y elija Editar. El diseñador ocupa toda la página en lugar de deslizarse desde un lado, porque una consulta tiene estructura propia: tablas combinadas con tablas, un árbol de condiciones, una lista ordenada de columnas, medidas. En un panel estrecho, una sola condición ocupa cuatro líneas y deja de parecer una condición.
Elija Cerrar para volver a la lista. No se guarda nada hasta que elige Guardar.
Las tres pestañas
Son tres vistas de una consulta, no tres editores. Lo que cambie en una lo muestran las demás, así que nunca pueden discrepar.
| Pestaña | Para qué sirve |
|---|---|
| Simple | La consulta de todos los días: una tabla, sus columnas, un filtro, una ordenación, un límite de filas. |
| Avanzada | Todo lo anterior, más tablas relacionadas, agrupación con medidas y las opciones. |
| JSON | El propio documento, para todo lo que el formulario no dibuja. |
| Resultados | Lo que devuelve la consulta, como una tabla. Esta es una vista de la respuesta, no de la consulta. |
Una consulta que ya usa tablas relacionadas, agrupación u opciones se abre en Avanzada, para que nada de lo que contiene quede oculto. Si cambia una consulta así a Simple, el formulario indica lo que no está mostrando, y lo deja intacto.
Pasos
1. Elegir la tabla
Seleccione el botón Tabla y busque. Todo lo demás de la consulta se construye a partir de esta tabla y de las tablas combinadas con ella.
Cambiar la tabla borra el resto, y es deliberado: las columnas, las condiciones y las medidas nombran campos de la tabla anterior, y conservarlos produciría una consulta que se guarda y luego se niega a ejecutarse, nombrando un campo que usted ve claramente en pantalla.
2. Agregar tablas relacionadas (Avanzada)
Elija Agregar tabla relacionada. La lista se obtiene de las relaciones que ya tiene su entorno, así que nunca escribe un nombre de campo. Si todavía no hay nada relacionado con su tabla, la lista se abre y lo indica: una tabla relacionada procede de una columna de búsqueda, así que agregue una en cualquiera de las dos tablas y aparecerá aquí.
- Un registro relacionado: seguir una búsqueda, como la cuenta de una oportunidad. Es la combinación habitual y es segura.
- Varios registros relacionados: puede repetir filas: ir en sentido contrario, como las oportunidades de una cuenta. Esto devuelve la fila principal una vez por cada hija, que es lo que duplica un total sin avisar. Úsela cuando sea eso lo que quiere, y consulte Cifras que parecen demasiado grandes más abajo.
Cada tabla combinada tiene:
- Un nombre (su alias). Sus columnas se llaman
alias.columnen toda la consulta. Puede cambiarle el nombre; el diseñador de consultas le avisa si algo sigue nombrando el anterior. - Una opción de combinación: Conservar filas sin coincidencia (la predeterminada) o Solo filas coincidentes. La predeterminada es la segura: con Solo filas coincidentes, una oportunidad sin cuenta desaparece por completo de los resultados, y nada en pantalla relaciona esa desaparición con la combinación.
- Sus propias condiciones, que se abren con la flecha del principio de la fila. Acotan la tabla relacionada dentro de la combinación, de modo que las filas sin coincidencia se siguen conservando cuando la combinación está configurada para conservarlas. Poner la misma condición en el filtro principal descartaría esas filas.
Una consulta puede combinar hasta ocho tablas, anidadas hasta tres niveles.
3. Elegir las columnas
El panel izquierdo enumera todas las columnas que la consulta puede nombrar (las de la propia tabla y las de cada tabla combinada), agrupadas por tabla y filtradas mientras escribe. Marque una y aparecerá a la derecha, que es lo que devuelve la consulta en orden; la × quita una.
El orden importa: es el orden en que vuelven las columnas y el orden en que las imprime un informe. Arrastre una fila por su asa para moverla, el mismo gesto que con los valores de un conjunto de opciones o la navegación de una aplicación. Sin ratón: enfoque el asa, pulse Espacio para levantar la fila, las teclas de flecha para moverla y Espacio de nuevo para soltarla.
Deje vacío el panel derecho para devolver las columnas propias de la tabla.
No necesita saber a qué tabla pertenece una columna. Marque «Account · Industry» y la consulta la escribe por usted bajo la combinación de la cuenta.
4. Acotarla
La sección Filtro es el mismo generador de condiciones Y/O que una Búsqueda avanzada o el filtro de una vista, y ahora ofrece todas las columnas de la consulta: las de las tablas combinadas además de las de la propia tabla.
Cada condición es una fila: campo, operador, valor y una × para quitarla.
Es uno de admite varios valores a la vez. En una columna de opciones abre una lista con búsqueda en la que puede marcar; en una columna de texto o número escribe un valor y pulsa Intro para agregarlo, y cada valor se convierte en una etiqueta que puede quitar. Es una condición con varios valores, no varias condiciones que tenga que unir con O a mano.
Es como mínimo y Es como máximo existen porque escribir «como mínimo 5» como «mayor que 4» solo es correcto con números enteros, y es discretamente erróneo con un decimal o una fecha.
5. Agrupar y medir (Avanzada)
Marque Devolver grupos en lugar de registros cuando la respuesta es un número y no una lista, que es de lo que se dibujan un gráfico y un mosaico de KPI.
- Medidas: qué calcular. Recuento no necesita campo (cuenta registros), pero admite uno (entonces cuenta las filas en las que ese campo tiene valor). Suma y Promedio solo ofrecen columnas numéricas. Cada medida tiene un nombre corto; es el nombre con el que vuelve el resultado y al que se vincula un gráfico.
- Agrupar por: hasta dos claves. Déjelo vacío para obtener un único total de toda la tabla. Una columna de fecha ofrece también un período: por día, semana, mes, trimestre o año.
- Condiciones sobre las medidas: consulte más abajo.
6. Condiciones sobre las medidas (Avanzada)
Esta es la pregunta que un filtro no puede hacer.
Un filtro decide qué registros entran en un grupo. Una condición sobre una medida decide qué grupos salen. «Clientes que han hecho más de diez pedidos» no se puede escribir en absoluto como filtro, porque ningún pedido por sí solo sabe cuántos ha hecho su cliente.
Así que: agrupe por cliente, mida Count como orders y agregue una condición: orders es como
mínimo 10.
Las condiciones solo pueden nombrar medidas que calcula esta consulta. Si se encuentra queriendo comparar aquí una columna normal, eso corresponde al filtro.
7. Ordenar y limitar
Ordene por cualquier columna que devuelva la consulta. Una consulta agrupada no tiene columnas por las que ordenar (sus filas son grupos), así que ofrece en su lugar las claves de agrupación y los nombres de las medidas, que son los únicos nombres que tiene.
Devolver como máximo limita las filas, o los grupos. Ordenar por una medida de forma descendente y limitar a cinco es la consulta de los «cinco mejores clientes».
8. Opciones (Avanzada)
- Quitar filas duplicadas: solo importa con una combinación que tiene varios registros por fila. No corrige un total: una consulta agrupada sigue contando las filas repetidas, porque quitar filas duplicadas y contar son preguntas distintas.
- Incluir el texto de las columnas de búsqueda: activado de forma predeterminada, porque una columna de ids de registro no es una vista de nada. Desactívelo para una exportación indexada por id.
- Zona horaria: se usa para los períodos de fecha. Sin ella se calculan en UTC, de modo que un registro creado a las nueve de la noche cae en el día siguiente, y un gráfico diario se equivoca un poco cada día sin que nadie lo note.
9. Guardar y luego obtener una vista previa
Guardar comprueba la consulta de tres maneras: que es un documento bien formado, que es una consulta válida y que realmente se ejecutaría aquí, con cada campo, combinación, agrupación y medida resueltos contra las tablas reales de su entorno.
Vista previa ejecuta la consulta y abre la pestaña Resultados, que muestra lo devuelto como una tabla: una columna por cada columna que devuelve la consulta, bajo su nombre para mostrar, en el orden en que las colocó. Las columnas de búsqueda muestran el nombre del registro, no el id almacenado detrás.
- Una consulta de registros se pagina, de 25 en 25 filas, con el paginador bajo la tabla y el total encima. Una consulta agrupada no se pagina (devuelve todos los grupos que encuentra), así que su tabla es la respuesta completa.
- Ejecuta la consulta tal como está guardada, con sus propios permisos. Guarde primero: los cambios sin guardar no se incluyen, y la pestaña lo indica encima de la tabla. Una consulta que nunca ha guardado no tiene nada almacenado que ejecutar, y Vista previa no está disponible hasta que la guarde una vez.
La pestaña JSON
El diseñador dibuja casi todo el lenguaje de consultas, y la pestaña JSON es el resto: la
paginación y todo lo que usa una consulta escrita a mano o generada por IA para lo que el
formulario no tiene control. Es el
esquema parsware-query@1, y el mismo documento que daría a
un asistente al que pidiera que le escribiera una consulta.
Todo lo que el formulario no dibuja se conserva exactamente igual mientras edita todo lo demás. Un diseñador que descartara discretamente parte de su consulta sería la peor manera posible de descubrir que la tenía.
Cifras que parecen demasiado grandes
Una combinación en el sentido «varios registros relacionados» repite la fila principal una vez por coincidencia, y los totales cuentan las repeticiones: una cuenta con cinco oportunidades se cuenta cinco veces.
Seguir una búsqueda, el sentido habitual, no puede provocar esto. Si un total parece inflado, compruebe si alguna combinación indica varios registros relacionados y mida en su lugar la tabla hija o formule la pregunta al revés.
Solución de problemas
- «This is not valid JSON, so the designer cannot show it.» — a la pestaña JSON le falta una coma o un corchete. Corríjalo allí; el formulario no puede mostrar un documento que no puede leer, y mostrar uno vacío sobrescribiría lo que escribió en cuanto tocara un control.
- «These are named by the query but no longer exist in it.» — ha quitado una tabla relacionada, o le ha cambiado el nombre, y algo la sigue nombrando. Quite esos elementos o vuelva a agregar la tabla con el mismo nombre.
- «Unknown field …» al guardar — el campo pertenece a una tabla combinada y necesita el nombre de la combinación delante, o la combinación se quitó.
- Se rechaza una condición sobre una medida — nombra algo que no es una de las medidas de esta consulta. Cámbiele el nombre para que coincida o mueva la condición al filtro si trata sobre una columna.
- Al agregar una tabla relacionada no hay nada que elegir — todavía no hay nada relacionado con esta tabla, lo que la lista indica al abrirse. Una tabla relacionada procede de una columna de búsqueda: consulte Crear una relación entre tablas.
- «This environment's relationships could not be loaded» — el diseñador no pudo leer las relaciones del entorno, así que no tiene combinaciones que ofrecer. No es algo que la consulta esté haciendo mal; cierre el diseñador y vuelva a abrirlo.