如何在Power BI中创建度量值获取不同类别唯一值?
在Power BI中提取类别列的唯一值(含表头)的实现方法
需求背景
你的原始数据列包含重复值:category(作为表头行)、A、B、C、A、C、B、C、A、B、A,需要提取出唯一结果:Category、A、B、C。
用度量值实现的方案
度量值本身无法直接返回多行列表,但可以通过DAX函数拼接成可展示的文本,或配合视觉对象筛选出唯一项:
1. 拼接唯一值为换行文本的度量值
假设你的表名为类别表,列名为category,创建如下DAX度量值:
唯一类别列表 = VAR 去重后的类别 = DISTINCT('类别表'[category]) VAR 包含表头的集合 = UNION({"Category"}, 去重后的类别) RETURN CONCATENATEX(包含表头的集合, [值], UNICHAR(10))
把这个度量值拖到卡片视觉对象中,就能看到换行展示的结果:
Category
A
B
C
2. 标记唯一项的度量值(配合表格视觉对象)
如果要在表格里展示唯一值,创建辅助度量值来标记需要保留的行:
保留该行 = VAR 当前值 = SELECTEDVALUE('类别表'[category]) VAR 出现次数 = CALCULATE(COUNT('类别表'[category]), ALL('类别表'), '类别表'[category] = 当前值) RETURN IF(出现次数 = 1 || 当前值 = "category", 1, 0)
将category列和这个度量值添加到表格视觉对象,然后设置筛选条件为保留该行 = 1,就能得到仅包含category、A、B、C的表格。
更简便的替代方案:创建计算表
如果不需要严格用度量值,直接建计算表更直观:
唯一类别表 = UNION( DATATABLE("Category", STRING, {{"Category"}}), DISTINCT('类别表'[category]) )
这个计算表会直接生成包含目标结果的新表,可直接用于可视化。
内容的提问来源于stack exchange,提问作者user19629867
相关产品推荐
相关产品推荐

