Una consulta MDX que contiene una función Aggregate devuelve un error para los valores de celda de 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 especificado en la función Aggregate contiene un miembro calculado. Al ejecutar 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:

Recibirá el mensaje de error en la columna Value 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 la sección Pasos para reproducir el problema . En la base de datos de ejemplo [Adventure works DW], el [Escenario]. El miembro [Escenario] no se puede agregar. La propiedad IsAggregatable de este atributo de dimensión se establece 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 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, consulte Bases de datos de ejemplo 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]