SSAS 中的维度层次结构(多重关系?)

dimension hierarchy in SSAS (multiple relationships?)

我有一个包含 Product Model 和 measure Installed base 列的事实表(不重要,任何其他措施都会这样做)。

比我有维度表,这里是棘手的部分:

我有很多产品模型,每个都属于更高级别的custom_groups(共4个),
同一个产品型号可能属于多个自定义groupX,自定义groupX可能属于多个自定义groupX-1。

例如从最高 CG1 到最低 PM 级别的层次结构:

  • XXX=>YYY=>ZZZ=>WWW
  • LLL=>MMM=>QQQ=>WWW
  • RRR=>PPP=>QQQ=>TTT

您可以看到,最后一级 PM WWW 属于 2 个不同的自定义组 3(QQQ 和 ZZZ),而自定义组 3 QQQ 可能属于两个不同的自定义组 2(本例中为 MMM 和 PPP)。

我尝试通过 SSAS 中的层次结构对此进行建模,但要么我得到了错误的度量结果(IB 在没有聚合的情况下进行了总结,并且所有自定义组的结果都相同),或者我在我的层次结构中丢失了一些自定义组。


您可以使用多对多关系解决此问题:为四个自定义组级别创建一个包含四列的维度表,以及一个 custom_group_id 列。在此表中填写您的数据中出现的所有自定义组组合。然后用两列 product_modelcustom_group_id 构建一个桥接表(又名无事实事实表)。为产品所属的每个组组合填写一条记录。

然后,在 BIDS 中,从自定义组表中创建一个维度,并从您的桥接表中创建一个度量值组,使用计数作为唯一度量值,并使该度量值不可见。最后在多维数据集编辑器的"维度使用"选项卡中,通过桥接度量组将主度量组和自定义组维度之间的关系配置为多对多。