我需要在单个水平配置中显示8个结果的帮助。我有一个工作表,其中有一个带有检查清单的表。检查清单是8个问题的及格或不及格。每个测试组CAT
都有自己的代码,IF {F_CHECKLISTS.CHK_TEXT}='one of the TEST Name' THEN {@pass-fail}
我为8个测试组的每个代码设置了相同的代码
当我提取数据并将其分组时WO
,每行重复8次,并通过或未通过详细信息:
如果我取消显示详细信息并将其放在组页脚中,则只会得到最后的结果:
Although such reports are better manageable as Cross-Tab / Pivot-Table. As far as I know Crystal Reports (upto version 9, can't say about later versions) does not support non-numeric pivots. So such cases can be handled better at Sql pivot level.
Even though, for a fixed level requirements such as 8 questions in your case following approach can be used. You need to create three formula fields f_Reset
, f_Concat
and f_Print
and set their values as follows:
f_Reset
: Initialize default result as fail
WhilePrintingRecords;
stringVar Q1 := "fail";
stringVar Q2 := "fail";
stringVar Q3 := "fail";
stringVar Q4 := "fail";
stringVar Q5 := "fail";
stringVar Q6 := "fail";
stringVar Q7 := "fail";
stringVar Q8 := "fail";
stringVar st_Final := "";
f_Concat
: Check results for all questions
WhilePrintingRecords;
if {F_CHECKLISTS.CHK_TEXT} = 'Test 1 Name' then stringVar Q1 := {@pass-fail};
if {F_CHECKLISTS.CHK_TEXT} = 'Test 2 Name' then stringVar Q2 := {@pass-fail};
if {F_CHECKLISTS.CHK_TEXT} = 'Test 3 Name' then stringVar Q3 := {@pass-fail};
if {F_CHECKLISTS.CHK_TEXT} = 'Test 4 Name' then stringVar Q4 := {@pass-fail};
if {F_CHECKLISTS.CHK_TEXT} = 'Test 5 Name' then stringVar Q5 := {@pass-fail};
if {F_CHECKLISTS.CHK_TEXT} = 'Test 6 Name' then stringVar Q6 := {@pass-fail};
if {F_CHECKLISTS.CHK_TEXT} = 'Test 7 Name' then stringVar Q7 := {@pass-fail};
if {F_CHECKLISTS.CHK_TEXT} = 'Test 8 Name' then stringVar Q8 := {@pass-fail};
f_Print
: Prepare final display result
WhilePrintingRecords;
stringVar st_Final := stringVar Q1 + " " + stringVar Q2 + " " + stringVar Q3 + " " + stringVar Q4 + " " + stringVar Q5 + " " + stringVar Q6 + " " + stringVar Q7 + " " + stringVar Q8;
Next, perform following steps:
WO
as in your second screenshot).f_Reset
formula field in the Group Headerf_Concat
formula field in the Details sectionOpen
到Area Description
放置在报表页脚中并设置其格式,就像它们在“详细信息”部分中一样(只是“详细信息”部分的副本,没有8个结果字段)f_Print
公式字段放在“组尾”部分中,并沿所有8个结果标题进行拉伸(所有8个结果均使用一个 f_print
公式字段)Suppress
组头Suppress
详细信息部分基本思想是将所有结果连接到字符串,然后一次性显示。您可能需要调整级联的空间f_Print
即+ " "
对齐低于8个结果标题的值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句