【问题标题】:Dynamic, on the fly, OLAP dimensions动态、动态、OLAP 维度
【发布时间】:2013-09-05 09:48:15
【问题描述】:

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

例如,将成员定义为的层次结构:'Top 5'、'Top 6-10'、'Others'...

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

【问题讨论】:

  • 您要创建成员或维度和/或层次结构吗? “前 5 名”、“前 6-10 名”、“其他人”……对我来说听起来像是会员。
  • 理想的新层次结构成员

标签: mdx olap business-intelligence


【解决方案1】:

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

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],当您定义多维数据集,但仅当您有特定查询时。

【讨论】:

  • 感谢您的努力,但我应该说计算成员不是我要寻找的答案。
猜你喜欢
  • 1970-01-01
  • 2022-01-15
  • 2016-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多