Relacionar tablas

Información de concepto

Comando DEFINE RELATION

Relacionar tablas le permite combinar hasta 18 tablas de Analytics con diferentes estructuras de registro y acceder y analizar datos de cualquier combinación de campos de las tablas relacionadas como si existieran en una sola tabla.

Las estructuras de registros son diferentes si tienen uno o más campos (elementos de datos) que difieren. La relación es una buena opción para el trabajo informativo que requiere una visión rápida de las asociaciones de datos entre varias tablas físicas o para vincular códigos con sus correspondientes nombres completos antes de la generación de reportes.

Ejemplo

Escenario

Desea crear un reporte de ventas que contenga detalles acerca de los clientes y los productos vendidos para el mes de marzo, pero los datos están diseminados en tres tablas.

Enfoque

Relaciona la tabla maestra Cliente con la tabla Pedidos, y la tabla Pedidos con la tabla maestra Producto, para crear una asociación temporal de tablas que contenga la información que necesita para el reporte:

  • nombre del cliente y ubicación desde la tabla maestra Cliente
  • detalles del pedido desde la tabla Pedidos
  • detalles del producto desde la tabla maestra Producto

La relación crea una tabla "virtual"

El resultado de la relación de tablas es virtual; las tablas relacionadas siguen siendo independientes y la relación se puede eliminar en cualquier momento.

A diferencia de la unión o combinación, la relación no crea una nueva tabla. En cambio, los campos de la tabla relacionada o hijo aparecen disponibles en la tabla principal a partir de la cual se creó la relación.

Si es necesario, puede realizar una operación separada y extraer cualquier combinación de campos a partir de las tablas principal y relacionada a una tabla nueva.

Relacionar tablas usando un campo clave común

Relaciona tablas usando un campo clave común; es decir, un elemento de datos como el número de empleado, ID de proveedor o el domicilio, que aparezca en ambas tablas. Cuando en los campos clave existen valores idénticos, el resultado es una coincidencia que relaciona registros individuales a parir de tablas separadas. La operación de relación básica no tiene capacidad para efectuar coincidencias parciales.

Se aplican varios requisitos a los campos clave de las tablas que está relacionando:

Característica del campo clave Requisito
Elemento de datos Debe ser el mismo. Por ejemplo, ambos campos clave son campos de número de empleado.
Tipo de datos

Puede ser cualquier tipo de datos, pero los campos clave deben ser del mismo tipo de datos entre sí. Por ejemplo, dos campos de caracteres.

Los subtipos de Fechahora (fecha, fechahora y hora) sólo se pueden relacionar con el mismo subtipo.

Tipo de campo Pueden ser campos físicos o calculados.
Nombre del campo Puede ser diferente.
Posición inicial Puede ser diferente.
Longitud de campo

Debe ser la misma.

Justificación y uso de mayúsculas o minúsculas en los campos de caracteres Deben ser iguales.

Tablas principal y relacionada, y campos clave

Las tablas y los campos clave en la operación de relación se identifican como principal y relacionado basándose en el orden en cual agrega las tablas a la relación:

  • tabla principal – La primera tabla que agrega (se agrega automáticamente cuando abre una tabla y comienza la operación de relación)
  • campo clave principal - el campo clave que elige en la tabla principal
  • tabla relacionada – La segunda tabla que agrega, y cualquier tabla subsiguiente que agregue
  • campo clave relacionado - el campo clave que elige en la tabla relacionada

Usted es libre de elegir cualesquiera tablas y los campos clave principal y relacionado que desee. Sin embargo, la relación tendrá éxito solo si los campos clave cumplen con los requisitos de relación.

Si desea obtener más información, consulte Acerca de los campos clave.

Acceder a campos de tabla relacionada

Una vez que se establece una relación, puede agregar campos de cualquiera de las tablas relacionadas a la vista principal, aunque no es obligatorio que lo haga. Puede acceder y analizar campos de tablas relacionadas a través de la tabla principal (usando la lista desplegable De Tabla en los cuadros de diálogo de Analytics y el Generador de expresiones) independientemente de que usted los haya agregado a la vista principal.

Los campos de tabla relacionada a los que se accede a través de la tabla principal se muestran en formato table name.field name para indicar de cuál tabla provienen los campos. Puede acceder a tablas relacionadas y modificar relaciones, sólo a través de la tabla principal, no a través de una tabla relacionada.

Ordenar e indexar tablas relacionadas

La tabla virtual resultante de una relación usa el criterio de ordenamiento existente de la tabla principal. No tiene que ordenar ni indexar el campo clave de la tabla principal antes relacionar las tablas. Sin embargo, podría optar por esta posibilidad, porque no hay opción Preordenar disponibles para la tabla principal durante una relación.

Como parte del funcionamiento interno de la operación de relación, los campos clave de la tabla relacionada se indexan automáticamente en orden ascendente. Estos índices de la tabla relacionada persisten incluso después de que se suspenda la relación de las tablas relacionadas, y se pueden eliminar manualmente, si es necesario.

Información adicional sobre la operación de relación

La siguiente tabla proporciona información adicional acerca de la operación de relación.

Área funcional

Detalles

Registro coincidente

La relación de un par de tablas es el equivalente lógico de unirlas utilizando la opción Todos los registros primarios – es decir, utilizando la unión del tipo Muchos a uno que incluye hacer coincidir registros primarios y secundarios (registros principales y relacionados) y registros primarios que no se han hecho coincidir.

