Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Una jerarquía irregular es una jerarquía definida por el usuario que tiene un número irregular de niveles. Entre los ejemplos comunes se incluye un organigrama en el que un administrador de alto nivel tiene tanto administradores departamentales como no administradores como informes directos, o jerarquías geográficas compuestas por país-región-ciudad, donde algunas ciudades carecen de un estado o provincia primarios, como Washington D.C., Ciudad del Vaticano o Nueva Delhi.
Para la mayoría de las jerarquías de una dimensión, cada nivel tiene el mismo número de miembros por encima de él que cualquier otro miembro en el mismo nivel. Una jerarquía irregular se caracteriza por el hecho de que el padre lógico de al menos un miembro no está en el nivel inmediatamente superior al miembro. Cuando esto ocurre, la jerarquía desciende a distintos niveles para diferentes rutas de exploración en profundidad. En una aplicación cliente, esto puede complicar innecesariamente las rutas de exploración en profundidad.
Las aplicaciones cliente varían en cuanto a la forma en que manejan una jerarquía irregular. Si existen jerarquías desiguales en el modelo, prepárese para realizar un poco de trabajo adicional para obtener el comportamiento de representación que espera.
Como primer paso, revise la aplicación cliente para ver cómo gestiona la ruta de desglosamiento. Por ejemplo, Excel repite los nombres primarios como marcadores de posición para los valores que faltan. Para ver este comportamiento por ti mismo, crea una tabla dinámica utilizando la dimensión "territorio de ventas" en el modelo multidimensional de Adventure Works. En una tabla dinámica que tenga los atributos Grupo, País y Región de Sales Territory, verá que los países a los que les falta un valor de región obtendrán un marcador de posición, en este caso una repetición del nombre del elemento superior (el nombre de país). Este comportamiento se deriva de la propiedad de cadena de conexión MDX Compatibility=1 que se fija en Excel. Si el cliente no proporciona naturalmente los comportamientos de exploración en profundidad que busca, puede establecer propiedades en el modelo para cambiar al menos algunos de esos comportamientos.
Este tema contiene las secciones siguientes:
Enfoques para modificar la navegación de exploración en profundidad en una jerarquía desigual
Establezca HideMemberIf para ocultar miembros en una jerarquía normal.
Enfoques para modificar la navegación de exploración en profundidad en una jerarquía desigual
La presencia de una jerarquía desigual se convierte en un problema cuando la navegación de exploración en profundidad no devuelve valores esperados o se percibe como incómodo de usar. Para corregir problemas de navegación resultantes de jerarquías desiguales, tenga en cuenta estas opciones:
Use una jerarquía normal, pero establezca la
HideMemberIfpropiedad en cada nivel para especificar si se visualiza un nivel que falta para el usuario. Al establecerHideMemberIf, también debe establecerMDXCompatibilityen la cadena de conexión para invalidar los comportamientos de navegación predeterminados. Las instrucciones para establecer estas propiedades se encuentran en este tema.Cree una jerarquía de padre e hijo que administre explícitamente los miembros de nivel. Para obtener una ilustración de la técnica, consulte Jerarquía desigual en SSAS (entrada de blog). Para obtener más información en los libros en línea, consulte Parent-Child Jerarquía. Las desventajas de crear una jerarquía de padres e hijos son que solo se puede establecer una por dimensión, y típicamente se incurre en una disminución del rendimiento al calcular agregaciones para miembros intermedios.
Si su dimensión contiene más de una jerarquía desigual, debería usar el primer enfoque, configurando HideMemberIf. Los desarrolladores de BI con experiencia práctica en el trabajo con jerarquías desiguales van más allá en la promoción de cambios adicionales en las tablas de datos físicos, creando tablas independientes para cada nivel. Consulte el blog de Martin Mason sobre las Jerarquías Desiguales Financieras de SSAS Cube-Part 1a para obtener más información sobre esta técnica.
Establezca HideMemberIf para ocultar miembros en una jerarquía normal.
En la tabla de una dimensión irregular, los miembros que faltan se pueden representar lógicamente de diferentes maneras. Las celdas de la tabla pueden contener valores NULL o cadenas vacías, o pueden contener el mismo valor que su elemento primario para servir como marcador de posición. La representación de los marcadores de posición se determina por el estado de marcador de posición de los elementos secundarios, según lo establecido por las propiedades de HideMemberIf y la cadena de conexión de MDX Compatibility para la aplicación cliente.
En el caso de las aplicaciones cliente que admiten la visualización de jerarquías desiguales, puede usar estas propiedades para ocultar miembros que lógicamente faltan.
En SSDT, haga doble clic en una dimensión para abrirla en el Diseñador de dimensiones. En la primera pestaña, Estructura de dimensión, se muestran las jerarquías de atributos en el panel Jerarquías.
Haga clic con el botón derecho en un miembro de la jerarquía y seleccione Propiedades. Establezca
HideMemberIfen uno de los valores descritos a continuación.Configuración HideMemberIf Descripción NeverLos miembros de nivel nunca están ocultos. Este es el valor predeterminado. ÚnicoHijoSinNombre Un miembro de nivel se oculta cuando es el único hijo de su padre y su nombre es null o una cadena vacía. ÚnicoHijoConNombreDePadre Un miembro de nivel jerárquico se oculta cuando es el único hijo de su padre y su nombre es el mismo que el nombre de su padre. NoName Un miembro de nivel se oculta cuando su nombre está vacío. ParentName Un miembro de nivel jerárquico se oculta cuando su nombre es idéntico al de su padre.
Establecer compatibilidad MDX para determinar cómo se representan los marcadores de posición en las aplicaciones cliente
Después de establecer HideMemberIf en un nivel de jerarquía, también debe establecer la MDX Compatibility propiedad en la cadena de conexión enviada desde la aplicación cliente. La configuración de MDX Compatibility determina si se usa HideMemberIf.
| Configuración de compatibilidad de MDX | Descripción | Uso |
|---|---|---|
| 1 | Mostrar un valor de marcador de posición. | Este es el valor predeterminado que usa Excel, SSDT y SSMS. Indica al servidor que devuelva valores de marcador de posición al explorar los niveles vacíos en una jerarquía desigual. Si hace clic en el valor del marcador de posición, puede continuar para llegar a los nodos secundarios (hoja). Excel posee la cadena de conexión que se usa para conectarse a Analysis Services y siempre establece MDX Compatibility en 1 en cada nueva conexión. Este comportamiento conserva la compatibilidad con versiones anteriores. |
| 2 | Oculte un valor de marcador de posición (un valor NULL o un duplicado del nivel primario), pero muestre otros niveles y nodos que tengan valores pertinentes. |
MDX Compatibility=2 suele verse como la configuración preferida en términos de jerarquías irregulares. Un informe de Reporting Services y algunas aplicaciones cliente de terceros pueden conservar esta configuración. |
Véase también
Crear jerarquías de User-Defined
Jerarquías de usuario
jerarquía deParent-Child
Propiedades de cadena de conexión (Analysis Services)