3

以下查询

选择
{ [Measures].[Comp Money In] } 在列上,
{
 (
  [暗淡用户].[UserLevel1].[UserLevel1].AllMembers *
  [暗淡用户].[UserLevel2].[UserLevel2].AllMembers *
  [暗淡用户].[UserLevel3].[UserLevel3].AllMembers *
  [暗淡用户].[UserLevel4].[UserLevel4].AllMembers *
  [暗淡用户].[UserLevel5].[UserLevel5].AllMembers   
 )
} 行
FROM [活动]
WHERE ([Dim User].[UserIdHierarchy].[UserLevel1Id].&[#513],
[Dim User].[UserTypeHierarchy].[UserTypeLevel1].&[Commercial Partner].&[Agent] ) CELL 属性值

产生以下结果:

在此处输入图像描述

我的问题是,由于我正在过滤 [Dim User].[UserTypeHierarchy],因此显示的度量值仅属于具有 [Commercial Partner].&[Agent] 类型的度量值。我希望即使我正在显示用户树,正在显示的数字也显示了所有度量,就好像它像后代([Hierarchy],0,self_and_after)。

我如何实现这一目标?我已经尝试使用计算成员,但显示的数字并未聚合 [Dim User].[UserTypeHierarchy] 层次结构下所有用户类型的后代。

为了更好地解释我自己,下图没有用户类型过滤器: 在此处输入图像描述

所以我想要的结果是第一张图片,我只显示用户类型的商业合作伙伴的用户,但是第二张图片的数字,例如

  • 513 将显示所有数字聚合后代

  • 100310 将显示在第三层聚合他下的所有用户的所有数字

就这样第四个。

4

2 回答 2

3

[Activities] Cube 设置不正确。查询一级时,应显示其自身及其子级的值(例如“Country Shop 1”应显示 19)。这应该是多维数据集中的聚合规则的一部分。现在显示在 Cube 的父级中的值(例如 Country Shop 1 €6)应该显示在一个额外的休息组中,该组自动创建为每个父级的附加子级。

因此,这个多维数据集的简单 MDX 将是:

SELECT {
[Measures].[In]
} ON COLUMNS,
{
DESCENDANTS([Dim User].[UserTypeHierarchy].[UserTypeLevel1],0,SELF_AND_AFTER)
}
from [Activities]

将显示具有适当聚合值的所有地区、国家和商店。

问候菲尔

于 2013-07-30T14:32:28.810 回答
0

这是解决方案:

和
    成员[措施]。[测试] AS
        0
选择
    {
         [测试]
    开 0,
    非空{
        筛选 (
            {[dim user].[userhierarchy].[userlevel1].allmembers }
            ,[dim user].[userhierarchy].currentmember.children.count > 1
        ),
        筛选 (
            {[dim user].[userhierarchy].[userlevel2].allmembers }
            ,[dim user].[userhierarchy].currentmember.children.count > 1
        ),
        筛选 (
            {[dim user].[userhierarchy].[userlevel3].allmembers }
            ,[dim user].[userhierarchy].currentmember.children.count > 1
        ),
        筛选 (
            {[dim user].[userhierarchy].[userlevel4].allmembers }
            ,[dim user].[userhierarchy].currentmember.children.count > 1
        ),
        筛选 (
            {[dim user].[userhierarchy].[userlevel5].allmembers }
            ,[dim user].[userhierarchy].currentmember.children.count > 1
        ),
        筛选 (
            {[dim user].[userhierarchy].[userlevel6].allmembers }
            ,[dim user].[userhierarchy].currentmember.children.count > 1
        ),
        筛选 (
            {[dim user].[userhierarchy].[userlevel7].allmembers }
            ,[dim user].[userhierarchy].currentmember.children.count > 1
        ),
        筛选 (
            {[dim user].[userhierarchy].[userlevel8].allmembers }
            ,[dim user].[userhierarchy].currentmember.children.count > 1
        ),
        筛选 (
            {[dim user].[userhierarchy].[userlevel9].allmembers }
            ,[dim user].[userhierarchy].currentmember.children.count > 1
        ),
        筛选 (
            {[dim user].[userhierarchy].[userlevel10].allmembers }
            ,[dim user].[userhierarchy].currentmember.children.count > 1
        )
    } 开 1
FROM [活动]

我不是按父用户类型过滤,而是提出那些孩子数大于 1 的用户。

于 2013-08-06T08:51:43.040 回答