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

Power BI/Power Query中关联多表并计算主项总进度的方法求助

Power BI主任务加权进度计算解决方案

一、DAX计算表实现关联与进度计算

假设你已有权重计算表ITEM_WEIGHTS,包含ITEM_NUMBER(主任务编号)和SUB_TASK_WEIGHT(子任务权重百分比,如0.2代表20%)。

  • 建立表关系:

    • 确保ITEMS[ITEM_NUMBER]与SUB_ITEMS[ITEM_NUMBER]为一对多关系
    • 确保SUB_ITEMS[ITEM_NUMBER]与ITEM_WEIGHTS[ITEM_NUMBER](若权重按子任务细分,需额外匹配子任务编号)建立关系
  • 创建DAX计算表:

主任务进度表 = 
SUMMARIZE(
    SUB_ITEMS,
    ITEMS[ITEM_NUMBER],
    ITEMS[ITEM_NAME], -- 可选,保留主任务名称
    "总进度", SUMX(
        RELATEDTABLE(SUB_ITEMS),
        SUB_ITEMS[完成百分比] * RELATED(ITEM_WEIGHTS[SUB_TASK_WEIGHT])
    )
)

若权重为主任务下子任务均分(如5个子任务各占20%),可简化为:

主任务进度表 = 
SUMMARIZE(
    SUB_ITEMS,
    ITEMS[ITEM_NUMBER],
    ITEMS[ITEM_NAME],
    "总进度", SUMX(
        SUB_ITEMS,
        SUB_ITEMS[完成百分比] * (1 / COUNTROWS(RELATEDTABLE(SUB_ITEMS)))
    )
)

二、Power Query实现关联与进度计算

若需在Power Query中完成全流程处理:

  • 导入ITEMS、SUB_ITEMS、ITEM_WEIGHTS到Power Query编辑器
  • 合并表:
    • 选中SUB_ITEMS,点击合并查询,选择ITEMS,匹配ITEM_NUMBER列,合并类型选左外部
    • 再次合并结果表与ITEM_WEIGHTS,匹配对应关联列(主任务编号+子任务编号,若权重为子任务级),合并类型选左外部
  • 展开合并列,取出主任务信息和权重字段
  • 添加自定义列计算子任务贡献:
    = [完成百分比] * [SUB_TASK_WEIGHT]
    
  • 分组计算总进度:
    • 选择ITEM_NUMBER及主任务相关字段,点击分组依据,操作选求和,目标列选自定义贡献列,命名为总进度
  • 加载处理后的表到Power BI模型

注意事项

  • 确保权重列格式为小数(如20%需转换为0.2),避免计算误差
  • DAX方法需保证表关系的交叉筛选方向正确,否则RELATEDTABLE无法正常获取子任务数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 09:40:23