2010-11-02 77 views
2

使用VS 2008 Crystal Reports,我想對一組計算出的組更改計算出一個公式。當我點擊添加運行總計時,此公式不會顯示在「可用表和字段」列表中。Crystal Reports中的條件運行總計

這是邏輯:

在更改組組

if CalculatedValue > 0 then 
    ReportRunningTotal1 += CalculatedValue 
else 
    ReportRunningTotal2 += CalculatedValue 

的我可以指定一個運行總的情況?如果不是,我還能怎麼做?

更多信息:我正在做一個運行總數爲GroupRunningTotal的db字段BillableHours的值。在組更改時,我將GroupRunningTotal與該組MaxHours的db字段進行比較,並在組級別上顯示MaxHours - GroupRunningTotal的結果。

今天適當 - 想像它像選舉團 - 贏得選舉的人並不取決於總票數,而是取決於選舉團的票數。

+0

這並不完全回答你的問題(我不太明白你的),但是是你可以指定一個條件你的跑步總數。在** Edit Running Total Field **菜單中,使用** Evaluate **部分進行遊戲。 – PowerUser 2010-11-02 12:52:48

+0

我意識到我錯誤地問了這個問題。我想對一個根據組更改計算的公式進行總計。當我點擊添加運行總計時,此公式不會顯示在「可用表和字段」列表中。 – 2010-11-02 13:41:00

+0

「我正在做一個名爲GroupRunningTotal的運行總​​計,其值爲db字段BillableHours。在組更改時,我將GroupRunningTotal與該組MaxHours的db字段進行比較,並在組級別顯示MAxHours - GroupRunningTotal的結果。 「你的意思是你**想要**做到這一點,但不能,或者你**正在做這件事,並想做其他事情?如果是後者,你究竟想要做什麼? – 2010-11-03 10:56:43

回答

1

您很可能無法使用一個RT字段作爲其他RT字段的條件。您可以使用公式,放在組頁腳上並評估'whileprintingrecords()';在這些公式中,您可以將一些變量賦值/彙總到報告末尾並顯示這些變量。關於未來像(通用唯一的想法,你需要初始化和顯示程序以及):

numbervar rtcurrent := sum({somefield}, {groupfield}); 
numbervar rtplus; 
numbervar rtminus; 
if (rtcurrent > 0) 
then rtplus := rtplus + rtcurrent 
else rtminus := rtminus + rtcurrent; 
3

我解釋你的問題意味着你要在一個運行總數(RT_Neg)和所有其他的正值(RT_Pos)加起來所有的負值。這個怎麼樣:

  1. 充分利用RT_Neg運行總和。在字段中彙總,計算您的{Tbl1}。{金額}。在評估下,輸入「{Tbl1}。{Amount} < 0」作爲您的自定義公式。永不重置。

  2. 使RT_Pos總計運行。在字段中彙總,計算您的{Tbl1}。{金額}。在評估下,輸入「{Tbl1}。{金額}> 0」作爲您的自定義公式。永不重置。

  3. 插入在組頁腳都運行總計(如果你把他們的頭,它可能無法正常總和)

或者,您可以:

  1. 創建自定義公式「如果{Tbl1}。{Amount} < 0 then {Tbl1}。{Amount} else 0」並基於此計算總跑步總數。

我認爲這2個選項中的一個可以幫助您達到目標。

相關問題