Sql MDX不太正确..需要筛选父母及其兄弟姐妹

Sql MDX不太正确..需要筛选父母及其兄弟姐妹,sql,reporting-services,ssas,mdx,business-intelligence,Sql,Reporting Services,Ssas,Mdx,Business Intelligence,目标:删除指定用户访问级别之上的所有级别 示例:我在where子句中有一个用户可以访问地区3717。在那个地区,几乎没有什么部门(图中被遮住了)。我试图进行一个查询,列出3717区、3717区下列出的部门以及该地区的兄弟姐妹(3701至3718区) 我现在拥有的内容:我有一个查询,其中列出了3717区、3717区下列出的部门以及该地区的兄弟姐妹(3701至3718区)。此外,它还列出了该区域(区域3)、区域3及其同级(区域3、4、5)、公司、已删除、无效和所有的父区域、所有区域 我试图修改查询的

目标:删除指定用户访问级别之上的所有级别

示例:我在where子句中有一个用户可以访问地区3717。在那个地区,几乎没有什么部门(图中被遮住了)。我试图进行一个查询,列出3717区、3717区下列出的部门以及该地区的兄弟姐妹(3701至3718区)

我现在拥有的内容:我有一个查询,其中列出了3717区、3717区下列出的部门以及该地区的兄弟姐妹(3701至3718区)。此外,它还列出了该区域(区域3)、区域3及其同级(区域3、4、5)、公司、已删除、无效和所有的父区域、所有区域

我试图修改查询的聚合部分,但没有任何结果

屏幕截图中突出显示的是我唯一感兴趣的。如果用户有权访问区域35,我希望结果集具有区域30到39、仅在区域35下的地区以及仅在区域35下的所有地区下的部门。 请参考图片。 请帮忙

WITH
MEMBER [Measures].[ParameterValue] AS
    [Organization].[Organization Hierarchy].CurrentMember.UniqueName
MEMBER [Measures].[ParameterCaption] AS
    iif([Organization].[Organization Hierarchy].CurrentMember.Level.Ordinal =1,"",[Organization].[Organization Hierarchy].CurrentMember.Properties( "Organization Id" ) + " - ") +
    [Organization].[Organization Hierarchy].CurrentMember.Name  
MEMBER [Measures].[ParameterLevel] AS
        [Organization].[Organization Hierarchy].CurrentMember.Level.Ordinal
MEMBER [Measures].[User Count] AS
    [Measures].[User Organization Count]
    -
    Aggregate(
        {[Organization].[Organization Hierarchy].parent
        ,DESCENDANTS([Organization].[Organization Hierarchy])}
        ,[Measures].[User Organization Count]
    )
SELECT 
{
    [Measures].[ParameterValue]
    ,[Measures].[ParameterCaption]
    ,[Measures].[ParameterLevel]
}
ON COLUMNS,
FILTER
(
    DESCENDANTS([Organization].[Organization Hierarchy],5, SELF_AND_BEFORE)
    ,[Measures].[User Count]
)
ON ROWS
FROM [Cube]
WHERE
(
[Users].[User Name].&       [User_with_access_to_district_level__this_user_is_assgined_to_district_3718],
[Organization].[Organization Hierarchy Name].&[typeofhierarchy]
)

我认为您需要使用UNION构建所需的集合

UNION
(
    //This bit gets you the children (districts)
    DESCENDANTS([Organization].[Organization Hierarchy].&[35],1, AFTER),
    //This bit gets you the siblings, including self
    [Organization].[Organization Hierarchy].&[35].SIBLINGS
)
ON ROWS

因此,我不应该使用筛选器(子体([Organization].[Organization Hierarchy],5,SELF_AND_BEFORE),[Measures].[User Count]),而应该使用筛选器(联合{子体([Organization].[Organization Hierarchy],1,After),[Organization].[Organization Hierarchy].[Siders},[Measures].[User Count])?是和否,我想你是想把两个不同的组合组合成一个组合——你要找的那个组合的兄弟姐妹和孩子们。不过,我不知道您为什么要尝试重新添加FILTER语句。但是,我需要基于子体和Usercount筛选数据……您能建议一种类似的替代方法吗?