En Anjana Data es posible configurar dependencias entre los valores de atributos de referencia (atributos de tipo selector: SELECT, MULTI_SELECT, TREE_SELECT, etc.) de forma que la selección de un valor en un atributo determine los valores disponibles en otro.
Este mecanismo permite reflejar lógicas propias del ecosistema de datos de la organización y garantizar coherencia en la elección de valores durante la creación o edición de los objetos gobernados.

Por ejemplo, si en la creación de un DATASET se selecciona como tecnología Amazon S3, en el combo de zona solo estarán disponibles los valores compatibles (ejemplo: Gold).
De esta forma, el sistema asegura que la combinación de valores infraestructura–tecnología–zona siempre sea válida y consistente con la configuración de referencia.
Tabla Attribute Relationships del Panel de Configuración (Visión administrador)
Estas dependencias se configuran en la tabla Attribute Relationships
.

Estructura de la tabla Attribute Relationship
Cada relación registrada se caracteriza por los siguientes campos:
-
Id
: identificador único del registro. Se asigna automáticamente desde el Panel de configuración. -
destinationValue
: valor del atributo dependiente (el que se filtra). Corresponde a un valor definido en la tablaAttribute Definition Value
, es decir, una de las opciones configuradas para un atributo de referencia. -
sourceValue
: valor del atributo origen del que depende el anterior. También corresponde a un valor definido en la tablaAttribute Definition Value
. Es el valor cuya selección determina o filtra eldestinationValue
.
En atributos de tipo taxonomía (TREE_SELECT o TREE_MULTISELECT), los valores deben organizarse en forma de árbol. Los valores de referencia que actúan como nodos raíz (nivel superior del árbol jerárquico) deben tener como sourceValue
el valor <null>
, lo que indica a la plataforma el inicio de una rama.
-
objectSubType
: subtipo de objeto en el que aplica la relación. Corresponde a un subtipo configurado en la tablaObject Sub-types
. Si se define comoNULL
, la relación será global y se aplicará en cualquier plantilla donde estén presentes ambos atributos.
Importante:
Para que las relaciones se apliquen correctamente entre valores de referencia de atributos de metadatos diferentes, se debe configurar la validación de dependencia (DEPENDS_ON
) en la tabla Template Attribute Validations
.
Alta de un atributo en la tabla Attribute Relatioship
El alta de una nueva relación entre valores de atributos implica añadir en la tabla Attribute Relationship
un nuevo registro que defina la dependencia entre un valor origen (sourceValue
) y un valor destino (destinationValue
).

Para añadir una nueva relación:
-
Pulsar el botón New en la esquina superior derecha. Esto abrirá un asistente (wizard) con los campos definidos en el apartado Estructura de la tabla Attribute Relationship.
-
Completar los campos conforme a la estructura descrita:
-
destinationValue
: seleccionar el valor dependiente desde la lista de valores definidos en la tablaAttribute Definition Value
(p.e: 2105-Gold-zone). -
sourceValue
: seleccionar el valor origen desde la lista de valores definidos en la tablaAttribute Definition Value
(p.e: 2104-Amazon S3-technology). -
objectSubType
: seleccionar el subtipo de objeto en el que aplica la relación, de entre los configurados en la tablaObject Sub-Types
(p.e: DATASET).
-
-
Pulsar en Save para guardar la relación o en Cancel para descartarla.
Nota
Tras el alta de nuevas relaciones, es necesario ejecutar la acción Clear cache desde el Panel de configuración (Actions > Clear cache
) para que los cambios se apliquen y sean visibles en el Portal de Datos.
Ejemplo de alta de un atributo de tipo taxonomía
A continuación se muestra como configurar el árbol de jerarquía de un atributo de tipo taxonomía (TREE_SELECT o TREE_MULTISELECT) como el que se muestra en la siguiente imagen:

