並べ替えの機能を使用し、実行時にレポートのデータを並べ替えできます。この機能により、データをアルファベット順または数値の昇順、降順で並べ替えできます。
ページレポートまたはRDLレポートでは、データ領域、グループ化されたデータに対して並べ替えを適用することができます。ページレポートの場合は、ページ全体に対して並べ替えを適用することも可能です。また、SQLクエリでデータを直接並べ替えることができます。TextBoxコントロールに対して、対話的な並べ替えも設定できます。
レポートの異なる範囲で並べ替える
並べ替えは、レポートの異なる範囲に対して設定できます。ActiveReportsでは、データ領域、グループ化されたデータ、またはページのダイアログに[並べ替え]ページを提供しています。
データ領域での並べ替え
TableまたはListデータ領域内のデータを並べ替えることができます。並べ替えを設定するには、データ領域の[並べ替え]ページへ移動し、並べ替えを設定します。
Matrix、BandedListまたはChartのデータ領域では、グループ化されたデータに対してのみ並べ替えを設定できます。したがって、これらのデータ領域独自の[並べ替え]のページはありません。
グループ化されたデータの並べ替え
[並べ替え]タブは、すべてのデータ領域のダイアログの[グループ]ページと、[List]ダイアログの[詳細行のグループ化]ページで用意されています。また、グループ化されたデータのソート順も変更できます。このオプションは、データ領域内にグループが設定されている場合、有効になります。
ページでの並べ替え
ページレポートでは、動的な値に基づきグループ化されたページ上で並べ替えを設定できます。ページで設定した並べ替えは、レポート形式のレイアウトで配置されているすべてのデータ領域に適用されますが、データ領域に並べ替えを設定すると、データ領域のデータのみが並べ替えられます。詳細は、「データの並べ替え」を参照してください。
SQLクエリで並べ替えを設定する
レポートのデータを取得するには、データソースに接続し、データセットを作成して、クエリを定義する必要があります。クエリの「ORDER BY」キーワードを使用し、データを昇順または降順に並べ替えすることができます。
デフォルトでは、「ORDER BY」キーワードは昇順にデータを並べ替えますが、クエリに「DESC」キーワードを使用してデータを降順に並べ替えすることができます。例えば、ReelsデータベースのMovieテーブルにあるTitleフィールドのデータを並べ替えるには、以下のようなクエリを指定できます。
SELECT * FROM Movie ORDER BY Title
または
SELECT * FROM Movie ORDER BY Title ASC
Titleフィールドのデータを降順に並べ替えるには、以下のようなクエリを指定できます。
SELECT * FROM Movie ORDER BY Title DESC
対話的な並べ替えを設定する
データ領域内にあるTextBoxコントロールに対して、対話的な並べ替えを設定することにより、ユーザーがViewer上でデータを並べ替えできます。
対話的な並べ替えを設定するには、[並べ替え]ページにある[対話的な並べ替えを有効にする]オプションを選択する必要があります。
TextBoxコントロールに対して、対話的な並べ替えを設定すると、ビューワまたはプレビュータブで並べ替えのアイコンが表示されます。このアイコンをクリックし、ユーザーがTextBox内のデータを昇順または降順に並べ替えできます。
対話的な並べ替えのページでは、次のオプションが用意されています。
詳細は、「対話的な並べ替え 」を参照してください。
セクションレポートでは、並べ替えは明示的に用意されていませんが、データベースからデータを取得するために使用されるSQLクエリを変更し、並べ替えを実現できます。
SQLクエリで並べ替えを設定する
レポートをデータソースに接続し、データを取得するために指定するクエリで「ORDER BY」キーワードを追加し、データを並べ替えできます。
デフォルトでは、「ORDER BY」キーワードは昇順にデータを並べ替えますが、クエリに「DESC」キーワードを使用してデータを降順に並べ替えすることができます。例えば、NWindデータベースのCustomersテーブルにあるCompanyNameフィールドのデータを並べ替えるには、以下のようなクエリを指定できます。
SELECT * FROM Customers ORDER BY CompanyName
または
SELECT * FROM Customers ORDER BY CompanyName ASC
CompanyNameフィールドのデータを降順に並べ替えるには、以下のようなクエリを指定できます。
SELECT * FROM Customers ORDER BY CompanyName DESC