Mdx 动态、动态、OLAP维度

Mdx 动态、动态、OLAP维度,mdx,olap,business-intelligence,Mdx,Olap,Business Intelligence,哪些OLAP工具支持动态、动态地创建维度或层次结构 例如,将成员定义为:“前5名”、“前6-10名”、“其他人”的层次结构 计算过的成员是通常的答案,我在寻找不同的东西。calc.成员的问题在于性能和一致性(例如,您不能将数据放入切片器或子查询)。最重要的是,您必须仔细检查所有其他计算方法,不要破坏其他计算(例如市场份额、时差)在特定查询中,任何允许您定义MDX的工具都允许您使用类似于此的MDX,它在AdventureWorks多维数据集的SSA中运行: with set [Top 5 Sale

哪些OLAP工具支持动态、动态地创建维度或层次结构

例如,将成员定义为:“前5名”、“前6-10名”、“其他人”的层次结构


计算过的成员是通常的答案,我在寻找不同的东西。calc.成员的问题在于性能和一致性(例如,您不能将数据放入切片器或子查询)。最重要的是,您必须仔细检查所有其他计算方法,不要破坏其他计算(例如市场份额、时差)

在特定查询中,任何允许您定义MDX的工具都允许您使用类似于此的MDX,它在AdventureWorks多维数据集的SSA中运行:

with set [Top 5 Sales] as
         TopCount([Customer].[City].[City].members, 5, [Measures].[Internet Sales Amount])
     set [Top 6-10 Sales] as
         TopCount([Customer].[City].[City].members, 10, [Measures].[Internet Sales Amount]) - [Top 5 Sales]
     set [Others Sales] as
         [Customer].[City].[City].members - TopCount([Customer].[City].[City].members, 10, [Measures].[Internet Sales Amount])
member [Customer].[City].[Top 5] as
     Aggregate([Top 5 Sales], Measures.CurrentMember)
     member [Customer].[City].[Top 6-10] as
     Aggregate([Top 6-10 Sales], Measures.CurrentMember)
     member [Customer].[City].[Others] as
     Aggregate([Others Sales], Measures.CurrentMember)

select { [Measures].[Internet Sales Amount], [Measures].[Internet Order Quantity] }
       on columns,
       non empty
       { [Customer].[City].[All Customers], [Customer].[City].[Top 5] }
       +
       [Top 5 Sales]
       +
       { [Customer].[City].[Top 6-10] }
       +
       [Top 6-10 Sales]
       +
       { [Customer].[City].[Others] }
       +
       Order([Others Sales], [Measures].[Internet Sales Amount], BDESC)
       on rows
  from [Adventure Works]

但我不知道有哪种工具在没有您编写MDX的情况下就具有这种开箱即用的功能。此外,在多维数据集中实现这一点很困难,因为您需要度量的上下文和在特定查询中使用的属性-
[Measures].[Internet Sales Amount]
和上面我的MDX中的
[Customer].[City]
,这些在定义多维数据集时不可用,但仅当您有特定查询时。

是否要创建成员或维度和/或层次结构前5名、前6-10名、其他名。。。听起来像是我的成员。理想情况下,新等级的成员感谢你的努力,但我应该说,一个有计划的成员不是我想要的答案。