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

DAX计算层级占比异常:尺寸层级百分比错误的修复咨询

问题描述

我搭建了一个包含**style(款式)、channel(渠道)、size(尺寸)**三级的矩阵表,用来计算style_selling_df表中各层级的数量及对应占比。为给size层级设置特定排序,我创建了custom_sortby表,通过size列与style_selling_df表建立并激活关系,矩阵表中使用的是custom_sortby表的size列。

编写的DAX度量值代码如下:

var stylesubtotal = calculate(sum(Style_selling_df[quantity]), allselected(Style_selling_df[style]));
var channelsubtotal = calculate(sum(Style_selling_df[quantity]), allselected(Style_selling_df[channelgrouping]));
var sizesubtotal = calculate(sum(Style_selling_df[quantity]), allselected(Style_selling_df[size]));
return if(
  Isinscope(Style_selling_df[size]),
  divide(sum(Style_selling_df[quantity]), sizesubtotal),
  if(
    isinscope(Style_selling_df[channelgrouping]),
    divide(sum(Style_selling_df[quantity]), channelsubtotal),
    if(
      isinscope(Style_selling_df[style]),
      divide(sum(Style_selling_df[quantity]), stylesubtotal),
      divide(sum(Style_selling_df[quantity]), channelsubtotal)
    )
  )
);

目前除size层级外,其余层级的百分比计算均正确,请问如何修复size层级的百分比问题?

修复方案

问题核心是上下文不匹配:矩阵表实际使用的是custom_sortby表的size列,但DAX代码里的Isinscope判断、sizesubtotal计算都基于Style_selling_df表的size列,导致size层级的逻辑触发失败,百分比计算错误。

修改后的DAX代码如下:

var stylesubtotal = CALCULATE(SUM(Style_selling_df[quantity]), ALLSELECTED(Style_selling_df[style]))
var channelsubtotal = CALCULATE(SUM(Style_selling_df[quantity]), ALLSELECTED(Style_selling_df[channelgrouping]))
var sizesubtotal = CALCULATE(SUM(Style_selling_df[quantity]), ALLSELECTED(custom_sortby[size]))
RETURN
IF(
    ISINSCOPE(custom_sortby[size]),
    DIVIDE(SUM(Style_selling_df[quantity]), sizesubtotal),
    IF(
        ISINSCOPE(Style_selling_df[channelgrouping]),
        DIVIDE(SUM(Style_selling_df[quantity]), channelsubtotal),
        IF(
            ISINSCOPE(Style_selling_df[style]),
            DIVIDE(SUM(Style_selling_df[quantity]), stylesubtotal),
            DIVIDE(SUM(Style_selling_df[quantity]), channelsubtotal)
        )
    )
)

关键修改点:

  • 把Isinscope(Style_selling_df[size])替换为Isinscope(custom_sortby[size]),匹配矩阵表实际使用的size列上下文
  • 将sizesubtotal计算中的ALLSELECTED(Style_selling_df[size])替换为ALLSELECTED(custom_sortby[size]),确保计算当前筛选下custom_sortby中size层级的总数量

调整后就能正确触发size层级的百分比计算逻辑,得到准确的占比结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 18:12:35