问题是怎样出现的

为新增考勤统计字段,复制了一份原本查询正常的 NC65 自由报表,并调整了语义模型。新报表仍能录入并显示姓名、部门条件,但查询返回的仍是组织范围的大量数据;原报表查询正常。

原因:输入值没有传到模型

对比 SPR 中的最终取数 SQL,发现新报表只保留组织条件,没有带入所填的姓名、部门条件。进一步比较导出的报表配置,确认明细扩展区的参数取值关联缺失。

查询面板能显示输入条件,只能说明界面记录了输入;模型收到相应参数后,才能生成实际筛选条件。

处理步骤

修改前,先导出新报表定义留作备份。

  1. 选中复制的新报表,进入报表设计,点击明细数据区。
  2. 打开数据 → 扩展区域参数设置。
  3. 将下列四项的取值方式设为报表参数,并在数据值中选择同名参数。
  4. 若缺少相应行,点击加入参数,从当前模型已有参数中加入后再关联。
  5. 点击确定 → 保存,关闭报表后重新打开查询。
参数名称取值方式数据值
姓名报表参数姓名
年月报表参数年月
组织报表参数组织
部门报表参数部门
扩展区域参数设置示意:姓名、年月、组织、部门的取值方式均为报表参数,数据值选择同名参数
操作示意图,点击可查看大图。

怎样确认条件已生效

  • 输入一个已确认不存在的姓名,应返回0 行。
  • 分别用真实姓名、部门查询,检查结果是否符合条件。
  • 如仍未按条件筛选,重新抓取 SPR,核对最终 SQL 是否带入相应条件。