Ssas 维度层次结构未显示所有数据

Ssas 维度层次结构未显示所有数据,ssas,mdx,business-intelligence,Ssas,Mdx,Business Intelligence,我有一个users维度,它表示许多商店的层次结构。例如,商店被分为国家->地区->城镇/村庄->实际商店。所以,当你从层次结构的角度来看,它是Level1、Level2、Level3、Level4等等 奇怪的是,如果我执行MDX查询并在WHERE子句中按层次结构对特定用户进行过滤,则不会显示任何数据。但是,如果我执行相同的精确MDX,而不是按层次结构过滤,而是按属性过滤,则会显示记录 必须指出的是,用户层次结构[UserIdHierarchy]包含以下成员的层次结构 [用户级别1id] [Use

我有一个users维度,它表示许多商店的层次结构。例如,商店被分为国家->地区->城镇/村庄->实际商店。所以,当你从层次结构的角度来看,它是Level1、Level2、Level3、Level4等等

奇怪的是,如果我执行MDX查询并在WHERE子句中按层次结构对特定用户进行过滤,则不会显示任何数据。但是,如果我执行相同的精确MDX,而不是按层次结构过滤,而是按属性过滤,则会显示记录

必须指出的是,用户层次结构[UserIdHierarchy]包含以下成员的层次结构

  • [用户级别1id]
  • [UserLevel2Id]
  • [用户级别3id]
  • [用户级别4id]
  • [用户级别5id]
  • 这是两个案例,应该返回完全相同的结果

    使用用户层次结构筛选Where子句:

    where ( DESCENDANTS([Dim User].[UserIdHierarchy].&[#12345],0, self) ) where ( DESCENDANTS([Dim User].[UserLevel3Id].&[#12345],0, self) ) 哪里 (
    子体([Dim User].[UserIdHierarchy].&[#12345],0,self) ) 不带用户层次结构的Where子句筛选:

    where ( DESCENDANTS([Dim User].[UserIdHierarchy].&[#12345],0, self) ) where ( DESCENDANTS([Dim User].[UserLevel3Id].&[#12345],0, self) ) 哪里 ( 子体([Dim User].[UserLevel3Id].&[#12345],0,self) )
    为什么这两个过滤器不为这个特定用户提供相同的数据?

    原因是用户层次结构使用历史方法。因此,当一个用户有多个层次结构(如下所示)时,由于某种奇怪的原因,MDX变得混乱,并与维度层次结构中的第一个项目站在一起。下面,我展示了用户注册到系统后的3种不同设置。来解决我的问题,而不是仅仅做

    [Dim User].[UserIdHierarchy].&[#12345]
    
    我在where子句中筛选所有用户成员,即

    {[Dim User].[UserIdHierarchy].[UserLevel1Id].&[#12345],
    [Dim User].[UserIdHierarchy].[UserLevel2Id].&[#12345],
    [Dim User].[UserIdHierarchy].[UserLevel3Id].&[#12345]}
    

    然后对事实数据进行实际过滤。通过这种方式,我包括了用户层次结构中与我的用户匹配的所有成员的所有数据——在本例中是#12345

    如果在常规mdx查询中使用[Dim User]。[UserIdHierarchy]。&[#12345]本身就是有效的成员?当我浏览SSAS多维数据集以查看层次结构时,成员就在那里。因此,是的,它是一个有效的成员。当通过层次结构访问时,我无法理解或看到问题所在,但当我通过特定级别属性访问成员时,会出现数据。如果我理解,如果您使用此:[Dim User].[UserIdHierarchy].[UserLevel3Id].&[#12345]它将返回数据,不是吗?[Dim User].[UserIdHierarchy].&[#12345]这是uniquename的有效压缩,但它是压缩,因此我将尝试使用唯一全名。不,如果我从层次结构传递,成员将不会出现。因此,甚至不是以这种方式:[Dim User].[UserIdHierarchy].[UserLevel3Id].&[#12345]。要获得该成员,我需要执行以下没有意义的操作:[Dim User].[UserLevel3Id].&[#12345]