求助用逗号拼接的多个code值字符串转换成中文要如何处理?

比如我SQL查出了这个值,有三个code用逗号拼接

image.png

然后它们对应的字典是这个

image.png

我要怎么让实际显示的值为"加油站,化工厂,其他" ?

FineReport 用户S6548535 发布于 2025-6-18 15:33
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
1
华莉星宸Lv7专家互助
发布于2025-6-18 15:36(编辑于 2025-6-18 15:37)

单元格设置形态公式就行

ds11对应的就是你的表结果

=MAPARRAY(split($$$,","),VALUE("ds11",2,1,item))

最佳回答
0
snrtuemcLv8专家互助
发布于2025-6-18 15:34

公式查询复选框数据集数据

JOINARRAY(MAPARRAY(split(单元格,','),MAP(item,"ds1","字段id","字段名称")),',')

最佳回答
0
技术支持--哈哈Lv4初级互助
发布于2025-6-18 15:36
  1. 使用SPLIT函数拆分字符串

=SPLIT(A1, ",")  // 将A1单元格的逗号分隔字符串拆分为数组

  1. 设置数据字典转换

  • 为显示单元格添加「形态>数据字典」

  • 设置实际值为您的code字段(如"code")

  • 显示值为对应的中文名称字段(如"name")

  1. 完整解决方案


// 假设A1"001,002,003"B1显示结果

B1: =JOINARRAY(

SPLIT(

SQL("数据源", "SELECT GROUP_CONCAT(name) FROM dict_table WHERE code IN ('" + JOINARRAY(SPLIT(A1, ","), "','") + "')"),

",")

)

  1. 替代方案(如果数据库不支持GROUP_CONCAT):


// 先拆分再逐个转换最后拼接

=JOINARRAY(

ARRAY(

SQL("数据源", "SELECT name FROM dict_table WHERE code='001'"),

SQL("数据源", "SELECT name FROM dict_table WHERE code='002'"),

SQL("数据源", "SELECT name FROM dict_table WHERE code='003'")

),

","

)

{{JS实现参数面板显示对应数据-406.md}}



效果示意图:

![字符串转换示例](https://help.fanruan.com/uploads/201811/20181101164712_7815.png){{字符串分割替换-2488.md}}



注意事项:

- 确保数据字典中的code值与字符串中的code完全匹配

- 分隔符要一致(如都是英文逗号)

- 大数据量时建议使用SQL方案而非逐个查询

  • 4关注人数
  • 28浏览人数
  • 最后回答于:2025-6-18 15:37
    请选择关闭问题的原因
    确定 取消
    返回顶部