次のいずれかの方法で、[レポートエクスプローラ]から[レポートデータソース]ダイアログを表示することができます。
[データセット]ダイアログには、データセットの各プロパティを設定できる以下のページが含まれています。
[全般]
[データセット]ダイアログの[全般]ページでは、データセットの名前を指定します。
[名前]:[名前]フィールドにデータセットの名前を付けます。デフォルト値はDataSet1です。データセットの名前は[レポートエクスプローラ]のツリービューに表示する他、コード内に呼び出す場合も使用されますので、一意な名前を指定する必要があります。
[クエリ]
[データセット]ダイアログの[クエリ]ページでは、SQLクエリとレポートのデータセットに取得されるデータを定義するストアドプロシージャ、またはテーブルを指定します。
[指定方法]: 以下の3種類から選択できます。
種類 | 解説 |
---|---|
Text | SQLクエリを使用してデータを取得する場合に選択します。 |
StoredProcedure | ストアドプロシージャを使用する場合に選択します。 |
TableDirect | すべての行および列を単一または複数のテーブルから返す場合に選択します。 |
[クエリ]:[指定方法]で選択した値に応じて、このフィールドにクエリ文字列を設定します。
JSONデータプロバイダに基づいて複数のデータセットを作成するには、[JSONクエリデザイナ]で[複数のノードを選択]オプションを選択します。
[タイムアウト]: クエリ処理の待機時間を秒数で設定します。
[オプション]
[オプション]では、データセットが使用できるさまざまなオプションを設定できます。
[大文字、小文字を区別する]: 大文字や小文字を区別するかどうかを設定します。Auto(デフォルト)の場合、データプロバイダから値を取得します。データプロバイダに値が設定されていない場合はFalseと同じ動作になり、大文字と小文字を区別せずに実行します。
[照合順序]: データをソートするときに使用する照合順序について設定します。デフォルト値の場合、データプロバイダから値を取得します。データプロバイダに値が設定されていない場合は、レポートの言語を使用します。外国語によってソート順序も異なりますので、これは外国語の場合は必須です。
[ひらがな、カタカナを区別する]: 日本語のデータでひらがなとカタカナを区別するかどうかを設定します。Auto(デフォルト)の場合、データプロバイダから値を取得します。データプロバイダに値が設定されていない場合はFalseと同じ動作になり、レポートはひらがなとカタカナを区別せずに実行します。
[文字幅を区別する]: 日本語のデータで半角文字と全角文字を区別するかどうかを設定します。Auto(デフォルト)の場合、データプロバイダから値を取得します。データプロバイダに値が設定されていない場合はFalseと同じ動作になり、レポートは文字幅を区別せずに実行します。
[アクセント、濁音、破裂音を区別する]: アクセント、濁音、破裂音を区別するかどうかを設定します。Auto(デフォルト)の場合、データプロバイダから値を取得します。データプロバイダに値が設定されていない場合はFalseと同じ動作になり、ポートはアクセント、濁音、破裂音を区別せずに実行します。
[フィールド]
[データセット]ダイアログの[フィールド]ページは自動的にOleDb、ODBC、SQL、XMLやJSONのデータプロバイダを設定します。[フィールド]ページの[名前]と[値]欄にフィールドのリストを表示するには、[クエリ]ページで有効なクエリやテーブル名またはストアドプロシージャを入力します。
さらに、表示されたフィールドを編集することもできます。削除(X)ボタンで削除するか、追加(+)ボタンでフィールドリストの上に新しいフィールドを追加します。これらの追加したフィールドは[レポートエクスプローラ]のツリービューに表示します。また、デザイナ面上にドラッグ&ドロップしますので、フィールド名はデータセット内にユニークな名である必要があります。
フィールドを使用すると、値の意味はデータソースの種類に応じて変わります。たとえば、ほとんどの場合はこれはフィールドの名前だけの意味があります。次の表はフィールド値の意味を示しながら、使用する例を示します。
データプロバイダ | 解説 | 例 |
---|---|---|
SQL、OleDb | フィールド値は、クエリに返されるフィールドの名前です。 | OrderQuantity FirstName |
Dataset | フィールド値は、クエリに指定されたDataTableのフィールドの名前です。データセットにDataRelationも設定できます。そして、関係の名前を指定し、期間と関連するDataTableのフィールドの名前を指定します。 | Quantity OrdersToOrderDetails.CustomerID |
XML | フィールド値は、クエリで評価される値を返すXPath式です。 | Statistics/Game/TeamName |
JSON | フィールド値は、クエリで評価される値を返すJSONPath式です。 | $.Statistics.Game[*].TeamName |
Object | フィールド値は、データプロバイダに返されたコレクションに格納するオブジェクトのプロパティの名前となる場合もあります。プロパティに返されるオブジェクトのプロパティを使用することもできます。 | Quantity Order.Customer.FirstName |
CSV | フィールド値は、接続文字列内で指定された各行によって返されるフィールドの名前です。 | 接続文字列 Path=C:\\Products_comma.csv;Encoding=shift_jis;Locale=ja-JP;TextQualifier=";ColumnsSeparator=,;RowsSeparator=\r\n;JoinColumnsSeparators=True |
[パラメータ]
[データセット]ダイアログの[パラメータ]ページでは、[クエリ]ページに入力したパラメータにレポートパラメータを渡すことができます。レポートパラメータの名前と一致する名前と、このページの各パラメータに値を入力します。
パラメータの[値]は、静的値やレポート内にオブジェクトを参照する式です。[値]はレポートコントロールまたはフィールドを参照することはできません。
[フィルタ]
[データセット]ダイアログの[フィルタ]ページは、データソースより返されたデータをフィルタします。これは、クエリパラメータをサポートしないデータソース(たとえば、XML)を使用する場合に有効です。
フィルタは次の3つのフィールドから成っています:
[式]: データをフィルタするために使用する式を入力するか、式エディタを使用します。
[演算子]: 右側の値を左の式と比較する方法を決定するために、次の演算子から選択します。
[値]: 選択された演算子に基づいて左側の式と比較する値を入力します。[Between]演算子で使用される複数の値については、下の2つ値ボックスが有効になります。
[値]:[In]演算子を選択すると、多くの値を入力することができます。