2013-01-04 56 views
1

我在Crystal Report中查找Group1total的值。我的背景更是圍繞SQL,我想確定身後以下的邏輯:Crystal Reports中的whileprinting記錄如何轉換爲SQL

//{@Group1total} 
whileprintingrecords; 
numbervar group1cost 

//{@Group1cost} 
whileprintingrecords; 
numbervar group1cost := group1cost + {@group2total} 

//{@Group2total} 
whileprintingrecords; 
numbervar group2cost 

//{@Group2cost} 
whileprintingrecords; 
numbervar group2cost := group2cost + {@group3total} 

//{@Group3total} 
whileprintingrecords; 
numbervar group3cost 

//{@Group3cost} 
whileprintingrecords; 
numbervar group3cost := group3cost + {@group4total} 

//{@Group4total} 
whileprintingrecords; 
numbervar group4cost 

//{@Group4cost} 
whileprintingrecords; 
numbervar group4cost := group4cost + {XVR_projectcostbudget.cost_budget} 

我注意到,僅僅做XVR_projectcostbudget.cost_budget的SQL和不產生相同的結果作爲水晶報告。有任何想法嗎?

謝謝!

+1

那8個單獨的公式?報告的哪一部分是?僅僅解釋你想要計算的東西可能會更容易一些......事情告訴我,它比需要的複雜得多。 – Ryan

+0

我糾正了你的語法來幫助討論(我希望)。 – craig

回答

4

WhilePrintingRecords不會被轉換爲SQL。它隻影響給定公式的計算 - 基本上將其分配給報告的「通行證」之一。見Crystal Reports 9+ - Evaluation times and the multi-pass reporting model

在你的情況,我建議:

  • 插入您的羣體頁腳的所有四個對一個公式或數據庫字段摘要;這將創建一個可以在一個公式字段使用的字段(您可以手動創建它們,但是這是比較容易)
  • 創建吻合組彙總根據需要
0

像賈斯汀我能感覺到一個公式字段他對水晶報告感到沮喪,並將其放在這裏以幫助其他人。

正試圖在不同的組級別和報表的結尾用常規總和(decode(sql結構。在crystal試圖用運行total field和評估公式來模擬這個),評估欄是一個代碼(所有值都是數字,但表格列被聲明爲字符串類型:)如果字段類型是數字,則評估公式只提供「總和」功能,因此創建一個公式字段以將該列作爲數字生成。在運行總量與IFF(,1,0),但不會產生結果!(即空白)

切換到Whileprintingrecords結構和工作。 這是如何工作的簡潔把下面的文章中。 http://crystalreportsblog.com/crystal-reports-running-totals/#comments

顯然把這個calc放到主要的sql查詢中會很直接,但是使用gui錶鏈接設置的舊報告。

+0

Doh!不能在分頁符中工作。 –

+0

回到原來的想法,但使用基本的語法和作爲公式計算爲一個數字和總和在那做工作。 –

相關問題