在多维数据集或 mdx 查询中可视化“ALL”汇总
Posted
技术标签:
【中文标题】在多维数据集或 mdx 查询中可视化“ALL”汇总【英文标题】:Visualizing the "ALL" rollup in a cube or mdx query 【发布时间】:2020-11-11 04:59:26 【问题描述】:让我们用下面这个经常使用的例子(或其变体)来展示一个立方体以及它如何存储用于查询的信息:
这里我们有三个维度,Time
、Product
和 Location
,我们称它为 COUNT Sold
的度量。我了解查看特定单元格以获得产品 x 位置 x 时间的交集,但是如果产品是“全部”或位置是“全部”或时间是“全部”,那将如何工作或可视化?
【问题讨论】:
【参考方案1】:当您使用 All 成员时,就好像您根本没有使用该维度对多维数据集进行切片。例如,在 SQL 中,如果您想查找特定产品、时间和位置的行数,您可以编写 where 条件:
where Product = 'Modems' and Location = 'Asia' and Time = '2001'
如果您想查看 Time 列的所有值的计数,您只需从 where 条件中省略 Time:
where Product = 'Modems' and Location = 'Asia'
您基本上要求计数Product = 'Modems'
、Location = 'Asia'
和所有行,无论它具有什么时间值。这基本上是 MDX 在您要求 Product = Modem、Location = Asia 和 Time = All in the cube 时返回的内容。
如果您的多维数据集中有第 4 维,比如说帐户,在您的图片中您无法可视化第 4 维,但它存在,并且在结果单元格的上下文中,您实际上定义了一个以下元组(如果 All 是Account 维度的默认成员),例如:
(Measures.Count, Product.Modems, Time.2001, Location.Europe, Account.All)
【讨论】:
以上是关于在多维数据集或 mdx 查询中可视化“ALL”汇总的主要内容,如果未能解决你的问题,请参考以下文章
对 Analysis Services 的 VBA Reptitive MDX 查询