2010-03-31 70 views
2

我有一個報告,其中的字段來自SQL服務器提取的數據。我有一個我已經添加到報告中的整個領域...但是我有一個有趣的難題 - 我希望有人有一個我可以使用的公式。引用Crystal Report中最後一行的數據

我的三個列不需要求和......但是我的項目需求告訴我只是從報表的最後一行拉出最後一個數字,並將其放在總行中。爲了更好地闡明:

1999 0.1% 0.2% 0.3% 
2001 -2% 0.3% 3.4% 

基本上,在整個領域,我會拉從2001年的價值,因爲它是最後一個報告行。在我的總排中,我想要顯示-2%,0.3%和3.4%(因爲這些是最後一行的值)。基本上,我只想拉取最後一個報告行的數據(不是總數)。

有人有一個公式,我可以使用這個?

回答

3

嗯,我有兩個公式可以使用......我認爲唯一的方法是用一個變量捕獲細節部分中的最終值,然後將其顯示在組頁腳中。因此,詳細說明如下:

shared CurrencyVar lastValue; 
if (OnLastRecord) then 
    lastValue := {my_table.field_name} 

添加到您的詳細信息部分並將其禁用(因此不顯示)。再加入另一個公式是這樣的:

shared CurrencyVar lastValue; 
lastValue; 

添加到您的組部分,在那裏總通常會去。

您需要另外設置每個字段的公式,以便您以這種方式處理。請注意,如果使用基本語法,則可以處理第一個公式中的所有字段(因此,您可以在'if'下包含多個語句)。

+0

我試着在細節部分添加我的領域的公式...但是有兩個問題。 1)它一直要求我聲明一個var類型...在這一點上,我嘗試了numberVar。這然後提示Crystal告訴我,它不認爲通過我的變量聲明的文本的其餘部分是公式的一部分 2)user_credit_report_view.amount < - 我假設這是字段名稱? – yeahumok 2010-03-31 17:46:26

+0

1 - 嘗試將公式編輯器設置爲Crystal語法,看看它是否有幫助。 2 - 是的,我用我現有的一份報告來檢查我的語法,這是我的字段名稱 - 我將編輯我的答案以明確說明。另外,我使用了CurrencyVar - 如果這對你更好,你可以使用NumberVar。 – Ray 2010-03-31 17:51:01

+0

我的公式編輯器是在Crystal語法中的......但是當我試圖放入一個變量類型時,我總是收到錯誤。我試過了StringVar,NumberVar ......編輯還是希望在聲明結尾處有一些東西。 – yeahumok 2010-03-31 17:56:43

4

如果我正確地讀了這個,我通常會把這些字段本身放在頁腳中,而沒有任何公式。報告應顯示組中最後一條記錄的值。

0

我想分享我的例子。

我應該保留最後修改值的細節,並在組中表示。 在細節我:

shared NumberVar X1; 
if {Q.SklID}={@InSkl8} AND ({Q.Poredak}=1 OR {Q.Poredak}=2) then X8:={Q.MCena}; 

我有以下公式:

shared NumberVar X8; 
X8; 

這樣一來,我逃的情況有NULL式基團,因爲我沒有其他條款詳細公式