Una consulta MDX que contiene una función Aggregate devuelve un error para los valores de celda en SQL Server Analysis Services

En este artículo se describe un problema que se produce si el conjunto de la Aggregate función contiene un miembro calculado.

Versión del producto original:   SQL Server
Número de KB original:   942981

Síntomas

Tiene una consulta de expresiones multidimensionales (MDX) que usa la Aggregate función. El conjunto que se especifica en la función Aggregate contiene un miembro calculado. Cuando se ejecuta la consulta MDX en una instancia de Microsoft SQL Server Analysis Services, la consulta devuelve #Error para los valores de las celdas. Si hace clic en una celda, recibirá el siguiente mensaje de error en el cuadro de diálogo propiedades de celda :

Se ha encontrado un conjunto que no puede contener miembros calculados

Nota

Recibe el mensaje de error de la columna valor de la VALUE propiedad y de la FORMATTED_VALUE propiedad.

Causa

Este problema se produce porque un miembro calculado contiene la Aggregate función y esta función tiene un conjunto de miembros no agregables.

Por ejemplo, considere la consulta MDX que se menciona en los pasos para reproducir la sección problema . En la base de datos de ejemplo [Adventure Works DW], el [escenario]. [Scenario] el miembro no es agregable. La propiedad IsAggregatable de este atributo de dimensión está establecida en false. Si ejecuta esta consulta MDX, recibirá el mensaje de error que se menciona en la sección síntomas .

Pasos para reproducir el problema

  1. En SQL Server Business Intelligence Development Studio, abra el proyecto de ejemplo Adventure Works DW Enterprise Edition.

    Nota

    El proyecto de ejemplo de Adventure Works DW Enterprise Edition se incluye en el proyecto de base de datos de Analysis Services. Para descargar el proyecto de base de datos de Analysis Services, vea bases de datos de ejemplo de AdventureWorks.

  2. Implemente el proyecto de ejemplo en una instancia de SQL Server Analysis Services.

  3. Abra SQL Server Management Studio y, a continuación, conéctese a la instancia de Analysis Services.

  4. Haga clic en Nueva consulta.

  5. En la ventana de consulta, ejecute la siguiente consulta MDX:

    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]