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

PowerBI中统计多列内各学习方法的出现次数

问题:PowerBI多列学习方法的跨列总次数统计

已将字符串拆分后得到含Learnt 1至Learnt 4列的Excel数据,样本如下:

Learnt 1Learnt 2Learnt 3Learnt 4
Books空白空白空白
OnlineBooks空白空白
空白BooksBootcamp空白
Bootcamp空白Books空白

需求:统计每种学习方法在所有列的总出现次数,预期结果:Books:4、Online:1、Bootcamp:2。

尝试使用USERELATIONSHIP关联存储所有学习方法的Table1,但未成功,所用DAX代码如下:

CountinlearntocodeColumns =

CALCULATE (
    COUNTROWS ( LearningMethodTable ),
    USERELATIONSHIP ( Table1[Method], LearningMethodTable[Learnt 1] )
)
    + CALCULATE (
        COUNTROWS ( LearningMethodTable ),
        USERELATIONSHIP ( Table1[Method], LearningMethodTable[Learnt 2] )
    )
    + CALCULATE (
        COUNTROWS ( LearningMethodTable ),
        USERELATIONSHIP ( Table1[Method], LearningMethodTable[Learnt 3] )
    )

方法1:Power Query逆透视列(最简便)

无需复杂DAX,直接将多列转为单列后计数:

  1. 导入数据后进入Power Query编辑器
  2. 选中Learnt 1至Learnt 4四列
  3. 点击转换选项卡 → 逆透视列 → 逆透视选中的列
  4. 删除自动生成的属性列,仅保留值列
  5. 筛选掉值列中的空白行
  6. 加载数据回PowerBI,直接用计数功能统计每种方法的出现次数

方法2:正确的DAX度量值写法(无需修改数据源结构)

原DAX的问题在于USERELATIONSHIP的逻辑不匹配场景,以下是两种可行的DAX方案:

方案A:基于筛选的求和

假设:

  • LearningMethodTable是原始四列数据表格
  • Table1是包含所有唯一学习方法的维度表(列名Method)

创建度量值:

总出现次数 = 
VAR 当前方法 = SELECTEDVALUE(Table1[Method])
RETURN
COUNTROWS(FILTER(LearningMethodTable, LearningMethodTable[Learnt 1] = 当前方法)) +
COUNTROWS(FILTER(LearningMethodTable, LearningMethodTable[Learnt 2] = 当前方法)) +
COUNTROWS(FILTER(LearningMethodTable, LearningMethodTable[Learnt 3] = 当前方法)) +
COUNTROWS(FILTER(LearningMethodTable, LearningMethodTable[Learnt 4] = 当前方法))

使用时,将Table1[Method]拖入表格视觉对象,再添加该度量值即可得到结果。

方案B:SUMX逐行计算

更简洁的写法:

总出现次数 = 
VAR 当前方法 = SELECTEDVALUE(Table1[Method])
RETURN
SUMX(
    LearningMethodTable,
    INT(NOT ISBLANK(LearningMethodTable[Learnt 1]) && LearningMethodTable[Learnt 1] = 当前方法) +
    INT(NOT ISBLANK(LearningMethodTable[Learnt 2]) && LearningMethodTable[Learnt 2] = 当前方法) +
    INT(NOT ISBLANK(LearningMethodTable[Learnt 3]) && LearningMethodTable[Learnt 3] = 当前方法) +
    INT(NOT ISBLANK(LearningMethodTable[Learnt 4]) && LearningMethodTable[Learnt 4] = 当前方法)
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 20:31:34