2012-02-09 14 views
0

4つの別個のサブレポートが埋め込まれたレポートがあります。 メインレポートでは、グループ別にフィルタリングするパラメータがあり、そのパラメータに[すべて]を選択しないとグループ別にフィルタするように設定しています。すべてのグループが表示されます。Crystal Reportsサブレポートは、パラメータに基づいて繰り返されます。

If {?Main Group Name} = "ALL" then {Incident.Group Name} like "*" 
else {Incident.Group Name} = {?Main Group Name} 

このフィルタ設定は個々のサブレポートに正常に動作し、私はそれがメイングループの一部として、「すべて」を選択実行した場合しかし、それは無限にループにシートを引き起こし、データを適切に表示されません。

データはすべてグループヘッダー1とグループフッター1にありますので、すべてのグループで同じページ(以下同じ)を繰り返すのが理想的です。
Correct view for 1 group

これをすべて実行すると、異常に長い時間実行され、手動で停止する必要があります。手動で停止した後、私は以下を取得します。それは、それがお互いの上にすべてのグループを描画しようとしているように見えます。

enter image description here enter image description here

誰もがこれを引き起こす可能性がどのような手掛かりがありますか?

+0

サブレポートへのリンクでは、グループ値またはメインレポートパラメータ値を渡していますか? –

+0

はい、メインのグループ値はすべての個々のサブレポートに渡されています。それは単一のグループのためにそれを実行するとき、私がmultipl.eを選択したときだけうまく表示されます。 – DanB

+0

メインレポートのパラメータ値を間違いなく各サブレポートに渡していますか? –

答えて

0

サブレポートはメインレポート(グループヘッダー)にありますか。メインレポートの記録の詳細をどうしているのですか(私は推測しています)。サブセレクションからレコード選択式はどのように見えるのですか?サブレポートにはいくつのテーブルがありますか?マルチテーブルの場合は、あなたの結合は正しいですか?

サブレポートに特定のレコード選択があり、メインレポートから追加されたリンクがある場合、サブレポートの選択を変更することでCrystal Reportsが役立ちます。開発者が意図した。トゥルーストーリー(17秒間のレポートが更新され、スケジュールされた実行を完了したことがないと気づく前に20時間実行された)サブレポートに正しい関係が設定されていないため、(heh、inter-text)と発音し、実際にカートゥーン製品が形成されている可能性があります。

あなたの質問に表示されているコードはどこにありますか?レコードセレクションで? @Formulaでは?サブレポートにどのようなリンクを使用していますか?サブレポートにリンクする必要があるのは、{Incident.Group Name}です。メインレポートグループの変更内容です。

サブレポートを分割して個別に実行する場合は、{?Main Group Name}を手動で「ALL」に設定してグループ名をサンプリングすると、結果はどうなりますか?個々のサブレポートが引き続き実行されている場合は、少なくともレコード数(ステータスバー)を見ることができます。手動でレポートを強制終了すると、パフォーマンス情報とサブレポートレポートの照会が表示されます。

最後に、上位10(または2など)を使用してメインを「すべて」として実行し、サブレポートのパフォーマンスを監視すると、手がかりが生じる可能性があります。選択ホーゼーション副生成物がある場合、これは少なくとも影響を少し制限する。あなたはまだサブレポートに "*"を渡していますが、 "N"だけ繰り返すことになります。

ため息、そして最後の1:

If {?Main Group Name} = "ALL" then TRUE 
else {Incident.Group Name} = {?Main Group Name} 

そう長くなり申し訳ありません...私は十分に持っていなかった:あなたは本当に「すべて」したい場合、あなたはより良いあなたがのようなものを使用した場合に提供される可能性がありますそれを短縮する時間。

OK、本当に本当に最後の1つ:私はあなたの投稿を誤解していたり​​、あまりにも多くの異質なテーマを想定したり、ただ単に私の帽子から話しています。食事を逃し、いくつかの中断を取り、コーヒーを倍にしました。私はそれのためのスマイリーがどこかにあると確信しています。

+0

サブレポートはすべてグループヘッダー1内にあり、各サブレポートはグループヘッダー1のグラフになります。 – DanB

+0

サブレポートはすべてグループヘッダー1内にあり、各サブレポートはグループヘッダー1.リストされたコードは、選択エキスパートにあります。私はあなたのコードに変更しようとしましたが、同じ結果を受け取りました。 – DanB

+0

申し訳ありません - コメントを再入力する必要がありました:少し混乱しました。メイン(厄介な列名の選択)では "Group"でグループ化していますか? "ALL"を選択すると、メインレポートには何が表示されますか?それはメインのロールアップ(要約)であると考えられていますか? *私の考え*では、あなたのrptグループが(メインの)個々のレコードと、すべてのレコードで実行中のサブグループを見ています。グラフに何らかの列のオーバーレイを追加して、レポートが「見ている」ことを確認できますか? – Marc

0

[自身のエントリの正当化するのに十分な別個のものであるとして、Error追加答えを挿入する。]

私はグループヘッダー/足チャートを理解すると思います。
#グループを制限するためにメインをトップ10として実行しましたか?
(グラフ)レコードのサイズはどれくらいですか?

ANDは、非同期クエリ用に設定されたレポートですか?

サブレポートでは何が起こっていますか: 複雑なクエリですか?
簡易クエリですか?
すべての詳細を抑制し、チャートを表示するだけですか?
別のテーブル/データベースに移動しますか?
テーブルが結合しますか?

メインの「トップ10」グループの実行は、それが終了するまでメインと(少なくとも少数のグループのための)各チャートサブのためにチェックし、待つ:

Report/Performance Information: 
    Total Number of Records -- (Main should be "Top 10") 
    Performance Timing: 
     Run the Query, 
     Read Database Records, 
     Time to Format All Charts 
      or 
     Time to Format 1st Page. 

あなたは数百万を持っている場合レコードは、「トップ」であっても、トップを読み込んで計算するのに時間がかかることがあります。チャートを呼び出している場合でも、チャートごとに1つのグループのためであり、サブレポートはリンクされたクエリを適用しなければならず、数百万のレコードを解析し、追加計算を実行し、チャートを作成します)など、それはちょうど長い時間実行することができます。

"All" Top "n"は、バックグラウンドで多くの時間が費やされ、レポート全体が実行され、追加のTicket Countsの比較が表示されることがあります。もしそうでなければ、後でそれを見ることができます(主に死体を開いて内部を見て)。

私は通常の動作を確認しようとしていますが、レビューのための要件文書を取得できません。私は仮定をして質問をし、提案するしかありません。

関連する問題