Lezione supplementare: gerarchie incompleteSupplemental lesson - Ragged hierarchies

SI APPLICA A:SìAzure Analysis ServicesSìSQL Server Analysis Services (a partire dalla versione 2017)APPLIES TO:yesAzure Analysis ServicesyesSQL Server Analysis Services (starting with 2017)

Questa lezione supplementare spiega come risolvere un problema comune che si verifica quando si applica il calcolo pivot sulle gerarchie che contengono valori (membri) vuoti a livelli diversi.In this supplemental lesson, you resolve a common problem when pivoting on hierarchies that contain blank values (members) at different levels. Per fare un esempio, un'organizzazione in cui un responsabile di alto livello ha sia responsabili di reparto sia non responsabili come dipendenti diretti.For example, an organization where a high-level manager has both departmental managers and non-managers as direct reports. Un altro esempio è rappresentato dalle gerarchie geografiche composte da paese-regione-città, in cui alcune città non dispongono di uno stato o una provincia, ad esempio Washington D.C. e la Città del Vaticano.Or, geographic hierarchies composed of Country-Region-City, where some cities lack a parent State or Province, such as Washington D.C., Vatican City. Quando una gerarchia include membri vuoti, spesso finisce per includere livelli diversi o incompleti.When a hierarchy has blank members, it often descends to different, or ragged, levels.

aas-lesson-detail-ragged-hierarchies-table

I modelli tabulari a livello di compatibilità 1400 offrono un'altra proprietà Nascondi membri per le gerarchie.Tabular models at the 1400 compatibility level have an additional Hide Members property for hierarchies. L'impostazione Default (Predefinito) presuppone che non vi siamo membri vuoti ad alcun livello.The Default setting assumes there are no blank members at any level. L'impostazione Nascondi membri vuoti esclude i membri vuoti dalla gerarchia quando la si aggiunge a una tabella pivot o a un report.The Hide blank members setting excludes blank members from the hierarchy when added to a PivotTable or report.

Tempo previsto per il completamento dell'esercitazione:20 minutiEstimated time to complete this lesson: 20 minutes

PrerequisitiPrerequisites

L'argomento di questa lezione supplementare fa parte di un'esercitazione sulla creazione di modelli tabulari.This supplemental lesson topic is part of a tabular modeling tutorial. Prima di eseguire le attività di questa lezione supplementare, è necessario avere completato tutte le lezioni precedenti o avere completato il progetto modello di esempio Adventure Works Internet Sales.Before performing the tasks in this supplemental lesson, you should have completed all previous lessons or have a completed Adventure Works Internet Sales sample model project.

Se il progetto Adventure Works Internet Sales è stato creato nell'ambito dell'esercitazione, non contiene ancora dati o gerarchie incomplete.If you've created the AW Internet Sales project as part of the tutorial, your model does not yet contain any data or hierarchies that are ragged. Per completare questa lezione supplementare, è quindi necessario creare prima il problema aggiungendo alcune tabelle, creare relazioni, colonne calcolate, una misura e una nuova gerarchia organizzativa.To complete this supplemental lesson, you first have to create the problem by adding some additional tables, create relationships, calculated columns, a measure, and a new Organization hierarchy. Questa operazione richiede circa 15 minuti.That part takes about 15 minutes. Basteranno poi pochi minuti per risolvere il problema.Then, you get to solve it in just a few minutes.

Aggiungere tabelle e oggettiAdd tables and objects

