SSRS报表中如何按PO行项数量控制小计行可见性?
SSRS采购订单报表小计行按需显示问题及解决方案
问题描述
我制作了一份展示采购订单(PO)信息的SSRS报表,部分PO包含多个行项,部分仅含单个行项。需求是仅当PO存在多个行项时才显示小计行。
“Line Item Remaining”(行项金额减去行项已清算金额)是通过表达式计算的,我通过父组来正确计算各PO的小计,但尝试按条件设置小计行可见性时,因报表前5列属于该行导致报表空白。目前仅能隐藏单个行项PO的小计行中间4列的内容,但分组关联的前5列会留下空白行。临时方案是导出到Excel后过滤最后一列显示“HIDE”的行,希望找到SSRS内实现该需求的更简洁方法。
使用的SQL查询
SELECT DISTINCT ap_purch_orders.a_purch_order_no ,ap_purch_orders.a_vendor_number ,ap_vendor.a_vendor_name ,ap_purch_orders.po_prep_date ,ap_purch_orders.po_gen_comments ,ap_purch_orders.po_request_dept_cd ,ap_purch_orders.pg_dollar_amount ,ap_purch_orders.pg_liquidated_amt ,ap_purch_orders.pd_line_item_desc ,ap_purch_orders.a_org ,ap_purch_orders.a_object FROM ap_purch_orders INNER JOIN ap_vendor ON ap_purch_orders.a_vendor_number = ap_vendor.a_vendor_number WHERE ap_purch_orders.po_request_dept_cd = N'RP' AND ap_purch_orders.po_status_code NOT IN (N'0', N'1', N'2', N'4', N'5') GROUP BY ap_purch_orders.a_purch_order_no ,ap_purch_orders.a_vendor_number ,ap_vendor.a_vendor_name ,ap_purch_orders.po_prep_date ,ap_purch_orders.po_gen_comments ,ap_purch_orders.po_request_dept_cd ,ap_purch_orders.pg_dollar_amount ,ap_purch_orders.pg_liquidated_amt ,ap_purch_orders.pd_line_item_desc ,ap_purch_orders.a_org ,ap_purch_orders.a_object
相关截图说明
- 报表字段截图:展示报表中使用的所有字段列表
- 报表输出截图:显示当前报表的实际输出效果,包含单行PO对应的空白小计行
- 小计分组截图:展示报表中为计算小计设置的分组结构
解决方案
该问题已解决,核心操作如下:
- 解决方案截图1:为小计行配置可见性表达式,通过统计当前PO的行项数量,判断是否显示该行
- 解决方案截图2:调整分组关联列的隐藏规则,确保当PO只有单个行项时,小计行完全不显示,无空白残留
内容的提问来源于stack exchange,提问作者Caroline
相关产品推荐
相关产品推荐

