2012-04-27 60 views
0

這是我的。我有15個獨特的公式,分別命名爲Week1,Week2,... Week15。我希望能夠獲取參數名稱MYCount,並使用它來遍歷記錄並對它們進行求和。因此,如果MyCount等於3,則循環將總計Week1 + Week2 + Week3。我知道如何創建一個循環,但我無法弄清楚如何動態構建公式名稱。這裏是我到目前爲止:(我正在使用Crystal Xi)Crystal報告動態公式名稱

Whileprintingrecords; 
local NumberVar i := {?MyCount} 
For i := 1 To (MyCount-1) Do (
    i = {@Week & "i"} + i 
); 
x 
+1

你可以發佈其中一個星期公式的邏輯嗎? – craig 2012-04-27 13:05:04

回答

1

我想你可能會過度複雜化。爲什麼不只是做:

Local numbervar x := 0; 
If param > 0 then 
X := x + week1; 
If param > 1 then 
X := x + week; 
And so on... 
X; 
+0

感謝您的快速回復。公式會變得非常大。我最終將有大約100周的時間。我希望避免把它們全部列出來,因爲我會用幾種不同的公式來做這些總和。 – Mike 2012-04-27 12:55:23

+1

謝謝你,我終於明白你的意思了。看不到森林之間的森林...謝謝 – Mike 2012-05-02 14:45:11

0

我不完全是你想要做的,但你可能想要考慮另一種方法。

創建一個公式,將部分基於日期字段的星期數的字段:

//{@amount} 
// adjust firstDayOfWeek and firstDayOfYear parameters to match your organization's 
// definition of a week 
If DatePart("ww", {table.dateField})<={?Week} Then 
    {table.amount} 

上插入公式域彙總字段。

0

如果您使用的是@Weekn公式字段,以便您可以在整個頁面中按日期進行彙總,那麼您是否考慮過使用Crystal的Crosstab功能呢?

+0

聯合國遺憾我不能那樣做。我只需要總結特定的幾周。我真的希望我可以用一個變數來建立一個公式名稱。 – Mike 2012-04-30 14:04:08

+0

@Mike:您可以通過選擇僅相關周(如果您根本不需要其他周)或設置公式來保存相關周的價值(如果需要顯示但不是總和)其他幾周)。 – 2012-05-01 07:08:18