2011-02-25 9 views
1

私はCrystal Reports 10を使用しています。Crystal Reportに不足している日付を挿入する

私のデータベースには、各日付の生産値があります。日付の列とqtyの列があります。このレポートを実行すると、レポートの日付はデータベースの日付に対応しますが、レポートにはすべての日付が表示され、0の値がない場合は0になります。報告する?

日付は、詳細が表示されないグループフィールドです。数値は、グループヘッダーに配置された詳細の合計です(違いが生じた場合)。

enter image description here

enter image description here

答えて

1

あなたは2つの質問を持っています。 NULL値の0を表示するには

  1. 、あなたのオプションメニューに入り、また
    「をデフォルトにデータベースNULL値を変換」することができ、あなたはこのコードを使用して新しい式を作成し、if isnull({Table1.Amount}) then 0 else {Table1.Amount}を使用することができます。このオプションは、レポートの他のフィールドには影響しないので、このオプションをお勧めします。

  2. をすべての日付で表示するには、データソースに「ヘルパー/インデックス」テーブルを作成し、実際のデータを右に結合する必要があります。 Crystalは、レコードがない場合は、たとえば2010年1月7日のデータを表示できません。

+0

私はデータベース内の何も変更できません。私はこれをここで見つけました:http://www.tek-tips.com/viewthread.cfm?qid=1323926&page=392しかし、私が必要とするものに適応するための指示は少し複雑すぎました。それは私がデータベースから欠けている日付を追加するためにCrystalを使うことができるという指示を与えます。 – Wesley

+0

(あなたが見つけた他のスレッドについては話すことができません。うまくいくかもしれませんが)。あなたにとってラッキーです、クリスタルは複数の異なるデータベースからの入力を受け入れます。だからあなたの 'ヘルパー'テーブルをAccessデータベースやExcelファイルで作成してください。このヘルパー・テーブルは、レポートの「インデックス」として機能します。つまり、他のすべてのレポートに右結合します。これらの日付が表示されたら、レポート選択式エディタを使用して、対象の日付、つまり2010年のすべての日付のみを制限します。 – PowerUser

+0

ヘルパーテーブルのルートを使用しようとしました。私はスプレッドシートを作成してレポートに追加し、フィールドをリンクしました。ただし、右外部結合はグレー表示されます。私は私の現在のセットアップを示す私の質問に画像を追加しました。 JOINSについて読んだら、左の結合も機能するはずですが、そうではありません。レポートに表示される唯一の日付は、元のデータベースの日付です。スプレッドシートからの 'extras'は表示されません。 – Wesley

関連する問題