Pasos para dar de alta el árbol de jerarquía:
-
Dar de alta el atributo en
Attribute Definitions
y los valores de referencia enAttribute Definition Value
-
En
Attribute Relationship
se debe:-
Indicar que el valor de referencia Clientes es el primer nivel del árbol, para ello:
-
sourceValue
debe tener valor<null>
-
destinationValue
debe hacer referencia al valor Clientes -
destinationValue
debe hacer referencia al subtipo de objeto DATASET
-
-
Indicar que el valor de referencia Datos demográficos (nombre, edad, género, etc.) cuelga del valor Clientes, para ello:
-
sourceValue
debe tener valor Clientes -
destinationValue
debe hacer referencia al valor Datos demográficos (nombre, edad, género, etc.) -
destinationValue
debe hacer referencia al subtipo de objeto DATASET
-
-
Indicar que el valor de referencia Historial de compras cuelga del valor Clientes, para ello:
-
sourceValue
debe tener valor Clientes -
destinationValue
debe hacer referencia al valor Historial de compras -
destinationValue
debe hacer referencia al subtipo de objeto DATASET
-
-
Repetir el apartado anterior para todos los valores que cuelgan de Clientes
-
Modificación de una relación en la tabla Attribute Relationship
La modificación de una relación ya existente debe realizarse con precaución, ya que puede impactar en la visualización y consistencia de los valores de referencia en el Portal de Datos.
-
Si no existen objetos gobernados en el Portal de Datos:
Se pueden modificar libremente los tres campos de la relación:-
destinationValue
(valor destino, tomado de la tablaAttribute Definition Value
), -
sourceValue
(valor origen, tomado de la tablaAttribute Definition Value
), -
objectSubType
(subtipo al que aplica la relación, configurado en la tablaObject Sub-Type
).
-
-
Si existen objetos gobernados en el Portal de Datos:
Solo se podrán realizar cambios en la medida en que no afecten a objetos ya creados.
En particular:-
No se puede eliminar ni modificar una relación entre un
destinationValue
y unsourceValue
para unobjectSubType
concreto si ya existen objetos de ese subtipo que contienen esos valores en sus atributos origen y destino simultáneamente. -
En estos casos, la única opción será mantener la relación vigente o bien eliminarla y redefinirla tras realizar un ajuste controlado en los objetos gobernados.
-
Nota
Tras la modificación de relaciones, es necesario ejecutar la acción Clear cache desde el Panel de configuración (Actions > Clear cache
) para que los cambios se apliquen y sean visibles en el Portal de Datos.
Configuración de relaciones entre valores de referencia mediante acceso directo a la base de datos (Visión desarrollador)
Las relaciones entre valores de referencia se almacenan en la tabla anjana.attribute_relationships
. Estas relaciones permiten establecer dependencias entre los valores de dos atributos configurados en la tabla anjana.attribute_definition_value
, de modo que la selección de un valor en el atributo origen filtre los valores disponibles en el atributo destino.
Columna |
Tipo |
Restricciones / Notas |
---|---|---|
id_attribute_relationships |
int4 |
PRIMARY KEY. Identificador único de la relación. Se gestiona por secuencia. |
object_sub_type |
varchar(255) |
Puede ser NULL. Indica el subtipo de objeto al que aplica la relación. Debe corresponder con un |
destination_value |
int4 |
Valor destino de la relación. FK a |
source_value |
int4 |
Valor origen de la relación. FK a |
El siguiente ejemplo define una relación para que, en la plantilla del subtipo DATASET, el valor de tecnología Amazon S3 (sourceValue = 2104) solo permita seleccionar la zona Gold (destinationValue = 2105):
INSERT INTO anjana.attribute_relationships
(id_attribute_relationships, object_sub_type, destination_value, source_value)
VALUES(1176, 'DATASET', 2105, 2104);
Importante:
-
Una vez ejecutado el insert, ejecutar la actualización de secuencias de la tabla. (Desde el Panel de configuración en
Actions > Reset DQ sequences
se pueden actualizar las secuencias de todas las tablas, incluida esta). -
Todo el peso de la lógica de configuración recae en el desarrollador que ejecuta las queries SQL directamente sobre la tablas. Se recomienda revisar cuidadosamente el apartado de Estructura.