どのように私はゼロの値を表示するには、BIRTを強制できますか?
質問
私は、BIRTのレポートの状況を持っています。私が作成したレポートは、空白ではなくゼロとしていくつかのフィールドを表示するに主張しています。フィールドが実際にその戻りサブ選択何行ではない場合の状況が生じる。
ですから、例えば、選択が含まれている場合:
0 as p3,
その後、0が大丈夫表示されます。しかし、もし、選択があります:
(select sum(other_field) from other_table where ...) as p3,
フィールドは空白が表示されます。
その行が値であることにサブ選択結果のために存在するようにデータを変更すると、その結果の値がゼロであっても、表示
私は何とかBIRTは、サブ選択ではなく、ゼロよりもNULL(空のセルとして、それはまた、ディスプレイ)としてゼロ行を返すの治療されていることを考えていますので。誰もが空のセルではなく、実際の0を表示するに強制するBIRTにどのように任意のアイデアを持っていますか?
誰もがDBMS固有の答えを投稿する必要がある場合、他のベンダーに基づいても、提案をいただければ幸いですけれどもます。私は、DB2 / zのV8エンジンを使用しています
解決
列または式がNULLを返す可能性がある場合値を強制的にCOALESCE関数を使用してみてください。
COALESCE((select sum(other_field) from other_table where ...), 0) as p3,
他のヒント
(あなたがあなたのことはできません変更することを保存procedueを実行している場合など)のようにエレガント時には必要はありませんが、
別の方法として、実行時に「0」の表示を強制するためにJavaScriptを使用することです時間ます。
を使用してデータについては、以下の式結合ます:
if (dataSetRow["your_data_set"] == null)
{
0
}
else
{
dataSetRow["your_data_set"]
}
データの種類に応じて、あなたがゼロ
に引用符を追加する必要があります"0"
それは整数として扱われ、引用符なしで、文字列を表すために、
所属していません StackOverflow