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

如何在Tableau中将拼接字段拆分为行而非列?

当然可以实现这种每行一条的格式!我给你整理了几种常用工具的实现方法,你可以根据自己的需求选择:

方法1:Excel操作(适合非编程用户)
  • 第一步:把医疗代码串和描述串分别放到两个单元格里(比如A1放代码,B1放描述)
  • 第二步:拆分代码列:在A2单元格输入=TEXTSPLIT(A1,";"),按回车后会自动把所有代码拆成单独的行
  • 第三步:拆分描述列:在B2单元格输入=TEXTSPLIT(B1,";"),这样拆分后的描述会和代码一一对应
  • 第四步:添加表头和分隔线:在上方插入一行,分别输入code和description;如果需要分隔线,可以手动在表头下方一行输入-----和------------,或者用Excel的表格格式化功能美化
方法2:Python脚本(适合有编程基础的用户)

如果数据量很大,用Python处理会更高效,下面是一段简单的示例代码:

# 替换成你的实际代码串和描述串
code_string = "80400;80402;80404;..."
desc_string = "description1;description2;description3;..."

# 拆分字符串为列表
codes = code_string.split(";")
descriptions = desc_string.split(";")

# 输出格式化后的内容
print("code description")
print("----- ------------")
for code, desc in zip(codes, descriptions):
    # 可以根据需要调整格式,比如用制表符对齐
    print(f"{code:<6} {desc}")

运行这段代码后,不管有多少个条目,都会自动输出你想要的每行一条的格式。

方法3:SQL查询(如果数据存储在数据库中)

假设你的表名为medical_data,包含code_list和desc_list两个字段,不同数据库的字符串拆分函数略有不同,这里以MySQL为例:

SELECT 
    SUBSTRING_INDEX(SUBSTRING_INDEX(m.code_list, ';', nums.n), ';', -1) AS code,
    SUBSTRING_INDEX(SUBSTRING_INDEX(m.desc_list, ';', nums.n), ';', -1) AS description
FROM 
    medical_data m
JOIN 
    (SELECT 1 AS n UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4) nums
ON 
    CHAR_LENGTH(m.code_list) - CHAR_LENGTH(REPLACE(m.code_list, ';', '')) >= nums.n - 1
ORDER BY 
    nums.n;

如果你的条目超过4个,只需要在nums子查询里继续添加UNION ALL SELECT 5这样的语句,或者用生成连续数字的方法来覆盖所有条目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:06:18