SSAS中度量组未被非键属性关联维度过滤的问题咨询
问题成因与修复方案
核心原因
该问题是SSAS多维建模中属性关系配置缺失导致的标准异常:
- SSAS维度属性之间如果没有显式配置属性关系,引擎默认判定各属性相互独立,不会自动推导属性值的关联映射
- 你使用非键属性
ID Kunde作为订单维度(Dim Bestellung)和度量组的关联键,但未配置「Bestellung(订单)」属性到「ID Kunde(客户ID)」属性的关联关系 - 当查询仅选择订单维度的
Bestellung属性时,SSAS无法获知每个订单对应的关联键ID Kunde的值,无法完成与事实表的匹配过滤,只能返回全局总计值 - 手动将
ID Kunde添加到查询行轴后,相当于显式给出了每个查询组合对应的关联键值,引擎可以正常匹配事实表返回正确聚合结果
永久修复方案
无需修改查询,仅需调整维度配置即可:
- 打开
Dim Bestellung维度设计器,切换到「属性关系」标签页 - 右键
Bestellung属性,选择「新建属性关系」 - 源属性选择
Bestellung,相关属性选择ID Kunde,根据业务稳定性选择关系类型为「刚性」(订单对应客户不会变更)或「柔性」,保存配置 - 重新部署并处理多维数据集,后续仅查询
Bestellung属性即可返回正确结果
补充说明
- 所有用作维度与度量组关联键的非键属性,都必须配置维度各层级属性到该关联属性的属性关系,否则都会出现维度过滤失效问题
- 正确配置属性关系还可大幅提升SSAS聚合查询性能,降低维度处理时的内存占用
内容的提问来源于stack exchange,提问作者Ralf
相关产品推荐
相关产品推荐

