Sql MDX不太正确..需要筛选父母及其兄弟姐妹
目标:删除指定用户访问级别之上的所有级别 示例:我在where子句中有一个用户可以访问地区3717。在那个地区,几乎没有什么部门(图中被遮住了)。我试图进行一个查询,列出3717区、3717区下列出的部门以及该地区的兄弟姐妹(3701至3718区) 我现在拥有的内容:我有一个查询,其中列出了3717区、3717区下列出的部门以及该地区的兄弟姐妹(3701至3718区)。此外,它还列出了该区域(区域3)、区域3及其同级(区域3、4、5)、公司、已删除、无效和所有的父区域、所有区域 我试图修改查询的聚合部分,但没有任何结果 屏幕截图中突出显示的是我唯一感兴趣的。如果用户有权访问区域35,我希望结果集具有区域30到39、仅在区域35下的地区以及仅在区域35下的所有地区下的部门。 请参考图片。 请帮忙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)、公司、已删除、无效和所有的父区域、所有区域 我试图修改查询的
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筛选数据……您能建议一种类似的替代方法吗?