私はCrystalReportsの初心者です。マップされたデータベース列にYesとNULLの2つの値を持つパラメーターがあります。私は次のようなカウント付きのクロステーブルを作成しようとしています-
Name Yes NULL
ABC 5 2
XYZ 3 7
Nullの代わりに「いいえ」を表示するにはどうすればよいですか---名前はいいいえ
私はCrystalReportsの初心者です。マップされたデータベース列にYesとNULLの2つの値を持つパラメーターがあります。私は次のようなカウント付きのクロステーブルを作成しようとしています-
Name Yes NULL
ABC 5 2
XYZ 3 7
Nullの代わりに「いいえ」を表示するにはどうすればよいですか---名前はいいいえ
Bethが示唆しているように、この種のことはDB(つまりクエリ)側の方が簡単なことがよくあります。
本当にCrystalで実行したい場合は、次のような式を使用して、適切な名前の新しい数式を作成します。
If IsNull ({TABLE.FIELD}) Then "No" Else {TABLE.FIELD}
クロス集計を変更して、TABLE.FIELD値ではなく、数式でグループ化します。
可能であれば、db側のNullをNoに置き換えてください。
多くの場合、バックエンドでSQL Serverを使用している独自のプログラムに対してレポートを作成する場合など、データソースを制御できません。そのような場合は、マークが提案するとおりに実行する必要があります。
時々物事を簡単にすることができるさらなる習慣:Group1と呼ばれる式を作成します。その中に、グループ化するフィールド名を入力するだけです。次に、この状況に遭遇した場合、NULLを処理するために実際のフィールドの数式を交換する必要がある場合は、数式Group1の内容を{fieldname}から@formulanameに変更するだけです。
ここでの大きな利点は、かなりの作業を行ったレポートがある場合、つまり、グループフッターに多くの要約やその他の要素が追加されている場合、GroupByを{field}-> @formulaから変更すると、それらがすべて失われることです。 。ただし、@ Group1という数式でグループ化し、その内容を変更するだけで、その作業が失われることはありません。