Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Lo spazio del cubo è il prodotto dei membri delle gerarchie di attributi di un cubo con le misure del cubo. Di conseguenza, lo spazio del cubo è determinato dal prodotto combinatoriale di tutti i membri della gerarchia di attributi nel cubo e dalle misure del cubo e definisce le dimensioni massime del cubo. È importante notare che questo spazio include tutte le possibili combinazioni di membri della gerarchia degli attributi; anche combinazioni che potrebbero essere ritenute impossibili nel mondo reale, ovvero combinazioni in cui la città è Parigi e i paesi/regioni sono Inghilterra o Spagna o Giappone o India o altrove.
Autoexists e spazio cubo
Il concetto di autoexists limita questo spazio del cubo a quelle celle effettivamente esistenti. I membri di una gerarchia di attributi in una dimensione potrebbero non esistere con membri di un'altra gerarchia di attributi nella stessa dimensione.
Ad esempio, se si dispone di un cubo con una gerarchia di attributi City, una gerarchia di attributi Country e una misura Internet Sales Amount, lo spazio di questo cubo include solo i membri esistenti tra loro. Ad esempio, se la gerarchia dell'attributo City include le città new york, Londra, Parigi, Tokyo e Melbourne; e la gerarchia dell'attributo Country include i paesi/aree Stati Uniti, Regno Unito, Francia, Giappone e Australia; quindi lo spazio del cubo non include lo spazio (cella) all'intersezione di Parigi e Stati Uniti.
Quando si eseguono query su celle che non esistono, le celle non esistenti restituiscono valori Null; ovvero non possono contenere calcoli e non è possibile definire un calcolo che scrive in questo spazio. Ad esempio, la seguente dichiarazione include celle che non esistono.
SELECT [Customer].[Gender].[Gender].Members ON COLUMNS,
{[Customer].[Customer].[Aaron A. Allen]
,[Customer].[Customer].[Abigail Clark]} ON ROWS
FROM [Adventure Works]
WHERE Measures.[Internet Sales Amount]
Annotazioni
Questa query usa la funzione Members (Set) (MDX) per restituire il set di membri della gerarchia degli attributi Gender sull'asse delle colonne e incrocia questo set con il set specificato di membri della gerarchia di attributi Customer sull'asse delle righe.
Quando si esegue la query precedente, la cella all'intersezione di Aaron A. Allen e Female visualizza un valore Null. Analogamente, la cella all'intersezione di Abigail Clark e Male visualizza un valore Null. Queste celle non esistono e non possono contenere un valore, ma le celle che non esistono possono essere visualizzate nel risultato restituito da una query.
Quando si utilizza la funzione Crossjoin (MDX) per restituire il prodotto incrociato dei membri della gerarchia degli attributi dalle gerarchie di attributi nella stessa dimensione, la funzione "autoexists" limita le tuple restituite al set delle tuple effettivamente esistenti, anziché restituire un prodotto cartesiano completo. Ad esempio, eseguire ed esaminare i risultati dell'esecuzione della query seguente.
SELECT CROSSJOIN
(
{[Customer].[Country].[United States]},
[Customer].[State-Province].Members
) ON 0
FROM [Adventure Works]
WHERE Measures.[Internet Sales Amount]
Annotazioni
Si noti che 0 viene usato per designare l'asse delle colonne, ovvero la sintassi abbreviata per axis(0), ovvero l'asse delle colonne.
La query precedente restituisce solo celle per i membri di ciascuna gerarchia di attributi nella query che coesistono tra loro. La query precedente può essere scritta anche usando la nuova variante * della funzione * (Crossjoin) (MDX).
SELECT
[Customer].[Country].[United States] *
[Customer].[State-Province].Members
ON 0
FROM [Adventure Works]
WHERE Measures.[Internet Sales Amount]
La query precedente può essere scritta anche nel modo seguente:
SELECT [Customer].[State-Province].Members
ON 0
FROM [Adventure Works]
WHERE (Measures.[Internet Sales Amount],
[Customer].[Country].[United States])
I valori delle celle restituiti saranno identici, anche se i metadati nel set di risultati saranno diversi. Ad esempio, con la query precedente, la gerarchia Country è stata spostata nell'asse del filtro dei dati (nella clausola WHERE) e pertanto non viene visualizzata in modo esplicito nel set di risultati.
Ognuna di queste tre query precedenti illustra l'effetto del comportamento "auto-exists" in SQL Server Analysis Services.
Gerarchie definite dall'utente e spazio della cubo
Gli esempi precedenti di questo argomento definiscono le posizioni nello spazio del cubo usando le gerarchie degli attributi. Tuttavia, è anche possibile definire una posizione nello spazio del cubo usando gerarchie definite dall'utente definite dall'utente in base alle gerarchie di attributi in una dimensione. Una gerarchia definita dall'utente è una gerarchia di gerarchie di attributi progettata per facilitare l'esplorazione dei dati del cubo da parte degli utenti.
Ad esempio, la query CROSSJOIN nella sezione precedente potrebbe anche essere stata scritta come segue:
SELECT CROSSJOIN
(
{[Customer].[Country].[United States]},
[Customer].[Customer Geography].[State-Province].Members
)
ON 0
FROM [Adventure Works]
WHERE Measures.[Internet Sales Amount]
Nella query precedente, la gerarchia definita dall'utente Customer Geography all'interno della dimensione Customer viene usata per definire la posizione nello spazio del cubo definito in precedenza usando una gerarchia di attributi. La posizione identica nello spazio del cubo può essere definita usando gerarchie di attributi o gerarchie definite dall'utente.
Relazioni tra attributi e spazio cubo
La definizione delle relazioni tra attributi correlati migliora le prestazioni delle query (semplificando la creazione di aggregazioni appropriate) e influisce sul membro di una gerarchia di attributi correlata visualizzata con un membro della gerarchia di attributi. Ad esempio, quando si definisce una tupla che include un membro dalla gerarchia degli attributi City e la tupla non definisce in modo esplicito il membro della gerarchia degli attributi Country, ci si potrebbe aspettare che il membro predefinito della gerarchia degli attributi Country sia il membro correlato della gerarchia degli attributi City. Tuttavia, questo vale solo se viene definita una relazione tra la gerarchia dell'attributo City e la gerarchia dell'attributo Country.
Nell'esempio seguente viene restituito il membro di una gerarchia di attributi correlata non inclusa in modo esplicito nella query.
WITH MEMBER Measures.x AS
Customer.Country.CurrentMember.Name
SELECT Measures.x ON 0,
Customer.City.Members ON 1
FROM [Adventure Works]
Annotazioni
Si noti che la parola chiave WITH viene usata con le funzioni CurrentMember (MDX) e Name (MDX) per creare un membro calcolato da usare nella query. Per altre informazioni, vedere La query MDX (MDX) di base.
Nella query precedente viene restituito il nome del membro della gerarchia dell'attributo Country associato a ogni membro della gerarchia dell'attributo State. Viene visualizzato il membro Country previsto (perché viene definita una relazione di attributo tra gli attributi City e Country). Tuttavia, se non è stata definita alcuna relazione tra le gerarchie di attributi nella stessa dimensione, verrà restituito il membro (All), come illustrato nella query seguente.
WITH MEMBER Measures.x AS
Customer.Education.Currentmember.Name
SELECT Measures.x ON 0,
Customer.City.Members ON 1
FROM [Adventure Works]
Nella query precedente viene restituito il membro (All) ("All Customers") perché non esiste alcuna relazione tra Education e City. Di conseguenza, il membro (All) della gerarchia di attributi Education è il membro predefinito della gerarchia di attributi Education utilizzato in qualunque tupla che coinvolga la gerarchia di attributi City, laddove un membro Education non sia fornito in modo esplicito.
Contesto di calcolo
Vedere anche
Concetti chiave in MDX (Analysis Services)
Tuple
Autoexists
Utilizzo di membri, tuple e set (MDX)
Totali visivi e totali non visivi
Guida di riferimento al linguaggio MDX (MDX)
Informazioni di riferimento su MDX (Multidimensional Expressions)