Compartir a través de


Jerarquías de usuario

Las jerarquías definidas por el usuario son jerarquías definidas por el usuario de atributos que se usan en Microsoft SQL Server Analysis Services para organizar los miembros de una dimensión en estructuras jerárquicas y proporcionar rutas de navegación en un cubo. Por ejemplo, en la tabla siguiente se define una tabla de dimensiones para una dimensión de tiempo. La tabla de dimensiones admite tres atributos, denominado Year, Quarter y Month.

Año Trimestre Mes
1999 Trimestre 1 Ene
1999 Trimestre 1 Feb
1999 Trimestre 1 Estropear
1999 Trimestre 2 Apr
1999 Trimestre 2 Mayo
1999 Trimestre 2 Jun
1999 Trimestre 3 Jul
1999 Trimestre 3 Ago
1999 Trimestre 3 Sep
1999 Trimestre 4 Octubre
1999 Trimestre 4 Nov
1999 Trimestre 4 Dic

Los atributos Year, Quarter y Month se usan para construir una jerarquía definida por el usuario, denominada Calendar, en la dimensión de tiempo. La relación entre los niveles y los miembros de la dimensión Calendar (una dimensión regular) se muestra en el diagrama siguiente.

Jerarquía de nivel y miembro para una dimensión de tiempo

Nota:

Cualquier jerarquía que no sea la jerarquía de atributos de dos niveles predeterminada se denomina jerarquía definida por el usuario. Para obtener más información sobre las jerarquías de atributos, vea Atributos y jerarquías de atributos.

Estructuras de miembros

A excepción de las jerarquías de elementos primarios y secundarios, las posiciones de los miembros dentro de la jerarquía se controlan mediante el orden de los atributos de la definición de la jerarquía. Cada atributo de la definición de jerarquía constituye un nivel en la jerarquía. La posición de un miembro dentro de un nivel viene determinada por la ordenación del atributo utilizado para crear el nivel. Las estructuras miembro de las jerarquías definidas por el usuario pueden adoptar una de las cuatro formas básicas, en función de cómo se relacionan los miembros entre sí.

Jerarquías equilibradas

En una jerarquía equilibrada, todas las ramas de la jerarquía descienden al mismo nivel y el elemento primario lógico de cada miembro es el nivel inmediatamente superior al miembro. La jerarquía Categorías de productos de la dimensión Product en la base de datos de Analysis Services de ejemplo Adventure Works DW 2012 es un buen ejemplo de una jerarquía equilibrada. Cada miembro del nivel Nombre de producto tiene un miembro primario en el nivel subcategoría, que a su vez tiene un miembro primario en el nivel Categoría. Además, cada rama de la jerarquía tiene un miembro hoja en el nivel Nombre del producto.

Jerarquías desequilibradas

En una jerarquía desequilibrada, las ramas de la jerarquía descienden a distintos niveles. Las jerarquías de elementos primarios y secundarios son jerarquías desequilibradas. Por ejemplo, la dimensión Organization de la base de datos de Analysis Services de ejemplo Adventure Works DW 2012 contiene un miembro para cada empleado. El CEO es el miembro superior de la jerarquía, y los gerentes de división y el secretario ejecutivo están inmediatamente debajo del DIRECTOR GENERAL. Los gerentes de división tienen miembros subordinados, pero el secretario ejecutivo no.

Puede ser imposible que los usuarios finales distingan entre jerarquías desequilibradas y desiguales. Sin embargo, se emplean diferentes técnicas y propiedades en Analysis Services para admitir estos dos tipos de jerarquías. Para obtener más información, vea Jerarquías desiguales y Atributos en Parent-Child Jerarquías.

Jerarquías irregulares

