2012-04-27 11 views
0

ここには私のものがあります。 Week1、Week2、... Week15という15のユニークな式があります。私は、パラメータ名、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

答えて

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

+1

ありがとう、私は最終的にあなたが意味するものを得る。木々の間の森を見ることができなかった...ありがとう – Mike

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

残念ながら私はそれを行うことはできません。私は特定の週だけを合計する必要があります。私は本当にvaribleで数式名を作ることができると期待していました。 – Mike

+0

@Mike:関連する週のみを選択するか(それ以外の週を必要としない場合)、または関連する週の値を保持する式を設定することで達成できます(表示する必要があるが合計他の週)。 –

関連する問題