Relazioni tra attributi

Si applica a: SQL Server Analysis Services Azure Analysis Services Power BI Premium

In gli attributi all'interno di una dimensione sono sempre correlati Microsoft SQL Server Analysis Services direttamente o indirettamente all'attributo chiave. Quando si definisce una dimensione in base a uno schema star, in cui tutti gli attributi della dimensione sono derivati dalla stessa tabella relazionale, viene automaticamente definita una relazione tra l'attributo chiave e ogni attributo non chiave della dimensione. Quando si definisce una dimensione in base a uno schema snowflake, in cui gli attributi della dimensione sono derivati da più tabelle correlate, viene automaticamente definita una relazione tra attributi come indicato di seguito:

  • Tra l'attributo chiave e ogni attributo non chiave associato alle colonne della tabella principale della dimensione.

  • Tra l'attributo chiave e l'attributo associato alla chiave esterna della tabella secondaria che collega le tabelle delle dimensioni sottostanti.

  • Tra l'attributo associato alla chiave esterna della tabella secondaria e ogni attributo non chiave associato alle colonne della tabella secondaria.

Vi sono, tuttavia, molti motivi per cui potrebbe essere necessario modificare queste relazioni tra attributi predefinite. Potrebbe, ad esempio, essere necessario definire una gerarchia naturale, un ordinamento personalizzato o una granularità della dimensione basata su un attributo non chiave. Per altre informazioni, vedere Riferimento alle proprietà degli attributi delle dimensioni.

Nota

Le relazioni tra attributi sono note nelle espressioni MDX (Multidimensional Expression) come proprietà del membro.

Relazioni di gerarchia naturale

Una gerarchia è naturale quando ogni attributo incluso nella gerarchia definita dall'utente ha una relazione uno-a-molti con l'attributo immediatamente sottostante. Considerare, ad esempio, una dimensione Customer basata su una tabella di origine relazionale con otto colonne:

  • CustomerKey

  • CustomerName

  • Età

  • Sesso

  • E-mail

  • City

  • Country

  • Region

La dimensione di Analysis Services corrispondente ha sette attributi:

  • Customer (basato su CustomerKey, con CustomerName che definisce i nomi dei membri)

  • Age, Gender, Email, City, Region, Country

Le relazioni che rappresentano gerarchie naturali vengono applicate creando una relazione fra l'attributo per un livello e l'attributo per il livello sottostante. Per Analysis Services questa operazione specifica una relazione naturale e un'aggregazione potenziale. Nella dimensione Customer è presente una gerarchia naturale per gli attributi Country, Region, City e Customer. La gerarchia naturale per {Country, Region, City, Customer} viene descritta aggiungendo le relazioni tra attributi seguenti:

  • Attributo Country come relazione tra attributi dell'attributo Region.

  • Attributo Region come relazione tra attributi dell'attributo City.

  • Attributo City come relazione tra attributi dell'attributo Customer.

Per l'esplorazione dei dati nel cubo, è anche possibile creare una gerarchia definita dall'utente che non rappresenta una gerarchia naturale nei dati ( detta gerarchia ad hoc o gerarchia di report). È ad esempio possibile creare una gerarchia basata su {Age, Gender}. Gli utenti non vedono alcuna differenza nel comportamento delle due gerarchie, anche se la gerarchia naturale trae vantaggio dall'aggregazione e dall'indicizzazione di strutture, nascoste all'utente, che fanno riferimento alle relazioni naturali nei dati di origine.

La proprietà SourceAttribute di un livello determina quale attributo viene usato per descrivere il livello. La proprietà KeyColumns dell'attributo specifica la colonna nella vista origine dati che fornisce i membri. La proprietà NameColumn dell'attributo può specificare una colonna del nome diversa per i membri.

Per definire un livello in una gerarchia definita dall'utente utilizzando , Progettazione dimensioni consente di selezionare un attributo della dimensione, una colonna in una tabella delle dimensioni o una colonna di una tabella correlata inclusa nella vista origine dati per il SQL Server Data Tools cubo. Per altre informazioni sulla creazione di gerarchie definite dall'utente, vedere Create User-Defined Hierarchies.

Relativamente al contenuto dei membri, in Analysis Services ci si basa in genere sul presupposto che i membri foglia non abbiano discendenti e contengano dati derivati dalle origini dei dati sottostanti, mentre i membri non foglia abbiano discendenti e contengano dati derivati dalle aggregazioni eseguite sui membri figlio. Nei livelli aggregati i membri sono basati sulle aggregazioni di livelli subordinati. Pertanto, quando la proprietà IsAggregatable è impostata su False in un attributo di origine per un livello, non è necessario aggiungere attributi aggregabili come livelli superiori.

Definizione di una relazione tra attributi

Il vincolo principale quando si crea una relazione tra attributi consiste nel verificare che l'attributo a cui la relazione fa riferimento non abbia più di un valore per ogni membro nell'attributo a cui appartiene la relazione tra attributi. Se, ad esempio, si definisce una relazione tra un attributo City e un attributo State, ogni città può essere in relazione solo con un unico stato.

Query sulla relazione tra attributi

È possibile utilizzare query MDX per recuperare dati da relazioni tra attributi, sotto forma di proprietà dei membri, con la parola chiave PROPERTIES dell'istruzione MDX SELECT. Per altre informazioni sull'utilizzo di MDX per recuperare le proprietà dei membri, vedere Uso delle proprietà dei membri (MDX).

Vedere anche

Attributi e gerarchie di attributi
Informazioni di riferimento per le proprietà degli attributi delle dimensioni
Gerarchie utente
Proprietà delle gerarchie definite dall'utente