多维数据集单元(Analysis Services - 多维数据)
多维数据集由单元组成,单元按度量值组和维度进行组织。 单元表示多维数据集中来自多维数据集内每个维度的一个成员的唯一逻辑交集。 例如,以下关系图说明的多维数据集包含了一个有两个度量值的度量值组,它们通过三个名为“源”、“路线”和“时间”的维度组织在一起。
此关系图中的单个带阴影的单元是下列成员的交集:
“路线”维度的空运成员。
“源”维度的非洲成员。
“时间”维度的第四季度成员。
包度量值。
叶和非叶单元
可以用几种方式获得多维数据集中的单元的值。 在前面的示例中,可以直接从多维数据集的事实数据表检索单元格中的值,因为用于标识该单元格的所有成员都是 叶成员。 从层次结构上看,叶成员没有子成员,并且通常引用维度表中的单个记录。 此类单元格称为 叶单元格。
但是,也可以使用 非叶成员来标识单元格。 非叶成员是有一个或多个子成员的成员。 在这种情况下,通常基于与非叶成员关联的子成员的聚合派生单元的值。 例如,下列成员和维度的交集是指其值由聚合提供的单元:
“路线”维度的空运成员。
“源”维度的非洲成员。
“时间”维度的下半年成员。
包成员。
“时间”维度的下半年成员是非叶成员。 因此,与它关联的所有值必须都是聚合值,如以下关系图所示。
个成员的第
假定“第三季度”和“第四季度”成员的聚合就是汇总,则指定单元的值是 400,即上面关系图中所有带阴影叶单元的总和。 由于单元格的值派生自其他单元格的聚合,因此指定的单元格被视为 非叶单元格。
除了自定义成员以外,为使用自定义汇总和成员组的成员所派生的单元值将以相似方式进行处理。 但是,为计算成员而派生的单元值将完全基于用来定义计算成员的多维表达式 (MDX);在某些情况下,可能不涉及实际的单元数据。 有关详细信息,请参阅 Parent-Child 维度中的自定义汇总运算符、 定义自定义成员公式和 计算。
空单元
并不是多维数据集中的每个单元都必须要包含值;多维数据集中可以有没有数据的交集。 这些称为空单元的交集经常出现在多维数据集中,因为并非多维数据集中带有度量值的维度属性的每个交集都在事实数据表中包含一个相应的记录。 多维数据集中空单元格与多维数据集中单元格总数的比率通常称为多维数据集的 稀疏性 。
例如,下列关系图中所示的多维数据集的结构与本主题中的其他示例类似。 但是,在本示例中,在第三季度没有到非洲的空运或者在第四季度没有到澳大利亚的空运。 由于事实数据表中无数据支持这些维度和度量值的交集,所以这些交集的单元为空。
在SQL Server Analysis Services中,空单元格是具有特殊品质的单元格。 因为空单元可扭曲交叉联接、计数等的结果,因此为了进行计算,许多 MDX 函数都提供了忽略空单元的功能。 有关详细信息,请参阅 MDX) 参考 (多维表达式和 MDX (Analysis Services) 中的关键概念 。
安全性
对单元格数据的访问在 Analysis Services 中在角色级别进行管理,可以使用 MDX 表达式进行精细控制。 有关详细信息,请参阅 授予对维度数据的自定义访问权限 (Analysis Services) 和 授予对单元格数据的自定义访问权限 (Analysis Services) 。