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

DAX技术求助:在Products查找表计算列统计各产品销售笔数

解决Products表计算列统计销售笔数的问题

错误原因分析

你当前的公式逻辑完全偏离了目标:

  • 你用Filter(Product, ...)是在筛选产品表而非销售表,这根本不是统计销售笔数的正确对象。
  • Calculate(Sum(Sales[SalesAmount]))在没有指定产品筛选条件时,返回的是所有销售记录的总金额(只要总金额不为0,筛选条件就始终成立),最终Countrows(Filter(...))会返回整个Products表的行数,所以所有产品行的数值都一样。

正确的DAX公式

有两种简洁且正确的写法,任选其一即可:

方法1:使用RELATEDTABLE(推荐,语义清晰)

Product[total number of sales] = COUNTROWS(RELATEDTABLE(Sales))

RELATEDTABLE会自动识别当前Products行上下文对应的关联Sales记录集合,直接统计该集合的行数,就是对应产品的销售笔数。

方法2:使用CALCULATE+COUNTROWS(利用上下文转换)

Product[total number of sales] = CALCULATE(COUNTROWS(Sales))

在计算列的行上下文里,CALCULATE会自动执行上下文转换:把当前行的产品筛选条件(比如ProductID)转换为筛选上下文,应用到Sales表,然后统计符合条件的销售记录行数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 21:31:17