了解 MDX 'ALL'?

Understanding MDX 'ALL'?

我是来自 SQL 世界的 MDX 新手,我正在尝试理解 'ALL' 的概念。我知道 'ALL' 是一个成员,就该维度而言,它创建了一个粒度较低的多维数据集。这是正确的吗?

有哪些 SQL 的例子可以帮助我推理这个概念?当然,SQL 使用的是 table 而不是立方体,但我确定有一些相似之处可以帮助我建立联系?让我尝试创建一个示例。

假设我有一个 table 具有这样一个表示具有 3 个维度的立方体的架构:

myTable (dim1_attribute1,dim1_attribute2, dim2_attribute1,dim2_attribute2,dim2_attribute3,
dim3_attribute1,dim3_attribute2,dim3_attribute3)

什么样的 SQL 会在 dim3 上提供 'ALL' 粒度的聚合?

'ALL' 意味着基本上您正在考虑该维度的所有成员 - 您没有使用该维度的某些特定成员对立方体进行切片。在 SQL 中,等效查询是从 where 子句中完全省略 dim3,因此您不会使用 dim3 中的某些特定值过滤生成的聚合,而是将所有行都考虑在内。