このサイトをご覧になるには、JavaScriptを有効にしてください。

[帳票開発ツール]Stimulsoft レポート&ダッシュボード ユーザーマニュアル

ナビゲーション: レポートデザイナー > レポートテンプレート

使用済みデータのみを取得する

スクロール トップ その他

時には、1つのプロパティの値を変更するだけで、レポートのレンダリング速度が大幅に向上することがあります。レポート・テンプレートで作業する場合、データ辞書には実際のデータは含まれません。辞書内のデータは、データ構造の説明としてのみ配置されます。すべてのクエリーの実行とストレージからのデータ転送は、レポートレンダリング処理の瞬間に実行されます。このとき、辞書の構造全体が実データで埋め尽くされる。つまり、200のデータソースが辞書に作成されると、ストレージからそれらすべてのソースに実データが転送されます。ストレージから辞書に転送されるデータが多ければ多いほど、レポートのレンダリング処理にかかる時間は長くなります。しかし、常にすべてのデータソースがレポートに使用されるわけではありません。レポートで使用されるデータ ソースの実際のデータのみを取得するレポート レンダリングの時間を大幅に短縮するには、使用済みデータのみを取得するレポート プロパティをtrueに設定する必要があります。

 

例を考えてみましょう。例えば、データテーブル、ストアドプロシージャ、およびビューを含む MS SQL データベースを使用する場合です。下図は、辞書のデータ構造を示しています。
 

 

 

各テーブルには、1つから複数のデータ列のデータが含まれ、少なくとも1つのデータ行があります。例えば、レポートではCustomerCustomerDemoデータソースだけが使用されます。

 
使用済みデータのみを取得する プロパティは  falseに設定されています。

この場合、レポートのレンダリング時に、データ辞書の各テーブルについてデータベースからデータが転送され、レポート自体にも辞書が転送されます。言い換えれば、すべてのテーブルが実際のデータで満たされることになります。その後、レポートジェネレーターが、レポートに使用されるデータを選択し、構造化された方法で表示します。レポートのレンダリングにかかる時間は、データの転送速度とデータサイズに依存する。データの転送速度が速ければ速いほど、レポートのレンダリングも速くなります。下図は、使用済みデータのみを取得するプロパティがfalseに設定されている場合のデータ転送を模式的に示したものです。

 
 

 

 

使用済みデータのみを取得するプロパティがtrueに設定されている。

この場合、レポートをレンダリングする際に、レポート・ジェネレーターはレポート構造を分析し、このレポートで使用されているテーブルのデータのみを転送します。現在の例では、CustomerCustomerDemoテーブルに対してのみ、データが転送されます。この場合、レポートのレンダリング時間は大幅に短縮されます。もし、レポートが複数のテーブルで使用される場合、データは複数のテーブルにのみ転送されます。下図は、使用済みデータのみを取得するプロパティがtrueに設定されている場合のデータ転送を模式的に示したものです。

 

 

インフォメーション:

 

別の方法として、データディクショナリーから未使用のデータソースを削除することもできます。しかし、構造全体が存在することが必要な場合もある。たとえば、レポートをさらに発展させるため、あるいは、1つの同じ辞書をさまざまなレポートに使用する場合などがあります。