Ssas 当您有多个选项时,如何在多个关系中选择正确的中间度量值组

Ssas 当您有多个选项时,如何在多个关系中选择正确的中间度量值组,ssas,mdx,olap-cube,Ssas,Mdx,Olap Cube,我有一个名为FactActivity的事实表和一些维度表,如用户、客户、操作、日期和租户。 我创建了与每个度量值对应的度量值组,如下所示 FactActivity=>ActivityCount列之和 DimUser=>行数 DIMTENTAN=>行数 DimDate=>行数和weekofyear列的不同计数 每个用户都可以使用多个客户端执行多个操作。租户是用户的逻辑分组。因此,一个租户包含多个用户,但一个用户不能属于多个租户。所有维度表和事实表都通过常规关系连接到DimDate 立方体结构如下所

我有一个名为FactActivity的事实表和一些维度表,如用户、客户、操作、日期和租户。 我创建了与每个度量值对应的度量值组,如下所示

FactActivity=>ActivityCount列之和 DimUser=>行数 DIMTENTAN=>行数 DimDate=>行数和weekofyear列的不同计数 每个用户都可以使用多个客户端执行多个操作。租户是用户的逻辑分组。因此,一个租户包含多个用户,但一个用户不能属于多个租户。所有维度表和事实表都通过常规关系连接到DimDate

立方体结构如下所示

现在我想定义每个度量值组的维度关系。其中一些是许多关系SIP,用于启用不同的计数计算。设计师向我展示了许多十字路口的多种选择。我不知道选择哪一个作为中间测量组。我是否应该总是选择总行数最少的度量值组ex:DimDate?或者,确定中间度量值组的正确逻辑是什么

这就是我得到的。是这样吗?如果没有,怎么了

有关hep的更多信息,请选择正确答案

FactActivity=10亿行 DimUser=3500万行 DIM租户=100万行 DimDate=1000行
选择中间度量值组的正确方法取决于您希望如何评估与维度相关的度量值:

让我们从活动度量值组到租户维度开始:问题是:AnalysisServices应该如何确定租户的活动度量值组中的活动计数或任何其他度量值?确定这一点的唯一合理方法是从活动事实表通过用户表转到租户表。实际上,最后一种关系不是多对多关系,而是多对一关系。即。您可以通过将租户维度集成到用户维度来优化它。然而,使用多对多关系也会起作用,只是效率稍低一点。您也可以考虑使用从用户到租户的引用关系,而不是多对多关系。可能还有其他的考虑因素,为什么你们会选择把它们分成两个不同的维度,所以我不再进一步讨论这个问题

现在让我们继续下一个问题:租户度量值组到用户维度:您使用日期度量值组对其进行配置的方式意味着,对于租户和用户共同拥有的每个日期,用户的租户计数都会将一个添加到计数中。这可能不是你想要的。我假设您希望通过用户度量值组将租户度量值与用户维度相关联。但是,我根本不确定用户和租户维度表中的DateKey的用途是什么。因此,你们的关系可能是正确的

让我们继续讨论从日期度量值组到租户和用户维度的关系。我认为应该没有任何关系,因为一年中的一周和日期计数并不取决于租户或用户。请注意,在某些度量值组和某些维度之间没有关系是绝对可以的。如果你看看微软的立方体冒险工程示例,它有更多的灰色单元格。E测量组和维度在维度使用上与白色维度无关。E度量值组和维度之间存在某种关系,无论是哪种类型。在度量值组的默认设置IgnoreUnrelatedDimensions=true中,这意味着维度的所有成员的度量值都相同。这应该是日期计数和一年中的一周的情况。但是,同样,由于我不知道用户和租户维度表中DateKey的用途,我不确定这个假设是否适用于您的数据


在这些例子之后,我希望您可以自己继续处理其余的关系。

Metrics有一个总和度量。日期、用户、租户都有行数衡量您是否可以更改第一个图像,使标题完全可读且不被截断,箭头不相交?要破译细节有点困难。此外,在StackOverflow上,您应该编辑原始问题,而不是添加注释。明白了。我的错。编辑图片并在Q中添加测量信息。添加注释以描述测量感谢详细解释。所有维度表中都有DateKey的原因是允许它们使用SCD功能。所有这些维度的变化都很慢,所以我有一个日期键来记录所有的变化历史。这有意义吗?