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

基于DAX计算不同PurchaseOrderId及产品类别的订单平均价值

DAX实现订单平均价值计算(含按ProductCategory分组)

需求明确

你需要计算的订单平均价值公式为:(所有唯一订单的Subtotal总和 + 所有唯一订单的Wet总和) / 唯一PurchaseOrderId的数量,同时需支持按ProductCategory维度拆分计算该平均值。

DAX度量值实现

创建以下度量值(替换'销售表'为你实际的表名):

订单平均价值 = 
VAR TotalSubtotal = SUMX(DISTINCT('销售表'[PurchaseOrderId]), CALCULATE(SUM('销售表'[Subtotal])))
VAR TotalWet = SUMX(DISTINCT('销售表'[PurchaseOrderId]), CALCULATE(SUM('销售表'[Wet])))
VAR DistinctOrderCount = DISTINCTCOUNT('销售表'[PurchaseOrderId])
RETURN
DIVIDE(TotalSubtotal + TotalWet, DistinctOrderCount, 0)

代码解释

  • TotalSubtotal:先提取所有唯一的PurchaseOrderId,再对每个单独订单计算其Subtotal的总和,最终汇总得到所有订单的Subtotal总金额(对应你样本中的5586.93)
  • TotalWet:逻辑与TotalSubtotal一致,计算所有订单的Wet总金额(对应样本中的1620.20)
  • DistinctOrderCount:统计数据中唯一的PurchaseOrderId数量(对应样本中的7)
  • DIVIDE:安全执行除法运算,第三个参数设置为0,避免出现除数为0的错误

按ProductCategory分组计算

上述度量值本身支持维度筛选:
在Power BI的可视化组件(如矩阵、柱状图)中添加ProductCategory字段作为行/列分组,度量值会自动根据当前类别上下文,计算该类别下的订单平均价值。

辅助验证(可选)

若要单独验证各部分数值,可创建以下辅助度量值:

总Subtotal = SUMX(DISTINCT('销售表'[PurchaseOrderId]), CALCULATE(SUM('销售表'[Subtotal])))
总Wet = SUMX(DISTINCT('销售表'[PurchaseOrderId]), CALCULATE(SUM('销售表'[Wet])))
唯一订单数 = DISTINCTCOUNT('销售表'[PurchaseOrderId])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 18:20:48