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

Power BI矩阵报表:如何避免双向筛选实现讲师-课程类别统计

无需双向筛选的Power BI数据模型方案

正确的单向关系模型

先调整数据模型的关系,全部使用单向一对多筛选(符合Power BI最佳实践,避免双向筛选带来的性能损耗与筛选逻辑混乱):

  • 课程类别表(Course category)与课程名称表(Course names):通过Course Id建立一对多关系,筛选方向设为从课程类别到课程名称(类别可筛选课程,课程无法反向筛选类别)
  • 课程名称表(Course names)与课程讲师表(Course lecturers):通过Course Id建立一对多关系,筛选方向设为从课程名称到课程讲师(课程可筛选讲师,讲师无法反向筛选课程)

核心度量值实现需求

创建以下DAX度量值,计算每位讲师在对应课程类别下的去重课程数量:

Distinct Courses by Category = 
VAR LecturerCourses = VALUES('Course lecturers'[Course Id])
VAR CategoryRelatedCourses = CALCULATETABLE(VALUES('Course names'[Course ID]), 'Course category')
RETURN
COUNTROWS(INTERSECT(LecturerCourses, CategoryRelatedCourses))

度量值逻辑说明:

  1. LecturerCourses:提取当前行上下文(对应讲师)所教授的所有课程ID集合
  2. CategoryRelatedCourses:提取当前列上下文(对应课程类别)覆盖的所有课程ID集合
  3. INTERSECT:取两个集合的交集,即该讲师教授的且属于当前类别的课程,最后用COUNTROWS完成去重计数

报表配置

在矩阵报表中进行如下设置:

  • 行维度:选择Course lecturers[Lecturer name]
  • 列维度:选择Course category[Course category]
  • 值字段:添加上述创建的Distinct Courses by Category度量值

最终生成的报表会完全匹配你的预期结果,且全程无需依赖双向筛选。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 21:40:25