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

Crystal Reports中如何将两行医师数据转置为一行两列?

解决Crystal Reports中两行医师信息合并为同一行两列的方法

方法一:公式字段+分组抑制原始行

  1. 创建两个公式字段

    • 新建公式命名为@主治医师,写入代码:
      If {你的数据表.医师类型字段} = "Attending Physician" Then {你的数据表.医师姓名字段}
      
    • 新建公式命名为@初级保健医师,写入代码:
      If {你的数据表.医师类型字段} = "Primary Care Physician" Then {你的数据表.医师姓名字段}
      

    (将代码里的字段名替换为你实际使用的表字段)

  2. 设置分组规则
    按能唯一标识同一组的字段(比如患者ID)分组,确保同一患者的两行医师数据归为同一组。

  3. 调整报表布局

    • 将两个公式字段拖到组页眉节,分别放在第一列和第二列。
    • 打开节专家,勾选详细资料节的「抑制(No Drill-Down)」,隐藏原始的两行数据,只显示组页眉里合并后的一行。
  4. 空值处理(可选)
    如果存在某类医师缺失的情况,可给公式添加默认值,示例:

    If {你的数据表.医师类型字段} = "Attending Physician" Then {你的数据表.医师姓名字段} Else "无"
    

方法二:运行总计字段

若不想用分组,可通过运行总计抓取对应数据:

  • 创建运行总计RT_主治医师:
    • 字段选择医师姓名字段
    • 求值条件设为{你的数据表.医师类型字段} = "Attending Physician"
    • 重置条件选择按患者ID(或唯一标识字段)重置
  • 同理创建RT_初级保健医师,将求值条件改为匹配初级保健医师的类型
  • 把两个运行总计字段拖到详细资料节,再通过节专家设置详细资料节仅显示每组最后一行,避免重复输出

注意事项

  • 确保每组(如每个患者)仅对应一条主治医师、一条初级保健医师数据,防止重复值干扰结果
  • 公式里的医师类型匹配文本要和你数据库中的实际值完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 09:44:57