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

REDCap中用Calculated Text批量提取勾选True的字段标签

REDCap CalcText 高效汇总True题项标签方案

可以通过PHP循环逻辑实现,无需编写20个独立的if-then语句,核心思路是遍历所有目标字段,收集值为True的题项标签,最后拼接输出。

核心代码(直接复制到CalcText字段)

<?php
// 初始化数组存储选中的题项标签
$selected_items = [];

// 循环遍历question1到question20
for ($num = 1; $num <= 20; $num++) {
    // 动态生成字段名和标签变量名
    $field_name = "question{$num}";
    $item_label = "{{question{$num}_label}}";
    
    // 判断当前题项是否为True(注意:此处1对应True,若你的字段存储值为'TRUE',则改为$$field_name == 'TRUE')
    if ($$field_name == 1) {
        $selected_items[] = $item_label;
    }
}

// 拼接输出,用逗号分隔;若未选中任何题项,输出提示文本
echo empty($selected_items) ? "未选中任何题项" : implode(', ', $selected_items);
?>

关键说明

  • 存储值适配:如果你的True/False字段在REDCap中的存储值是字符串'TRUE'/'FALSE',请将判断条件中的$$field_name == 1改为$$field_name == 'TRUE'
  • 分隔符自定义:可以把implode(', ', $selected_items)中的, 换成<br>实现换行分隔,或者其他你需要的分隔符
  • 变量变量用法:$$field_name是PHP的变量变量语法,用于动态获取当前循环对应的字段值,避免手动逐个写{{question1}}、{{question2}}
  • 标签获取:{{question{$num}_label}}是REDCap的内置语法,用于获取对应字段的显示标签(即问卷上的题项文本)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 09:42:09