一.概要
1.効果
データセットでのソートとは、SQLでデータベースにクエリを実行するときに直接並べ替えることを指します。この方法は最も性能が高いですが、すべての計算をデータベースで実行する必要があるため、SQLが非常に複雑になり、調整が困難になります。そして、一部の計算はSQLでは実行ないため、SQLでは単純な「昇順」または「降順」を実行することをお勧めします。
本マニュアルでは、データセットを定義するときにSQL文で設定できる並べ替えの種類を説明します。
2.ORDERBYキーワード
ORDER BYキーワードは、結果セットを1列または複数列でソートするために使用されます。既定では、昇順、つまりASCで並べ替えられます。降順で並べ替える必要がある場合は、DESCキーワードを使用できます。
select * from 販売量 order by 販売量
select * from 販売量 order by 販売量 desc
二.例示
1.昇順
一般帳票を作成し、データベースクエリを追加します。SQL文:select * from 販売量 order by 販売量。
プレビューをクリックすると、データが販売量で昇順で並べ替えられます(下図参照)。
2.降順
一般の帳票を作成し、データベースクエリを作成します。SQL文:select * from 販売量 order by 販売量 desc。
プレビューをクリックすると、データが販売量で降順で並べ替えられます(下図参照)。
3.複数列の並べ替え
一般の帳票を作成し、データベースクエリを作成します。SQLステートメントはselect * from 販売量 order by 地域, 販売量。
プレビューをクリックすると、データが地域、販売量の優先順位で昇順で並べ替えられます(下図参照)。
4.ダイナミック並べ替え
データセットパラメータを定義し、タイトルにダイナミックパラメータを追加し、タイトルをクリックすることでダイナミックソートを実現します。
4.1.データの準備
一般の帳票を作成し、データベースクエリds1を作成します。
SQL文:SELECT* FROM 販売量 where 地域='関東'order by 販売量 ${a}。
データセットパラメータaは、ソートascまたはdescを示すために定義されています。下図の通りです:
2つのフィールドに動的パラメーターを設定する必要がある場合、SQLステートメントはSELECT*FROM 売上where 地域='中国北部'order by 売上 ${a}、営業担当者${a}と設定できます。
4.2.帳票の設計
データセット内のデータをテーブルにドラッグし、セルA2データをリストに設定します。帳票スタイルは次の図のようになります。
4.3.動的パラメータの追加
売上のタイトルが配置されているセルE1を選択し、Hyperlink- Dynamic Parametersを追加します。パラメーターは、SQLで設定されたパラメーターaです、パラメーター値の入力式:if(a ="desc"、"asc","desc")。
注:aはascとデフォルト設定されている。
4.4.プレビュー
1.PC端末
帳票を保存し、改ページプレビューをクリックすると、下図のようになります。
2.モバイル端末
APPとHTML5端末でプレビューでき、効果は下図のようになります。
三.ご注意
1.MySQLで、日本語で並べ替えることができない
MySQLデータベースを五十音順で並べ替えることができない場合は、テーブルがUTF-8コードを使用しているか確認してください。UTF-8コードを使用している場合は、MySQLのconvertメソッドでSHIFT-JISコードに変換して並べ替えてください。また、MySQLにSHIFT-JIS文字セットをインストールされていることが前提です。インストールされていない場合、エラーが現れます。
select * from 販売量 order by convert(販売量 using sjis)
select * from 販売量 order by convert(販売量 using sjis) desc