2010-11-30 240 views
0

我正在用SQL服務器在vb.net開發一個工資項目,在這裏我使用SEAGATE水晶報表進行報表,如果我在單個報表天氣中使用超過10個子報表,它會影響我的項目效率,或者它會花費更多時間crystal report&sub report

回答

1

是的,實際上可能需要更多時間才能運行10個不同的查詢,並且報告工具可能不得不鏈接所有這些查詢的結果。

我已經寫了3或4個子報告的報告,但通常更多是不必要的。我會嘗試爲許多子報表想一個解決方法 - 通常有一種方法。 (例如,使用列作爲顯示/隱藏或分組數據的切換。)

0

實際上很難說,子報表如何影響性能。我設計了報告,在那裏使用子報表使得整個報表運行得更快 - 有時,構建底層查詢比許多更簡單的子報表查詢更加高效並不容易。

一個例子是ABAC類型的報表,其中從主表/查詢(A)到子表/查詢(B,C)有許多一對多關係,並且用戶想要一次查看所有BC類型數據(不按需求)。對於單個查詢,它將是A * B * C行來處理(並實現討厭的邏輯來顯示隱藏部分),使用子報表可以處理A *(B + C)總行來處理和顯示。

但是,當您使用子報表僅顯示一些總值時,通常將其聚集在主視圖中效率更高 - 在服務器和傳輸數據時都需要更少的時間。與查詢執行時間相比,Crystal Reports格式化時間通常可以忽略不計。

與往常一樣,最佳策略取決於特定的報告需求。