数据修改工具

上传含 datamap + rawdata 的 xlsx,生成比例表,按目标比例修改数据

拖拽 xlsx 文件到此处,或点击上传
3D&loop模式: 保持原格式 不拆分3D&loop 拆分3D&loop {{ crosstabModeHint }}
全选 全不选 添加
{{ browsingQid.header }} 的选项 全选 全不选
{{ opt.label }}
已选一级表头
{{ getQType(sel.qid) }} {{ sel.qid }} {{ truncate(getQLabel(sel.qid), 16) }}
{{ getOptDisplay(sel.qid, c) }} +{{ sel.codes.length - 15 }}
全选 全不选 添加
{{ browsingQid.header2 }} 的选项 全选 全不选
{{ opt.label }}
已选二级表头
{{ getQType(sel.qid) }} {{ sel.qid }} {{ truncate(getQLabel(sel.qid), 16) }}
{{ getOptDisplay(sel.qid, c) }} +{{ sel.codes.length - 15 }}
全选 全不选 添加
{{ browsingQid.side }} 的选项 全选 全不选
{{ opt.label }}
已选表侧
{{ getQType(sel.qid) }} {{ sel.qid }} {{ truncate(getQLabel(sel.qid), 16) }}
{{ getOptDisplay(sel.qid, c) }} +{{ sel.codes.length - 15 }}
全选 全不选 添加
{{ browsingQid.simple }} 的选项 全选 全不选
{{ opt.label }}
已选题目
{{ getQType(sel.qid) }} {{ sel.qid }}
{{ getOptDisplay(sel.qid, c) }} +{{ sel.codes.length - 15 }}
分母 有效作答 总样本(N)
组合题自动识别基于 Datamap 中的 3D&looplooptext 上传 XML 补充识别
{{ g.type }} {{ g.id }} {{ truncate(g.label, 20) }} 已添加 需选表头
全部添加 全部清空
已选题目
{{ brandGroups[sel.groupIdx].type }} {{ brandGroups[sel.groupIdx].id }} 自动 手动
{{ hi.label }} +{{ sel.headerItems.length - 10 }}
{{ brandDialogGroupLabel }} 选择表头
全选 全不选
{{ opt.label }}
全选 全不选 添加
{{ browsingQid.ccHeader }} 的选项 全选 全不选
{{ opt.label }}
已选一级表头
{{ getQType(sel.qid) }} {{ sel.qid }} {{ truncate(getQLabel(sel.qid), 16) }}
{{ getOptDisplay(sel.qid, c) }} +{{ sel.codes.length - 15 }}
全选 全不选 添加
{{ browsingQid.ccHeader2 }} 的选项 全选 全不选
{{ opt.label }}
已选二级表头
{{ getQType(sel.qid) }} {{ sel.qid }} {{ truncate(getQLabel(sel.qid), 16) }}
{{ getOptDisplay(sel.qid, c) }} +{{ sel.codes.length - 15 }}
{{ g.type }} {{ g.id }} {{ truncate(g.label, 20) }}
已选组合交叉题 全部清空
{{ brandGroups[item.groupIdx] ? brandGroups[item.groupIdx].id : '?' }} 拆分: {{ item.splitQid }}
{{ ci.label }} +{{ item.splitItems.length - 8 }}
{{ comboCrossDialogGroupLabel }} 选择拆分表头(必选,按此拆分为多张表)
全选 全不选
{{ opt.label }}
全选 全不选 添加
计算格式: top1 top2 bottom1 bottom2 nps
{{ browsingQid.calcFmt }} 的选项 全选 全不选
{{ opt.label }}
已选题目
{{ getQType(sel.qid) }} {{ sel.qid }} {{ truncate(getQLabel(sel.qid), 16) }}
{{ getOptDisplay(sel.qid, c) }} +{{ sel.codes.length - 10 }}
{{ f }}
1. 上传目标比例
拖拽目标比例 Excel 到此处,或点击上传
{{ targetFileInfo }}
2. 修改计划预览
3. 执行修改
{{ executing ? '修改中...' : '执行修改' }}
{{ executeProgressText }}
修改完成,共 {{ modifyResult.totalPlanned }} 项,全部达标 (含 Hidden Set code:已调整上游条件列 {{ modifyResult.upstreamEditCount }} 处) 修改完成,共 {{ modifyResult.totalPlanned }} 项:成功 {{ modifyResult.totalSuccess }} 项,未达标 {{ modifyResult.totalFailed }} 项 (含 Hidden Set code:已调整上游条件列 {{ modifyResult.upstreamEditCount }} 处,见「修改记录」sheet)
{{ f.questionId }} code={{ f.answerCode }} [{{ f.subsetCondExpr }}]
{{ f.detail }}
3.5 修改后自动查错
执行查错
{{ autoCheckProgressText }}
查错完成:未发现逻辑错误,数据全部通过检查。 查错完成:发现 {{ autoCheckErrors.length }} 条逻辑错误,请检查后再下载。 查看错误详情
4. 下载结果
下载修改后数据 下载指引&比例表
1. 执行查错
{{ checkRunning ? '检查中...' : '开始查错' }}
{{ checkProgressText }}
2. 查错结果
未发现任何逻辑错误,数据全部通过检查。
共发现 {{ checkErrors.length }} 条错误,涉及 {{ checkErrorQidCount }} 个题目
{{ tp }}: {{ cnt }}
显示 {{ checkFilteredErrors.length }} / {{ checkErrors.length }}
{{ e.errorType }} {{ e.respid }} {{ e.questionId }} {{ e.description }}
...还有 {{ checkFilteredErrors.length - 1000 }} 条
{{ checkReportDownloading ? '生成中...' : '下载查错报告 (.xlsx)' }}
3. 一键修复
{{ fixRunning ? '修复中...' : '一键修复所有错误' }}
{{ fixProgressText }}
无需修复,数据已一致。 修复完成,共 {{ fixLog.length }} 处变更。建议重新查错确认。
4. 下载 / 重新查错
重新查错 下载修复后数据