Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server MDX:Reporting Services查询中使用的MDX查询中的筛选结果出现问题_Sql Server_Reporting Services_Mdx - Fatal编程技术网

Sql server MDX:Reporting Services查询中使用的MDX查询中的筛选结果出现问题

Sql server MDX:Reporting Services查询中使用的MDX查询中的筛选结果出现问题,sql-server,reporting-services,mdx,Sql Server,Reporting Services,Mdx,为什么我的[Group Hierarchy]中的成员没有通过下面的filter()语句对我的结果进行过滤 SELECT NON EMPTY {[Measures].[Group Count], [Measures].[Overall Group Count] } ON COLUMNS, NON EMPTY { [Survey].[Surveys By Year].[Survey Year].ALLMEMBERS * [Respons

为什么我的[Group Hierarchy]中的成员没有通过下面的filter()语句对我的结果进行过滤

    SELECT 
    NON EMPTY {[Measures].[Group Count], [Measures].[Overall Group Count]   } ON COLUMNS,
    NON EMPTY {
        [Survey].[Surveys By Year].[Survey Year].ALLMEMBERS * 
        [Response Status].[Response Status].[Response Status].ALLMEMBERS} 
    DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS
FROM (
    SELECT ( { [Survey Type].[Survey Type Hierarchy].&[9] } ) ON COLUMNS
    FROM (
        SELECT ( { [Response Status].[Response Status].[All] } ) ON COLUMNS
        FROM (
            SELECT ( STRTOSET(@SurveySurveysByYear, CONSTRAINED) ) ON COLUMNS
            FROM (
            SELECT(filter([Group].[Group Hierarchy].members, instr(@GroupGroupFullName,[Group].[Group Hierarchy].Properties( "Group Full Name" )))) on columns 
            FROM [SysSurveyDW]))))

CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

我想你可能把你的参数搞错了。按照编码方式,它有效地查找存在于参数中的成员名称。我不确定您作为参数传递的是什么,但我认为您更有可能是在搜索包含参数值的成员名称。

以下是一个按预期工作的解决方案。已将筛选器移动到WHERE子句中。。。直到我将“SELECT({[Group].[Group].[Group]})放在列上…”代码放在FROM中,它才起作用

有人能找到更好的方法来实现这一点吗?绝对不是这里的MDX大师:)


组层次结构上的筛选器工作正常(例如,返回一组预期的组)。。。只是由于某些原因,它们没有被用来限制返回的结果。子选择的工作方式类似于查询范围的子多维数据集,因此除非度量值是依赖于当前上下文的计算,否则它们应该可以正常工作。如果度量值是计算度量值,那么最好的解决方案是将查询切换到使用WHERE子句而不是SUBSELECT。
SELECT 
    NON EMPTY {[Measures].[Group Count], [Measures].[Overall Group Count]   } ON COLUMNS,
    NON EMPTY { 
        STRTOSET(@SurveySurveysByYear) * 
        [Response Status].[Response Status].[Response Status].ALLMEMBERS}
    DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS
FROM (
    SELECT ({[Group].[Group].[Group]}) ON COLUMNS 
    FROM (
        SELECT ( { [Survey Type].[Survey Type Hierarchy].&[9] } ) ON COLUMNS
        FROM (
            SELECT ( { [Response Status].[Response Status].[All] } ) ON COLUMNS
            FROM [SysSurveyDW] )))
where
filter([Group].[Group Hierarchy].members - [Group].[Group Hierarchy].[All],
 instr(@GroupGroupFullName,[Group].[Group Hierarchy].Properties( "Group Full Name" )))


CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS