Una query MDX contenente una funzione di aggregazione restituisce un errore per i valori delle celle in SQL Server Analysis Services

In questo articolo viene descritto un problema che si verifica se il set nella Aggregate funzione contiene un membro calcolato.

Versione originale del prodotto:   SQL Server
Numero KB originale:   942981

Sintomi

Si dispone di una query MDX (Multidimensional Expressions) che utilizza la Aggregate funzione. Il set specificato nella funzione di aggregazione contiene un membro calcolato. Quando si esegue la query MDX su un'istanza di Microsoft SQL Server Analysis Services, la query restituisce #Error per i valori delle celle. Se si fa clic su una cella, nella finestra di dialogo Proprietà cella verrà visualizzato il messaggio di errore seguente:

È stato rilevato un set che non può contenere membri calcolati

Nota

Viene visualizzato il messaggio di errore nella colonna valore della VALUE proprietà e della FORMATTED_VALUE Proprietà.

Causa

Questo problema si verifica perché un membro calcolato contiene la Aggregate funzione e questa funzione ha un set di membri non aggregabili.

Si consideri, ad esempio, la query MDX menzionata nella procedura per riprodurre la sezione problema . Nel database di esempio [Adventure Works DW], [scenario]. [Scenario] il membro non è aggregabile. La proprietà IsAggregatable per questo attributo Dimension è impostata su false. Se si esegue questa query MDX, verrà visualizzato il messaggio di errore menzionato nella sezione sintomatologia .

Procedura per riprodurre il problema

  1. In SQL Server Business Intelligence Development Studio aprire il progetto di esempio Adventure Works DW Enterprise Edition.

    Nota

    Il progetto di esempio Adventure Works DW Enterprise Edition è incluso nel progetto di database di Analysis Services. Per scaricare il progetto di database di Analysis Services, vedere database di esempio AdventureWorks.

  2. Distribuire il progetto di esempio in un'istanza di SQL Server Analysis Services.

  3. Aprire SQL Server Management Studio e quindi connettersi all'istanza di Analysis Services.

  4. Fare clic su Nuova query.

  5. Nella finestra query eseguire la query MDX seguente:

    WITH MEMBER
    [Scenario].[Scenario].[MyMember]
    AS
    AGGREGATE(
    {[Scenario].[Scenario].&[1],
    [Scenario].[Scenario].&[2],
    [Scenario].[Scenario].&[3],
    [Scenario].[Scenario].[Budget Variance]
    })
    
    SELECT
    {[Measures].[Amount]} ON AXIS(0)
    FROM
    [Adventure Works]
    WHERE [Scenario].[Scenario].[MyMember]