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

Power BI中CONCATENATEX()不响应Data Segmentation筛选的问题咨询

问题分析与解决方案

核心问题

  1. 原DAX中FILTER(Tasks, [cr8a4_ticket] = Tasks[GUIDTicket])的写法属于在Tasks表内部自关联,会忽略外部的筛选上下文(比如Data Segmentation视觉对象的日期筛选),导致所有日期都被保留。
  2. 如果当前是计算列,计算列仅在数据刷新时生成,不会响应报表视觉对象的动态交互筛选,这也是筛选失效的关键原因之一。

推荐方案:改用度量值(支持交互筛选)

要让Data Segmentation的筛选生效,必须使用度量值(而非计算列),利用已有的一对多关系自动继承筛选上下文:

Attention Dates = 
CONCATENATEX (
    // 自动继承主表行关联关系+外部筛选,同时去重日期
    VALUES ( Tasks[DateTask] ),
    " - " & FORMAT ( Tasks[DateTask], "dd/mm/yyyy" ),
    UNICHAR(10) // 用换行符实现列表格式
)

代码说明

  • VALUES(Tasks[DateTask])替代原有的SUMMARIZE+FILTER,既保留日期去重的效果,又能自动适配主表行上下文的关联,同时尊重外部的日期筛选。
  • FORMAT函数替代手动拼接日/月/年,格式更简洁可靠。
  • UNICHAR(10)作为分隔符,实现你需要的换行列表样式。

备选方案:计算列(仅支持模型级筛选)

如果必须在主表创建计算列,只能响应模型级/报表级筛选(无法支持视觉对象的交互筛选),修正后的DAX如下:

Attention Dates = 
VAR CurrentTicket = [GUIDTicket]
RETURN
CONCATENATEX (
    FILTER (
        ALLSELECTED(Tasks), // 保留模型级筛选上下文
        Tasks[cr8a4_ticket] = CurrentTicket
    ),
    " - " & FORMAT ( Tasks[DateTask], "dd/mm/yyyy" ),
    UNICHAR(10)
)

注意

计算列不会随视觉对象的交互动态更新,因此如果需要Data Segmentation的实时筛选效果,必须使用度量值方案。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 06:11:56