Power BI中计算各物料编号对应不同供应商数量的技术问询
在Power BI中计算每个物料的不同供应商数量
要实现按物料编号统计对应不同供应商数量的计算列,直接使用DISTINCTCOUNT无法自动按物料分组,需要结合筛选上下文限定统计范围,以下是两种可行的DAX公式:
方法1:使用ALLEXCEPT函数
Desired Column = CALCULATE( DISTINCTCOUNT('你的表名'[Supplier]), ALLEXCEPT('你的表名', '你的表名'[Material Number]) )
ALLEXCEPT会移除表中除Material Number之外的所有筛选条件,确保计算仅针对当前行对应的物料编号进行。DISTINCTCOUNT统计该物料下唯一的供应商数量。
方法2:使用FILTER+EARLIER函数
Desired Column = CALCULATE( DISTINCTCOUNT('你的表名'[Supplier]), FILTER('你的表名', '你的表名'[Material Number] = EARLIER('你的表名'[Material Number])) )
FILTER筛选出表中所有与当前行物料编号相同的记录。EARLIER引用当前行的Material Number值,作为筛选条件的匹配依据。- 最终统计筛选结果中的唯一供应商数量。
验证示例
以你提供的表格为例:
- 物料A1对应Vendor A和Vendor C两个不同供应商,计算列返回2,符合预期。
- 物料C1对应Vendor A、Vendor G、Vendor F三个不同供应商,计算列返回3,符合预期。
- 重复的供应商记录(如B3的两条Vendor B)会被
DISTINCTCOUNT忽略,返回1,正确。
内容的提问来源于stack exchange,提问作者Jana K
相关产品推荐
相关产品推荐

