1

解決策を見つけることができないように見えるちょっとしたパズル。私はCrystal Reports 2011(v10でも)でパラメーターをいじっていましたが、パラメーターを介してオペレーターをレポートに渡すことができるかどうか疑問に思いました。

例えば

それぞれのグループの口座番号の数を示すレポートを作成しました。

グループ名.....カウント

グループA.................5

グループB........10

グループC........20

カウントに関連する「Val」というパラメーターと、さまざまな演算子 (>、<、= など) を含む「Operator」というパラメーターがあります。

実行時に、ユーザーが演算子と値を選択して結果を絞り込みたいのですが、次のような選択基準を作成できません。

DistinctCount ({customers.account} {customers.type){?operator}{?val}

したがって、理論的には、ユーザーは (パラメーターを介して) 次のように入力できます。

DistinctCount ({customers.account} >= 10

これを達成する方法を知っている人はいますか? また、私が提供していない必要な情報があれば、私に声をかけてください.

4

1 に答える 1

1

私の知る限り、次のような長い選択レコード式を使用してのみこれを行うことができます。

Select Case {@Operator}

Case "=" :
    (If (DistinctCount ({customers.account} = 10)) then true else false)
Case ">" :
    (If (DistinctCount ({customers.account} > 10)) then true else false)
Case "<" : 
    (If (DistinctCount ({customers.account} < 10)) then true else false)
Case ">=" :
    (If (DistinctCount ({customers.account} >= 10)) then true else false)
Case "<=" :
    (If (DistinctCount ({customers.account} <= 10)) then true else false)
Default : false
于 2013-05-23T12:30:25.037 に答える