Utilizzo di espressioni di cubo e sottocuboUsing Cube and Subcube Expressions

SI APPLICA A:sìSQL Server Analysis ServicesnoAzure Analysis ServicesAPPLIES TO:yesSQL Server Analysis ServicesnoAzure Analysis Services

È possibile utilizzare espressioni di cubo e sottocubo in istruzioni MDX (Multidimensional Expressions) per definire, modificare o recuperare dati da un cubo o da un sottocubo.You use cube and subcube expressions in Multidimensional Expressions (MDX) statements to define, manipulate, or retrieve data from a cube or subcube.

Espressioni di cuboCube Expressions

Un'espressione di cubo contiene un identificatore di cubo o la parola chiave CURRENTCUBE e pertanto può essere solo un'espressione semplice.A cube expression contains either a cube identifier or the CURRENTCUBE keyword, and therefore can only be simple expressions. In molte istruzioni MDX viene utilizzata la parola chiave CURRENTCUBE per identificare il contesto del cubo corrente anziché richiedere un identificatore di cubo.Many MDX statements use the CURRENTCUBE keyword to identify the current cube context instead of requiring a cube identifier.

Un identificatore di cubo viene visualizzato come Cube_Name nelle descrizioni di notazione BNF di istruzioni MDX.A cube identifier appears as Cube_Name in BNF notation descriptions of MDX statements.

Le espressioni di cubo possono essere visualizzate in diverse posizioni.Cube expressions may appear in several places. In un'istruzione MDX SELECT, tali espressioni specificano il cubo dal quale vengono recuperati i dati.In an MDX SELECT statement they specify the cube from which data is to be retrieved. Nell'esempio di query seguente, l'espressione [Adventure Works] fa riferimento all'omonimo cubo:In the following example query, the expression [Adventure Works] refers to the cube of that name:

SELECT [Measures].[Internet Sales Amount] ON COLUMNS

FROM [Adventure Works]

Nell'istruzione CREATE MEMBER, l'espressione di cubo specifica il cubo su cui viene visualizzato il membro calcolato che si sta creando.In the CREATE MEMBER statement, the cube expression specifies which cube the calculated member you are creating is to appear on. Nell'esempio seguente, l'istruzione crea una misura calcolata nella dimensione Measures del cubo Adventure Works:In the following example, the statement creates a calculated measure on the Measures dimension of the Adventure Works cube:

CREATE MEMBER [Adventure Works].[Measures].[Test] AS 1

Quando si utilizza l'istruzione CREATE MEMBER in uno script MDX, il nome del cubo può essere sostituito dalla parola chiave CURRENTCUBE, poiché il cubo dove deve essere creato il membro calcolato deve essere lo stesso cubo al quale appartiene lo script MDX, come illustrato nell'esempio seguente:When you use the CREATE MEMBER statement inside an MDX Script, the name of the cube can be replaced with the CURRENTCUBE keyword, since the cube where the calculated member is to be created must be the same cube that the MDX Script belongs to, as shown in the followingexample:

CREATE MEMBER CURRENTCUBE.[Measures].[Test] AS 1;

Diventa così più semplice copiare e incollare le definizioni dei membri calcolati da un cubo a un altro, dal momento che il nome del cubo non è più specificato a livello di codice.Doing this makes it easier to copy and paste calculated member definitions from one cube to another since the name of the cube is no longer hard-coded.

Espressioni di sottocuboSubCube Expressions

Un'espressione di sottocubo può contenere un identificatore di sottocubo o un'istruzione MDX che restituisce un sottocubo.A subcube expression can contain a subcube identifier or an MDX statement that returns a subcube. Se l'espressione di sottocubo contiene un identificatore di sottocubo, sarà un'espressione semplice.If the subcube expression contains a subcube identifier, it will be a simple expression. Se invece contiene un'istruzione MDX che restituisce un sottocubo, sarà un'istruzione complessa.If it contains an MDX statement that returns a subcube, it is a complex statement. L'istruzione MDX SELECT ad esempio, restituisce un sottocubo e può essere utilizzata in tutte le situazioni in cui sono consentite espressioni di sottocubo, come illustrato nell'esempio seguente:The MDX SELECT statement, for example, returns a subcube and can be used where subcube expressions are allowed, as shown in the following example:

SELECT [Measures].MEMBERS ON COLUMNS,

[Date].[Calendar Year].MEMBERS ON ROWS

FROM

(SELECT [Measures].[Internet Sales Amount] ON COLUMNS,

[Date].[Calendar Year].&[2004] ON ROWS

FROM [Adventure Works])

Questo utilizzo di un'istruzione SELECT nella clausola FROM viene definito anche come selezione secondaria.This use of a SELECT statement in the FROM clause is also referred to as a subselect.

Un altro scenario comune dove si incontrano espressioni di sottocubo è durante le assegnazioni con ambito in uno script MDX.Another common scenario where subcube expressions are encountered is when making scoped assignments in an MDX Script. Nell'esempio seguente, l'istruzione SCOPE viene utilizzata per limitare un'assegnazione a un sottocubo costituito da [Measures].[Internet Sales Amount]:In the following example, the SCOPE statement is used to limit an assignment to a subcube consisting of [Measures].[Internet Sales Amount]:

SCOPE([Measures].[Internet Sales Amount]);

This=1;

END SCOPE;

Un identificatore di sottocubo viene visualizzato come Subcube_Name.A subcube identifier appears as Subcube_Name. nelle descrizioni della annotazione BNF delle istruzioni MDX.in BNF notation descriptions of MDX statements.

Vedere ancheSee Also

La Query MDX di base ( MDX ) The Basic MDX Query (MDX)
Compilazione di sottocubi in MDX ( MDX ) Building Subcubes in MDX (MDX)
CREATE SUBCUBE-istruzione ( MDX ) CREATE SUBCUBE Statement (MDX)
Espressioni ( MDX ) Expressions (MDX)
Istruzione SCOPE ( MDX )SCOPE Statement (MDX)