我有一个组1和组2的报告 . 出于格式化目的,组2 Headers 和详细信息被禁止,所有信息都显示在组2页脚中 . 如果满足某个条件,我已设置报告以抑制组2页脚,这意味着有时组1 Headers 下的整个部分是空白的,我想要禁止它 .
以下是它的设置方式
组1 - 员工组2 - 客户端(已抑制)详细信息(已抑制)客户端名称field1字段2字段3字段4
对于字段1-4,可以返回“Draft”,“Final”和null . 我只是在寻找“草稿”和空值 .
所以我如何设置组2页脚只是返回客户名称和一个总结所有四个字段的值的公式{@draft}
if {#divDraft} + {#convoDraft} + {#yearDraft} + {#rovDraft} >= 1 then "Draft" else if {#divFinal} + {#convoFinal} + {#yearFinal} + {#rovFinal} >= 1 then "Final" else " "
然后我根据{@draft}返回“最终”来压制页脚
如果该组中的每个客户端都将所有四个字段返回为null或至少一个作为草稿返回,则可以取消组1标头吗?
我尝试运行子报表,然后将它和共享变量放在组1 Headers 中,但这不能正常工作
WhilePrintingRecords; Shared NumberVar totalSuppress; Global NumberVar suppression; suppression := Shared NumberVar totalSuppress;
共享报告中的{@totalSuppress}公式添加了至少返回一个“草稿”的时间,其中所有四个字段均为空 . 我将其放在子报表的页脚中,然后在主报表组 Headers 中放置{@suppression} .
我得到的是一个模式,其中第一组 Headers 返回0.00,其中有4个结果,组页脚为4.00 . 然后下一组在组头中有4.00,其中有1个结果,组页脚有1.00 . 下一个在组头中有1.00,依此类推 .
我试着用一个公式来重置每个组头的变量 . 所以我写了
Global NumberVar suppression; suppression := 0
但所有这一切都是在组头中返回0.00 .
任何其他想法都会受到欢迎 .
RE:试过新配方
if {sales_div.draft_pend_approv_Value} = "Draft" or {sales_div.draft_pend_approv_Value} = "Pending Approval"
or {convoSales_200.pending_approval_Value} = "Draft" or {rov_client.pend_draft_Value} = "Draft"
or {yearly_sales.draft_pend_Value} = "Draft") then 1
else if isnull({sales_div.draft_pend_approv_Value}) and
isnull({convoSales_200.pending_approval_Value}) and isnull({rov_client.pend_draft_Value})
and isnull({yearly_sales.draft_pend_Value})
then 1
else 0
1 回答
如果我理解正确,那么您正在尝试使用“运行总计字段”的结果来抑制 Headers - 这将无效,因为运行总计仅在页脚中计算 .
您可以尝试不同的方法 . 创建一个将进入“详细信息”部分的公式字段 . 它应该只检查该行是否是您想要显示的那种,如:
然后在Group Header#1中,在Section Expert中,在Suppress公式中放入
其中{@check}是该公式字段,是创建组1的字段