Lección complementaria: Jerarquías desiguales

Se aplica a: SQL Server 2017 y versiones posteriores de Analysis Services Azure Analysis Services 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.

Screenshot of an Employee hierarchy that contains a blank value.

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

Prerrequisitos

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 Valor predeterminado DimDate Date
    FactResellerSales DueDate Valor predeterminado DimDate Fecha No
    FactResellerSales ShipDateKey Valor predeterminado DimDate Fecha No
    FactResellerSales ProductKey Valor predeterminado 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.

    Screenshot of a spreadsheet with the PivotTable Fields dialog box displayed.

    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>Miembros, seleccione Ocultar miembros en blanco.

    Screenshot of the Properties window with an arrow pointing to the Hide blank members option.

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

    Screenshot of an Employee hierarchy with no blank members.

    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