2013-05-07 30 views
1

好的....我会尽力解释这一点,因为我可以.... 我有一个SQL查询,拉回我需要的报告正确的数据。 这是它的样子使用一列的多个公式的水晶报告

sample componentname  enteredvalue 
C1234-1 Am-241 Activity  2.35E+001 
C1234-1 Am-241 2s TPU  3.26E-002 
C1234-1 Am-241 1s TPU  3.22E-002  
C1234-1 U-238 Activity  6.32E-001 
C1234-1 U-238 2s TPU  1.23E+002 
C1234-1 U-238 1s TPU  2.00E+001 

我需要的组件名,并与该组件名称相关的enteredvalue和无空白水平显示它的东西。 像这样

componentname activity 2s TPU  1s TPU  
Am-241   2.35E+001 3.26E-002 3.22E-002 
U-238   6.32E+002 1.23E+002 2.00E+001 

我试图接近这一多种不同的方式,我仍然无法弄清楚。我试过使用公式来恢复列,但我一直得到空白。

任何洞察将是非常有益的。

+0

你可以发布你的公式吗? – Ryan 2013-05-07 19:09:34

+0

这是一个公式。它只是为我声明的任何内容调用组件名称。如果{Command.SubstanceCode} ='NESHAP-AFC'则{Command_1.ComponentName} ='U-233/234 2s TPU'或{Command_1.ComponentName} ='U-238 2s TPU'或{Command_1.ComponentName} = 'Pu-238 2s TPU'或{Command_1.ComponentName} ='Pu-239/240 2s TPU'或{Command_1.ComponentName} ='Am-241 2s TPU'' 无论组件名称不精确。 – Braden 2013-05-07 19:49:00

回答

0

如果要在报告的同一行中使用它们,则需要分离组件名称的第一个和第二个部分,然后将它们存储在变量中。您还需要按组件名称的第一部分(如“U-238”)进行分组,您可以使用公式进行组合split({table.component_name}," ",2)[1]

现在您将拥有组页眉,详细信息和组页脚部分;每个人都需要自己的公式来跟踪要显示的值。

// Initialize the variables in the Group Header 
whileprintingrecords; 
stringvar activity_value := ""; 
stringvar TwoS_value := ""; 
stringvar OneS_value := ""; 

// Update the variables in the Details section 
whileprintingrecords; 
stringvar activity_value; 
stringvar TwoS_value; 
stringvar OneS_value; 

select split({table.component_name}," ",2)[2] 
case "Activity" : activity_value := {table.entered_value}; 
case "2s TPU" : TwoS_value := {table.entered_value}; 
case "1s TPU" : OneS_value := {table.entered_value}; 

// Display the variables in the Group Footer (one formula for each variable) 
whileprintingrecords; 
stringvar activity_value 

或者,您也可以使用两个公式将组件名称分解到交叉表中。因此,例如,可以使交叉表的行成为组件名的前半部分,然后列将成为后半部分。

+0

感谢Ryan的回应! 但是,当我尝试组公式时,它表示在stringvar 2s_value行中预计有一个变量名。 我一直在使用水晶报告大约2个月,现在还是比较新的。 – Braden 2013-05-08 14:21:12

+0

Woops,当你用数字开始变量名时,CR不喜欢。我会修复解决方案。 – Ryan 2013-05-08 15:06:05