2013-05-07 51 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