哪些 OLAP 工具支持动态的、即时的、维度或层次结构的创建?
例如,将成员定义为:'Top 5'、'Top 6-10'、'Others'...
计算成员是通常的答案,我正在寻找不同的东西。计算的问题。成员是性能和一致性(例如,您不能将 放入切片器或子查询中)。最重要的是,您必须仔细检查所有其他计算。不破坏其他计算的措施(例如市场份额、时差)
最佳答案
在特定查询中,任何允许您定义 MDX 的工具都将允许您使用类似以下在 AdventureWorks 多维数据集上的 SSAS 中运行的 MDX:
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 的情况下开箱即用地具有此功能。此外,在多维数据集中实现这一点很困难,因为您需要度量的上下文和在特定查询中工作的属性 - 上面我的 MDX 中的
[Measures].[Internet Sales Amount]
和 [Customer].[City]
,在定义多维数据集时不可用,但仅当您有特定查询时。关于mdx - 动态的、动态的、OLAP 维度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18633019/