我是 MDX 新手,在从总和中过滤掉值时遇到问题。
我们想要执行归一化计算,特别是数量 (q) 除以基 (b) 以获得强度 (I)。公式相当简单 I=q/b。
我们的立方体结构:
我们有事实表 FactQuantity 和 FactBasis,每一个都与我们的 DimOrg 和 DimTime 维度表相关联。这两个维度都有层次结构:在 DimTime 中将月份汇总为年,在 DimOrg 中将位置汇总为业务单位和组。
事实表彼此不同步:仅仅因为特定 org_id 和 time 存在数量,不能保证相同 org_id 和 time 存在基础。
我对解决方案的尝试:
计算成员的基本形式很简单:[Measures].[Quantity]/[Measures].[Basis]
当我们在两个维度的最低级别查看时,这工作正常,但是当您汇总维度并开始聚合时会出现问题。
问题是同时包含了没有对应的 Basis 值的 Quantity 值和位置,从而使分子太大,因此不正确。
快速示例:
A组中的org_id 001的基数为100,数量为1000,因此其计算强度为1000/100=10。目前很好。A组中的org_id 002也没有根据,但确实有2000的数量,因此其计算的强度错误。美好的。
向上滚动到组 A 将数量 (3000) 和基数 (100) 相加,计算出的强度为 30,这对于组来说是不正确的。应该排除 2000,因为对于相同的 org_id 和时间,它没有相应的基础值。
非常感谢您提供的任何帮助。
谢谢,