データセットをソートする

  • 作成者:ayuan0625
  • 編集回数:10次
  • 最終更新:FRInternational 于 2021-11-27
  • 一.概要

    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


    Attachment List


    Theme: FineReport 帳票実例
    既に最初
    既に最後
    • Helpful
    • Not helpful
    • Only read