我有一个包含产品型号列的事实表,并测量已安装的基础(不重要,任何其他测量也会这样做)。
比我有尺寸表,这里有一个棘手的部分:
我有很多产品型号,每个都属于更高级别的custom_groups(总共4个), 相同的产品型号可能属于多个自定义组X,自定义组X可能属于多个自定义组X-1。
例如从最高CG1到最低PM级别的层次结构:
你可以看到,最后一级PM WWW属于2个不同的自定义组3(QQQ和ZZZ),而自定义组3 QQQ可能属于两个不同的自定义组2(在这种情况下是MMM和PPP)。
我尝试通过SSAS中的层次结构对此进行建模,但是我得到了错误的度量结果(IB总结而没有聚合,结果对于所有自定义组都相同),或者我在层次结构中遗漏了一些自定义组。
答案 0 :(得分:2)
您可以使用多对多关系解决此问题:为四个自定义组级别创建一个包含四列的维度表,以及custom_group_id
列。在此表中填写数据中显示的所有自定义组的组合。然后使用两列product_model
和custom_group_id
构建一个桥表(又名无事实的事实表)。为产品所属的每个组合组合填写一条记录。
然后,在BIDS中,使用计数作为唯一度量,从自定义组表和桥表中的度量值组创建维度,并使此度量不可见。最后,在多维数据集编辑器的“维度用法”选项卡中,通过桥接度量值组将主度量值组和自定义组维度之间的关系配置为多对多。