Compartir a través de


Lección complementaria: Jerarquías desiguales

Se aplica a: SQL Server 2017 y versiones posteriores analysis Services Azure Analysis Services Fabric/Power BI Premium

En esta lección complementaria, resolverá un problema común que se produce al dinamizar en jerarquías que contienen valores en blanco (miembros) en distintos niveles. Un ejemplo de esto sería una organización donde un director de alto nivel tiene como subordinados directos a directores de departamento y a trabajadores que no son directores. O bien, las jerarquías geográficas formadas por país-región-ciudad, donde algunas ciudades no tienen un elemento primario de estado o provincia, como Washington D. C. o Ciudad del Vaticano. Cuando una jerarquía tiene miembros en blanco, a menudo desciende en niveles diferentes o desiguales.

Captura de pantalla de una jerarquía employee que contiene un valor en blanco.

Los modelos tabulares en el nivel de compatibilidad 1400 tienen la propiedad adicional Ocultar miembros para las jerarquías. La configuración predeterminada da por supuesto que no hay ningún miembro en blanco en ningún nivel. La configuración Ocultar miembros en blanco excluye los miembros en blanco de la jerarquía cuando se agrega a una tabla dinámica o informe.

Tiempo estimado para completar esta lección: 20 minutos

Requisitos previos

Este artículo de la lección complementaria forma parte de un tutorial de modelado tabular. Antes de realizar las tareas de esta lección complementaria, debería haber finalizado todas las lecciones anteriores o haber completado un proyecto de modelo de ejemplo de ventas por Internet de Adventure Works.

Si ha creado el proyecto de ventas por Internet de AW como parte del tutorial, el modelo todavía no contendrá datos ni jerarquías desiguales. Para completar esta lección complementaria, primero debe crear el problema. Para ello, agregue algunas tablas y cree relaciones, columnas calculadas, una medida y una jerarquía de organización. Solo tardará unos 15 minutos en hacerlo. Después, podrá solucionar el problema en unos pocos minutos.

Agregar tablas y objetos

Para agregar nuevas tablas al modelo

  1. En el Explorador de modelos tabulares, expanda Orígenes de datos y haga clic con el botón derecho en la conexión >Importar nuevas tablas.

  2. En el navegador, seleccione DimEmployee y FactResellerSales y, después, haga clic en Aceptar.

  3. En el Editor de consultas, haga clic en Importar.

  4. Cree las relaciones siguientes:

    Tabla 1 Columna Dirección del filtro Tabla 2 Columna Activo
    FactResellerSales OrderDateKey Default DimDate Date
    FactResellerSales DueDate Default DimDate Fecha No
    FactResellerSales ShipDateKey Default DimDate Fecha No
    FactResellerSales ProductKey Default DimProduct ProductKey
    FactResellerSales EmployeeKey (Clave de empleado) A ambas tablas DimEmployee EmployeeKey (Clave de empleado)
  5. En la tabla DimEmployee, cree las siguientes columnas calculadas:

    Path

    =PATH([EmployeeKey],[ParentEmployeeKey])
    

    FullName

    =[FirstName] & " " & [MiddleName] & " " & [LastName]
    

    Level1

    =LOOKUPVALUE(DimEmployee[FullName],DimEmployee[EmployeeKey],PATHITEM([Path],1,1)) 
    

    Level2

    =LOOKUPVALUE(DimEmployee[FullName],DimEmployee[EmployeeKey],PATHITEM([Path],2,1)) 
    

    Level3

    =LOOKUPVALUE(DimEmployee[FullName],DimEmployee[EmployeeKey],PATHITEM([Path],3,1)) 
    

    Level4

    =LOOKUPVALUE(DimEmployee[FullName],DimEmployee[EmployeeKey],PATHITEM([Path],4,1)) 
    

    Level5

    =LOOKUPVALUE(DimEmployee[FullName],DimEmployee[EmployeeKey],PATHITEM([Path],5,1)) 
    
  6. En la tabla DimEmployee, cree una jerarquía denominada Organización. Agregue las columnas siguientes en orden: Level1, Level2, Level3, Level4, Level5.

  7. En la tabla FactResellerSales, cree la medida siguiente:

    ResellerTotalSales:=SUM([SalesAmount])
    
  8. Use Analizar en Excel para abrir Excel y crear automáticamente una tabla dinámica.

  9. En Campos de tabla dinámica, agregue la jerarquía Organization de la tabla DimEmployee a Rows y la medida ResellerTotalSales de la tabla FactResellerSales a Values.

    Captura de pantalla de una hoja de cálculo con el cuadro de diálogo Campos de tabla dinámica que se muestra.

    Como puede ver en la tabla dinámica, la jerarquía muestra filas desiguales. Hay muchas filas en las que se muestran miembros en blanco.

Para corregir la jerarquía desigual mediante el establecimiento de la propiedad Ocultar miembros

  1. En el Explorador de modelos tabulares, expanda Tablas>DimEmployee>Jerarquías>Organización.

  2. En Propiedades>Ocultar miembros, seleccione Ocultar miembros en blanco.

    Captura de pantalla del ventana Propiedades con una flecha que apunta a la opción Ocultar miembros en blanco.

  3. Vuelva a Excel y actualice la tabla dinámica.

    Captura de pantalla de una jerarquía employee sin miembros en blanco.

    Ahora el aspecto es mucho mejor.

Consulte también

Lección 9: Crear jerarquías
Lección complementaria: seguridad dinámica
Lección complementaria: filas de detalles