Al igual que con la unión muchos a uno correspondiente, la operación de relación hace coincidir valores de clave principal con sólo con la primera aparición de un valor clave relacionado coincidente. Si existen apariciones adicionales de un valor clave relacionado coincidente, estas son ignoradas. Es necesario tomar este comportamiento al planificar sus relaciones entre tablas, especialmente si una tabla relacionada contiene múltiples apariciones legítimas de un valor clave coincidente. Un enfoque consiste en tratar de revertir la relación de las dos tablas, haciendo que la relacionada sea la principal y viceversa.

Registros no coincidentes y valores de campos faltantes

Si un valor clave principal no tiene coincidencia en una tabla relacionada, Analytics muestra, para los valores faltantes, un espacio en blanco en los campos de carácter y fechahora, un cero en los campos numéricos y una “F” en los campos lógicos.

Duplicados o espacios en blanco en el campo clave de tabla relacionada

Si los valores duplicados o faltantes en un campo clave de tabla relacionada invalidan posteriores análisis, el pre-procesamiento de la tabla relacionada para eliminar duplicados y/o espacios en blanco puede ser una solución en algunas circunstancias.

Extracción de datos de tablas relacionadas

Usted tiene dos opciones para extraer datos de tablas relacionadas:

  • Utilizando la opción Vista o Campos en el cuadro de diálogo Extraer, puede extraer parte o la totalidad de los datos de las tablas principal y relacionada, y llevarlos hacia una tabla de Analytics nueva. La nueva tabla ya no está relacionada con ninguna otra tabla.

    Si utiliza la opción Vista, primero debe añadir los datos de la tabla relacionada correspondiente a la vista principal.

  • Utilizando la opción Registro en el cuadro de diálogo Extraer, puede extraer los datos de la tabla principal hacia una nueva tabla de Analytics. La nueva tabla conserva las relaciones de la tabla principal original. La opción Registrar no admite la extracción de datos de la tabla relacionada.

No es obligatorio que la longitud de los campos clave sea idéntica

Analytics no impone longitudes idénticas para los campos clave comunes en las tablas principal y relacionada.

Se recomienda utilizar siempre campos de idéntica longitud y la unificación manual de las longitudes antes de realizar la relación, si es necesario. Los resultados derivados de operaciones de relación utilizando campos clave de diferentes longitudes no son confiables.

Los campos clave de fechahora pueden tener diferentes longitudes porque Analytics utiliza un formato de fechahora interno de Analytics al realizar operaciones con fechas, fechahoras u horas.

Modificación del tipo de datos de los campos clave

No puede cambiar el tipo de datos de un campo clave principal o relacionado mientras esté siendo utilizado para relacionar tablas. Si necesita cambiar el tipo de datos de cualquiera de los campos, primero debe eliminar la relación. Si por causa del cambio los tipos de datos pasan a ser diferentes entre sí, ya no podría utilizar los dos campos para relacionar las tablas.

Evitar la indexación condicional

No utilice un índice condicional para los campos clave de tabla relacionada. En su lugar, aplique condiciones al realizar operaciones contra una tabla principal y sus tablas relacionada(s).

El uso de índices condicionales al construir relaciones puede provocar faltantes de datos no deseados en diferentes puntos de una jerarquía relacional. El método más seguro consiste en construir relaciones que presenten un conjunto de datos tan completo como lo ameriten las relaciones y, posteriormente, aplicar condiciones, si es necesario.

Restricciones a la ubicación de tablas que están siendo relacionadas

Para que sea posible relacionarlas, las tablas deben estar en el mismo proyecto de Analytics. Las tablas de servidores deben estar en el mismo servidor, y se debe acceder a las mismas utilizando el mismo perfil de servidor. No puede relacionar una tabla local y una tabla de servidor.

Unificación de la justificación y mayúsculas/minúsculas

Cuando relaciona pares de tablas utilizando los campos clave de caracteres, la justificación y el uso de mayúsculas/minúsculas debe ser el mismo:

  • Ambos campos clave deben tener la misma justificación. Utilice la función LTRIM( ) para eliminar los espacios iniciales en blanco de los campos clave

  • Ambos campos clave deben estar ya sea en MAYÚSCULA, minúscula o Tipo oración. Para unificar las letras, utilice la función UPPER( ), LOWER( ), o PROPER( ).

Relación de datos UTC y no UTC

Se puede usar un campo clave de fechahora UTC y no UTC para relacionar dos tablas. (UTC es la Hora Universal Coordinada, la hora en los cero grados de longitud). Al realizar operaciones con fechahoras u horas, Analytics utiliza un formato de fechahora interno de Analytics; por lo tanto, las dos fechahoras siguientes se interpretan como idénticas y son una coincidencia:

  • UTC: 31/12/2014 10:30:15-05:00

  • No UTC: 31/12/2014 15:30:15

Debe tener cuidado al mezclar datos de hora UTC y No UTC en una operación de Analytics. Si bien Analytics hará coincidir los dos valores de hora anteriores, es posible que no sea lógico hacerlo porque un valor hace referencia a una zona horaria y el otro valor, no. Si desea obtener más información acerca de UTC, consulte Opciones de fecha y hora.