Per aggiungere nuove tabelle al modelloTo add new tables to your model

  1. In Esplora modelli tabulari espandere Origini dati e quindi fare clic con il pulsante destro del mouse sulla connessione > Importa nuove tabelle.In Tabular Model Explorer, expand Data Sources, then right-click your connection > Import New Tables.

  2. Nello strumento di spostamento selezionare DimEmployee e FactResellerSales e quindi fare clic su OK.In Navigator, select DimEmployee and FactResellerSales, and then click OK.

  3. Nell'Editor di query fare clic su Importa.In Query Editor, click Import

  4. Creare le relazioni seguenti:Create the following relationships:

    Tabella 1Table 1 ColonnaColumn Direzione del filtroFilter Direction Tabella 2Table 2 ColonnaColumn AttivoActive
    FactResellerSalesFactResellerSales OrderDateKeyOrderDateKey DefaultDefault DimDateDimDate DataDate Yes
    FactResellerSalesFactResellerSales DueDateDueDate DefaultDefault DimDateDimDate DataDate NoNo
    FactResellerSalesFactResellerSales ShipDateKeyShipDateKey DefaultDefault DimDateDimDate DataDate NoNo
    FactResellerSalesFactResellerSales ProductKeyProductKey DefaultDefault DimProductDimProduct ProductKeyProductKey Yes
    FactResellerSalesFactResellerSales EmployeeKeyEmployeeKey A entrambe le tabelleTo Both Tables DimEmployeeDimEmployee EmployeeKeyEmployeeKey Yes
  5. Nella tabella DimEmployee creare le colonne calcolate seguenti:In the DimEmployee table, create the following calculated columns:

    PercorsoPath

    =PATH([EmployeeKey],[ParentEmployeeKey])
    

    FullNameFullName

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

    Level1Level1

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

    Level2Level2

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

    Level3Level3

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

    Level4Level4

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

    Level5Level5

    =LOOKUPVALUE(DimEmployee[FullName],DimEmployee[EmployeeKey],PATHITEM([Path],5,1)) 
    
  6. Nella tabella DimEmployee creare una gerarchia denominata Organizzazione.In the DimEmployee table, create a hierarchy named Organization. Aggiungere le colonne seguenti nell'ordine: Level1, Level2, Level3, Level4, Level5.Add the following columns in-order: Level1, Level2, Level3, Level4, Level5.

  7. Nella tabella FactResellerSales creare la misura seguente:In the FactResellerSales table, create the following measure:

    ResellerTotalSales:=SUM([SalesAmount])
    
  8. Usare Analizza in Excel per aprire Excel e creare automaticamente una tabella pivot.Use Analyze in Excel to open Excel and automatically create a PivotTable.

  9. In Campi tabella pivot aggiungere la gerarchia Organizzazione dalla tabella DimEmployee in Righe e la misura ResellerTotalSales dalla tabella FactResellerSales in Valori.In PivotTable Fields, add the Organization hierarchy from the DimEmployee table to Rows, and the ResellerTotalSales measure from the FactResellerSales table to Values.

    aas-lesson-detail-ragged-hierarchies-pivottable

    Come si può vedere nella tabella pivot, la gerarchia mostra righe incomplete.As you can see in the PivotTable, the hierarchy displays rows that are ragged. Sono presenti molte righe con membri vuoti.There are many rows where blank members are shown.

Per correggere la gerarchia incompleta impostando la proprietà Nascondi membriTo fix the ragged hierarchy by setting the Hide members property

  1. In Esplora modelli tabulari espandere Tabelle > DimEmployee > Gerarchie > Organizzazione.In Tabular Model Explorer, expand Tables > DimEmployee > Hierarchies > Organization.

  2. In Proprietà > Nascondi membri selezionare Nascondi membri vuoti.In Properties > Hide Members, select Hide blank members.

    aas-lesson-detail-ragged-hierarchies-hidemembers

  3. In Excel aggiornare la tabella pivot.Back in Excel, refresh the PivotTable.

    aas-lesson-detail-ragged-hierarchies-pivottable-refresh

    La tabella è ora completa.Now that looks a whole lot better!

Vedere ancheSee Also

Lezione 9: Creare gerarchieLesson 9: Create hierarchies
Lezione supplementare: Sicurezza dinamicaSupplemental Lesson - Dynamic security
Lezione supplementare: Righe di dettaglioSupplemental Lesson - Detail rows