Consultar datos jerárquicos
Puede definir relaciones específicas con autorreferencia de uno a varios como jerárquicas. Puede escribir consultas que devuelven datos relacionados en estas jerarquías.
Puede aprovechar nuevos operadores de condición de consulta para consultar tablas con eelaciones jerárquicas explícitas. Estos operadores solo se aplican a la relación de tabla definida específicamente como una relación jerárquica. Puede usar nuevos operadores de condición para recuperar estos datos jerárquicos cuando consulta utilizando QueryExpression o FetchExpression.
Operadores de condición para datos jerárquicos
Use los siguientes operadores para establecer condiciones para consultar datos jerárquicos.
FetchXML | ConditionOperator | Description |
---|---|---|
above |
Above |
Devuelve todos los registros en la línea de ascendencia jerárquica del registro al que se hace referencia. |
eq-or-above |
AboveOrEqual |
Devuelve el registro al que se hace referencia y todos los registros sobre éste en la jerarquía. |
under |
Under |
Devuelve todos los registros secundarios por debajo del registro al que se hace referencia en la jerarquía. |
eq-or-under |
UnderOrEqual |
Devuelve el registro al que se hace referencia y todos los registros secundarios por debajo de éste en la jerarquía. |
not-under |
NotUnder |
Devuelve todos los registros que no están por debajo del registro al que se hace referencia en la jerarquía. |
eq-useroruserhierarchy |
OwnedByMeOrMyReports |
Cuando se usan modelos de seguridad jerárquicos, es igual al usuario actual o la jerarquía de subordinados del usuario |
eq-useroruserhierarchyandteams |
OwnedByMeOrMyReportsAndTeams |
Cuando se usan modelos de seguridad jerárquicos, es igual al usuario actual y sus equipos o la jerarquía de subordinados del usuario y sus equipos |
Límites de la recursión al consultar datos jerárquicos
Dado que la consulta de datos jerárquicos puede emplear muchos recursos, hay un límite predeterminado de 100 condiciones permitidas de recursiones para consultas jerárquicas utilizando los operadores de condición Above
, AboveOrEqual
, Under
, UnderOrEqual
, y NotUnder
.
OwnedByMeOrMyReports
y OwnedByMeOrMyReportsAndTeams
son operadores de condición de seguridad jerárquica que dependen de la configuración de Profundidad de jerarquía que se encuentra en Configuración > Seguridad > Seguridad de jerarquía. El valor de esta opción se almacena en la columna Organization.MaxDepthForHierarchicalSecurityModel
.
Recuperar el número de registros secundarios relacionados jerárquicamente
Utilice la columna rowaggregate
en una consulta basada en FetchXML para recuperar el número de registros secundarios relacionados jerárquicamente. Cuando este valor se establece en CountChildren
un valor que incluye el número total de registros secundarios para el registro se incluye en la EntityCollection. Por ejemplo, la siguiente consulta incluirá un valor de agregado de AccountChildren
que representa el número de registros de cuentas secundarios en la relación jerárquica donde el parámetro {0}
representa el AccountId
del registro primario.
<fetch distinct='false' no-lock='false' mapping='logical'>
<entity name='account'>
<attribute name='name' />
<attribute name='accountid' />
<attribute name='accountid' rowaggregate='CountChildren' alias='AccountChildren'/>
<filter type='and'>
<condition attribute='accountid' operator='under' value='{0}' />
</filter>
</entity>
</fetch>
Nota
El valor agregado devuelto representa todos los registros secundarios, incluidos aquellos a los que el usuario no tenga acceso de lectura.
Consulte también
Acerca de las consultas de búsqueda rápida
Nota
¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)
La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).