You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSAS如何为无事实匹配的维度值通过SCOPE设置替代度量值

问题根因

你编写的SCOPE语句仅限定了[DIM ABC].[CODE].[C3]单属性坐标,当查询中显式选择DIM ABC Key作为切片/行/列维度时,多维数据集的坐标同时包含DIM ABC Key的成员值,仅DIM ABC Key=3的坐标能和CODE=C3匹配,但原事实表无对应记录,默认非空过滤逻辑会直接排除该组合,导致SCOPE赋值不生效。

修正方案

你需要用到DESCENDANTS函数覆盖CODE=C3对应的所有下级属性成员,同时配置非空行为避免被过滤,无需额外创建自定义度量:

SCOPE ([Measures].[AMOUNT], DESCENDANTS([DIM ABC].[CODE].[C3], [DIM ABC].[DIM ABC Key], SELF));
    THIS = [Measures].[Count];
    NON_EMPTY_BEHAVIOR(THIS) = [Measures].[Count];
END SCOPE;

逻辑说明

  • DESCENDANTS函数会将CODE=C3关联的DIM ABC Key=3成员也纳入SCOPE覆盖范围,不管你查询选择的是CODE属性还是DIM ABC Key属性,都能命中赋值规则
  • NON_EMPTY_BEHAVIOR配置会让系统以[Measures].[Count]的非空性为准判断该坐标是否展示,只要另一事实表中C3对应Count有值,就会正常显示,效果和你手动新增Key=3的事实记录完全一致

补充:如果你的DIM ABC维度未配置DIM ABC Key到CODE的属性关联,也可以直接显式指定两个属性的成员纳入SCOPE:

SCOPE ([Measures].[AMOUNT], {[DIM ABC].[CODE].[C3], [DIM ABC].[DIM ABC Key].[3]});
    THIS = [Measures].[Count];
    NON_EMPTY_BEHAVIOR(THIS) = [Measures].[Count];
END SCOPE;

内容的提问来源于stack exchange,提问作者skk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 19:18:03