En una jerarquía desigual, el miembro primario lógico de al menos un miembro no está en el nivel inmediatamente superior al miembro. Esto puede hacer que las ramas de la jerarquía bajen a niveles diferentes. Por ejemplo, en una dimensión Geography definida con los niveles Continente, CountryRegion y City, en ese orden, el miembro Europa aparece en el nivel superior de la jerarquía, el miembro Francia aparece en el nivel intermedio y el miembro Paris aparece en el nivel inferior. Francia es más específica que Europa y París es más específica que Francia. En esta jerarquía normal, se realizan los siguientes cambios:

  • El miembro de la Ciudad del Vaticano se agrega al nivel CountryRegion.

  • Los miembros se agregan al nivel ciudad y están asociados al miembro de la Ciudad del Vaticano en el nivel CountryRegion.

  • Se agrega un nivel denominado Province entre los niveles CountryRegion y City.

El nivel Provincia se rellena con los miembros asociados a otros miembros en el nivel CountryRegion y los miembros del nivel Ciudad están asociados a sus miembros correspondientes en el nivel Provincia. Sin embargo, dado que el miembro de la Ciudad del Vaticano en el nivel CountryRegion no tiene miembros asociados en el nivel provincia, los miembros deben estar asociados desde el nivel ciudad directamente al miembro de la Ciudad del Vaticano en el nivel CountryRegion. Debido a los cambios, la jerarquía de la dimensión ahora es desigual. El padre de la ciudad del Vaticano es el país o región ciudad del Vaticano, que no está en el nivel inmediatamente superior al miembro de la Ciudad del Vaticano en el nivel ciudad. Para más información, vea Jerarquías desiguales.

Parent-Child Jerarquías

Las jerarquías de elementos primarios y secundarios para las dimensiones se definen mediante un atributo especial, denominado atributo primario, para determinar cómo se relacionan los miembros entre sí. Un atributo primario describe una relación de autorreferencia, o autocombinación, dentro de una tabla principal de dimensiones. Las jerarquías padre-hijo se construyen a partir de un único atributo padre. Solo se asigna un nivel a una jerarquía de elementos primarios y secundarios, ya que los niveles presentes en la jerarquía se extraen de las relaciones de elementos primarios y secundarios entre los miembros asociados al atributo primario. El esquema de dimensión de una jerarquía padre-hijo depende de una relación de autorreferencia presente en la tabla principal de la dimensión. Por ejemplo, en el diagrama siguiente se muestra la tabla principal de dimensión DimOrganization en la base de datos de ejemplo Adventure Works DW Multidimensional 2012Analysis Services.

Combinación autoreferencial en la tabla DimOrganization

En esta tabla de dimensiones, la columna ParentOrganizationKey tiene una relación de clave externa con la columna de clave principal OrganizationKey . En otras palabras, cada registro de esta tabla puede estar relacionado a través de una relación padre-hijo con otro registro de la tabla. Este tipo de autounión se usa generalmente para representar datos de entidad de una organización, como la estructura jerárquica de los empleados de un departamento.

Al crear una jerarquía de elementos primarios y secundarios, las columnas representadas por ambos atributos deben tener el mismo tipo de datos. Ambos atributos también deben estar en la misma tabla. De forma predeterminada, se supone que cualquier miembro cuya clave primaria sea igual a su propia clave miembro, null, 0 (cero) o un valor ausente de la columna para las claves de miembro sea miembro del nivel superior (excepto el nivel (Todo).

La profundidad de una jerarquía de elementos primarios y secundarios puede variar entre sus ramas jerárquicas. En otras palabras, una jerarquía de elementos primarios y secundarios se considera una jerarquía desequilibrada.

A diferencia de las jerarquías definidas por el usuario, en las que el número de niveles de la jerarquía determina el número de niveles que los usuarios finales pueden ver, una jerarquía de elementos primarios y secundarios se define con el único nivel de una jerarquía de atributos y los valores de este nivel único generan los varios niveles vistos por los usuarios. El número de niveles mostrados depende del contenido de las columnas de la tabla de dimensiones que almacenan las claves miembro y las claves primarias. El número de niveles puede cambiar cuando cambian los datos de las tablas de dimensiones. Para obtener más información, vea Parent-Child Hierarchy ( Jerarquía) y Attributes in Parent-Child Hierarchies (Atributos en Parent-Child Jerarquías).

Véase también

Crear jerarquías de User-Defined
Propiedades de la jerarquía de usuarios
Referencia de propiedades de atributo de dimensión