10 计算字段

使用指南

适用平台:陕西省重大疾病防控与大健康数据共享平台(REDCap 17.4.5) 维护单位:西安交通大学公共卫生学院流行病与卫生统计学系 读者:已获账号、具备项目设计权限的项目负责人与数据管理员 更新日期:2026-09-29

登录后打开项目,进入 在线设计器。西安交通大学公共卫生学院维护的现网是 REDCap 17.4.5。年龄、BMI 这类数若每次都手算,录入员会算错。把字段类型选成 计算字段,公式里写其他字段的变量名,保存记录时由系统算。结果要是一段文字时,不用计算字段,改在文本框上加 @CALCTEXT(动作标签的其余写法在后面的专篇)。

计算字段的公式框
图-10-1 计算字段的公式框

上图为手册示意。现网字段类型名是 计算字段。更多函数在公式框旁的 专用函数。


1. 适用场景

  • 由出生日期算周岁,或由身高、体重算 BMI,希望全项目用同一公式。
  • 录入时就要看到结果,用来决定后面的题出不出现。
  • 公式不长,参与计算的字段已经在本张表或本事件里。

只在统计软件里用一次的派生变量,导出后计算即可。现网也提示:计算字段不必多用,导出到统计软件里算往往更合适。


2. 操作步骤

2.1 先准备被引用的字段

  1. 打开 https://www.wcrcnet.cn/redcap/ 登录。页脚是 REDCap 17.4.5。
  2. 身高、体重、日期放在文本框里,校验设成数字或日期。
  3. 单选若要参与运算,选项编码用数字。复选框在公式里写成 字段名(编码),例如 [smoke(1)]。

2.2 写公式

  1. 在线设计器 添加字段,类型选 计算字段。
  2. 变量名用方括号。公制 BMI(体重 kg、身高 cm)可写成:

round(([weight]*10000)/([height]^2),1)

周岁可用:

rounddown(datediff([dob],'today','y'))

  1. 保存前打开 专用函数,核对函数名。用一条测试记录填两端数值(例如身高 50 与 200),看结果是否合理(试填见 48)。

日期相减用 datediff,单位 'd' 是天,'y' 是年。姓名拼接这类文字结果用 @CALCTEXT。

录入页上 计算字段 不能手改。改完身高或体重、离开该格之后,结果会跟着变。公式引用了别的表单时,那些表单里要先有保存过的值。


3. 注意与权限

  • 改公式需要项目设计权限。生产库里改公式要进草稿模式,步骤在后面的专篇。
  • CSV 导入不会按文件里的数写入 计算字段,导入过程中会重算(见 54 CSV 导入与更新记录)。
  • 被引用的字段改名之后,公式里的变量名要一起改,否则设计器会提示公式有语法错误,公式存不下来。
  • 用本平台数据写论文,致谢按登录页上的文字抄。

4. 常见问题

保存记录后计算字段是空的? 被引用的字段还没填,或变量名和字段不一致。方括号里是变量名,不是中文标签。

单选参与计算得到空白? 选项编码不是数字,或公式写了选项的中文。编码在字段编辑窗或编码手册里(见 29)。

导入之后计算值和 CSV 里写的不一样? 这是预期结果。导入忽略 CSV 中的计算列,按当前公式重算。


5. 建议记住的几条

  • 类型选 计算字段,变量名放在方括号里。
  • 数字和日期先设校验;文字结果用 @CALCTEXT。
  • 公式先在测试记录里看结果,再用于正式录入。

本篇为平台「REDCap使用指南」系列,按手册页体例编写。查看全部指南

58 本平台安全与账号怎么发
« 上一篇 2026 年 9 月 29 日