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

我需要获取组件名和与该组件名关联的输入值,并将其水平显示而没有空格。像这样的东西

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

我已经尝试过多种不同的方法,但我仍然无法弄清楚。我已经尝试使用公式来恢复列,但我不断得到空白。

任何见解都会非常有帮助。

4

1 回答 1

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

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

于 2013-05-08T14:08:01.283 回答