Comando DEFINE RELATION
Define una relación entre dos tablas de Analytics.
Nota
Puede relacionar hasta 18 tablas de Analytics y acceder a cualquier combinación de campos de las tablas relacionadas y analizar sus datos como si existieran en una sola tabla. Debe especificar un comando DEFINE RELATION independiente para cada par de tablas relacionadas.
Sintaxis
DEFINE RELATION campo_clave WITH nombre_tabla_relacionada INDEX nombre_índice <AS nombre_relación>
Parámetros
Nombre | Descripción |
---|---|
campo_clave |
El campo clave de la tabla principal. Sólo puede seleccionar un campo clave para cada relación. Nota Al crear relaciones entre las tablas principales y las tablas subrelacionadas, debe especificar un nombre de campo clave totalmente calificado con el formato nombre_tabla.nombre_campo. En Relacionar tres tablas, vea: Comprobantes.creado_por |
WITH nombre_tabla_relacionada |
El nombre de la tabla relacionada. |
INDEX nombre_índice |
El nombre del índice para el campo clave de la tabla relacionada. Debe indexar la tabla relacionada utilizando el campo clave para poder relacionar la tabla. |
AS nombre_relación opcional |
Un nombre único para la relación. Por valor predeterminado, se utiliza el nombre de la tabla relacionada como nombre de la relación. Si está definiendo relaciones adicionales con la misma tabla relacionada, debe especificar un nombre único. |
Ejemplos
Relacionar dos tablas
El siguiente ejemplo relaciona la tabla abierta con la tabla Cliente utilizando el campo número de cliente (NúmCliente) como campo clave:
DEFINE RELATION NúmCliente WITH Cliente INDEX Cliente_en_NúmCliente
Cliente_en_NúmCliente es el nombre del índice de la tabla relacionada en el campo clave. Al relacionar tablas, es necesario que la tabla relacionada tenga un índice.
Si la tabla relacionada aún no tiene un índice al ejecutar el comando DEFINE RELATION, aparecerá un mensaje de error y no se realizará la relación.
Consejo
Si define una relación en la interfaz de usuario de Analytics, el índice de la tabla relacionada se crea automáticamente.
Crear un índice de la tabla relacionada antes de relacionar dos tablas
Si es necesario, puede crear un índice de la tabla relacionada inmediatamente antes de relacionar las dos tablas. El ejemplo a continuación muestra la creación de un índice para la tabla relacionada Cliente antes de relacionar la tabla Ar con la tabla Cliente.
OPEN Cliente INDEX ON NúmCliente TO Cliente_por_NúmCliente OPEN Ar DEFINE RELATION NúmCliente WITH Cliente INDEX Cliente_en_NúmCliente
El siguiente ejemplo relaciona tres tablas en el proyecto de muestra ACL_Rockwood.ACL:
- Elementos_comprobantes la tabla principal
- Comprobantes la tabla relacionada
- Empleados la tabla subrelacionada
Al utilizar la tabla Comprobantes como la tabla intermediaria en la relación, puede relacionar cada elemento del comprobante con el empleado que procesó el elemento.
OPEN Comprobantes INDEX ON número_comprobante TO "Comprobantes_por_número_comprobante" OPEN Elementos_comprobantes DEFINE RELATION número_comprobante WITH Comprobantes INDEX Comprobantes_por_número_comprobante OPEN Empleados INDEX ON número_de_empleado TO "Empleados_por_número_de_empleado" OPEN Elementos_comprobantes DEFINE RELATION Comprobantes.creados_por WITH Empleados INDEX Empleados_por_número_de_empleado
Explicación de la lógica de la sintaxis
- Abrir la tabla Comprobantes e indexarla por el campo número_comprobante.
- Abrir la tabla Elementos_comprobantes y relacionarla con la tabla Comprobantes usando número_comprobante como campo clave.
- Abrir la tabla Empleados e indexarla por el campo número_empleado.
- Abrir la tabla Elementos_comprobantes y relacionarla con la tabla Empleados usando Comprobantes.creado_por como campo clave.
Nota
Comprobantes.creado_por está disponible como un campo clave en la segunda relación porque usted ya relacionó Elementos_comprobantes y Comprobantes en la primera relación.
Observaciones
Nota
Si desea obtener más información sobre la forma en la que funciona este comando, consulte Guía de ayuda.