问题是怎样出现的
为新增考勤统计字段,复制了一份原本查询正常的 NC65 自由报表,并调整了语义模型。新报表仍能录入并显示姓名、部门条件,但查询返回的仍是组织范围的大量数据;原报表查询正常。
原因:输入值没有传到模型
对比 SPR 中的最终取数 SQL,发现新报表只保留组织条件,没有带入所填的姓名、部门条件。进一步比较导出的报表配置,确认明细扩展区的参数取值关联缺失。
查询面板能显示输入条件,只能说明界面记录了输入;模型收到相应参数后,才能生成实际筛选条件。
处理步骤
修改前,先导出新报表定义留作备份。
- 选中复制的新报表,进入报表设计,点击明细数据区。
- 打开数据 → 扩展区域参数设置。
- 将下列四项的取值方式设为报表参数,并在数据值中选择同名参数。
- 若缺少相应行,点击加入参数,从当前模型已有参数中加入后再关联。
- 点击确定 → 保存,关闭报表后重新打开查询。
| 参数名称 | 取值方式 | 数据值 |
|---|---|---|
| 姓名 | 报表参数 | 姓名 |
| 年月 | 报表参数 | 年月 |
| 组织 | 报表参数 | 组织 |
| 部门 | 报表参数 | 部门 |
怎样确认条件已生效
- 输入一个已确认不存在的姓名,应返回0 行。
- 分别用真实姓名、部门查询,检查结果是否符合条件。
- 如仍未按条件筛选,重新抓取 SPR,核对最终 SQL 是否带入相应条件。