我需要帮助才能在单个水平配置中显示我的8个结果。我的工单有一张带有检查清单的表格。检查清单是8个问题的通过或失败。每个CAT
都有自己的代码,内容为IF {F_CHECKLISTS.CHK_TEXT}='one of the TEST Name' THEN {@pass-fail}
我为8个测试组中的每一个设置了相同的代码
当我提取数据并按WO
对其进行分组时,每行重复8次,详细信息为通过或失败:
如果我压制细节并将其放入组尾,我只得到最后的结果:
答案 0 :(得分:0)
尽管此类报告可以像Cross-Tab / Pivot-Table更好地管理。据我所知,Crystal Reports(最高版本9,不能说更高版本)不支持非数字支点。因此,在Sql支持级别可以更好地处理这种情况。
尽管如此,对于固定级别的要求,例如您的案例中的8个问题可以使用。您需要创建三个公式字段f_Reset
,f_Concat
和f_Print
,并按以下方式设置其值:
f_Reset
:将默认结果初始化为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
:检查所有问题的结果
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
:准备最终显示结果
WhilePrintingRecords;
stringVar st_Final := stringVar Q1 + " " + stringVar Q2 + " " + stringVar Q3 + " " + stringVar Q4 + " " + stringVar Q5 + " " + stringVar Q6 + " " + stringVar Q7 + " " + stringVar Q8;
接下来,执行以下步骤:
WO
)在论坛中插入一个论坛。f_Reset
公式字段放在“组标题”f_Concat
公式字段Open
到Area Description
的所有其他字段,就像它们在详细信息部分中一样(只是一个没有8个结果字段的详细信息部分的副本 )f_Print
公式字段放在“组尾”部分,并将其拉伸到所有8个结果标题(单个 f_print
公式字段,以显示所有8个结果)Suppress
群组标题Suppress
详细信息部分基本思想是将所有结果连接到一个字符串,然后一次显示它。您可能需要调整f_Print
中的连续空格,即+ " "
,以便将值与8个结果标题对齐。