STRTOSET函数需要1参数的元组集表达式。使用了字符串或数字表达式

时间:2017-10-30 16:15:08

标签: sql-server reporting-services ssas mdx olap-cube

我正在使用报告服务,使用参数,所以我有这样的查询:

SELECT 
    NON EMPTY { [Measures].[ReclamosBSC_Reclamos] } ON COLUMNS, 
    NON EMPTY { ([Dim_Tiempo_].[Anio].[Anio].ALLMEMBERS 
     * [Dim_Tiempo_].[Mes].[Mes].ALLMEMBERS 
     * [Dim_Tiempo_].[NombreMesAbreviado].[NombreMesAbreviado].ALLMEMBERS 
     * [Dim_PlantaCentro_].[IdGrupo].[IdGrupo].ALLMEMBERS 
     * [Dim_PlantaCentro_].[NombreGrupo].[NombreGrupo].ALLMEMBERS 
     * [Dim_PlantaCentro_].[IdDivision].[IdDivision].ALLMEMBERS 
     * [Dim_PlantaCentro_].[NombreDivision].[NombreDivision].ALLMEMBERS 
     * [Dim_PlantaCentro_].[IdPlanta].[IdPlanta].ALLMEMBERS 
     * [Dim_PlantaCentro_].[Planta].[Planta].ALLMEMBERS 
     * [Dim_ClientePadre_].[Dim_ClientePadre_].[Dim_ClientePadre_].ALLMEMBERS ) } 
     DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_VALUE, MEMBER_UNIQUE_NAME ON ROWS 
FROM 
( 
    SELECT 
        ( STRTOSET(@DimTiempoMes) ) ON COLUMNS 
    FROM 
    ( 
        SELECT 
            ( STRTOSET(@DimTiempoAnio) ) ON COLUMNS 
        FROM 
            [BSC]
    )
) 
CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

当我使用查询设计器时,它正确运行,但当我尝试查看我的报告的预览时,它返回:

  

STRTOSET函数需要1的元组集表达式   论点。使用了字符串或数字表达式。

有人可以解释一下我的查询有什么问题吗?

1 个答案:

答案 0 :(得分:1)

假设预览功能将您的年和月参数值设置为" 2017"和" 9"分别可以按如下方式重写查询:

SELECT 
    NON EMPTY { [Measures].[ReclamosBSC_Reclamos] } ON COLUMNS, 
    NON EMPTY { ([Dim_Tiempo_].[Anio].[Anio].ALLMEMBERS 
     * [Dim_Tiempo_].[Mes].[Mes].ALLMEMBERS 
     * [Dim_Tiempo_].[NombreMesAbreviado].[NombreMesAbreviado].ALLMEMBERS 
     * [Dim_PlantaCentro_].[IdGrupo].[IdGrupo].ALLMEMBERS 
     * [Dim_PlantaCentro_].[NombreGrupo].[NombreGrupo].ALLMEMBERS 
     * [Dim_PlantaCentro_].[IdDivision].[IdDivision].ALLMEMBERS 
     * [Dim_PlantaCentro_].[NombreDivision].[NombreDivision].ALLMEMBERS 
     * [Dim_PlantaCentro_].[IdPlanta].[IdPlanta].ALLMEMBERS 
     * [Dim_PlantaCentro_].[Planta].[Planta].ALLMEMBERS 
     * [Dim_ClientePadre_].[Dim_ClientePadre_].[Dim_ClientePadre_].ALLMEMBERS ) } 
     DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_VALUE, MEMBER_UNIQUE_NAME ON ROWS 
FROM 
( 
    SELECT 
        { ( STRTOMEMBER('[Dim_Tiempo_].[Mes].[Mes].[' + @DimTiempoMes + ']') ) } ON COLUMNS 
    FROM 
    ( 
        SELECT 
            { ( STRTOMEMBER('[Dim_Tiempo_].[Anio].[Anio].[' + @DimTiempoAnio + ']') ) } ON COLUMNS 
        FROM 
            [BSC]
    )
) 
CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

使用嵌套子查询将允许您在SELECT子句中的ROWS轴上包含年份和月份。如果使用WHERE子句,则在SELECT子句中包含年份和月份时会出错。