Crystal Reports Designer  

將資料錄選擇卸載至資料庫伺服器

加速報表處理最重要的一件事,就是限制從資料庫傳回的資料量。完成這項作業的主要工具就是資料錄選擇公式。

Crystal Reports 會分析您的資料錄選擇公式,並根據該公式產生 SQL 查詢。然後資料庫便會處理 SQL 查詢,並將產生的資料錄傳回 Crystal Reports。接著 Crystal Reports 會針對由資料庫擷取的每個資料錄在本機驗算資料錄選擇公式,計算用來產生報表的資料錄集。

不必要的資料錄會在兩個階段消除:在資料庫中使用 SQL 查詢,而 Crystal Reports 中則由資料錄選擇公式來消除。為加快速度起見,最好在第一個階段就儘可能消除不必要的資料錄。如能有效地設計資料錄選擇公式,您便可將許多處理卸載至資料庫伺服器,如此一來可避免將不需要的資料錄傳回 Crystal Reports。通常這項作業稱為將資料錄選擇下推至資料庫伺服器

參數欄位

您可以建立參數欄位,提示使用者指定要看到的資料,而不是在每次開啟報表時將顯示所有的報表資料。若要降低從資料庫伺服器傳輸的資料數量,請將這些參數欄位直接加入您的資料錄選擇公式。

通常參數欄位會提供使用者互動功能,讓使用者回應參數提示以指定他們想看到的資料。但如果您將參數欄位直接加入資料錄選擇公式中,您將不僅提供互動功能,同時還降低了資料傳輸並增加效能。

您可以使用選擇專家或資料錄選擇公式編輯器來加入參數欄位至資料錄選擇公式。使用資料錄選擇公式編輯器時,參數欄位的處理方式與其他所有欄位相同。請參閱將參數合併到公式

SQL 運算式欄位

若要維持最快的報表處理速度,請避免在資料錄選擇公式中使用公式 (不論是使用 Crystal 或 Basic 語法)。相反的,請使用對等的 SQL 運算式欄位來取代原來的公式,然後將 SQL 運算式欄位加入資料錄選擇公式中。這樣一來將大幅增進下推資料錄選擇至伺服器的機會。

此外,您應該避免在公式欄位上進行排序、群組或總計 (不論是使用 Crystal 或 Basic 語法)。相反的,請使用對等的 SQL 運算式欄位取代原來的公式欄位,然後在 SQL 運算式欄位進行排序、群組或總計。同樣的,這項作業將大幅增進在伺服器上完成處理的機會。

最後,如果您的資料庫支援 Case Logic,而您的報表必須摘要 If-Then-Else 公式計算,那麼請使用 SQL 運算式欄位取代公式。在這種情況下,運算式欄位可讓 Crystal Reports 在伺服器上執行報表群組。請參閱 SQL 運算式