2024年7月25日木曜日

各種レポートでのソート設定について

Oracle APEXで一般に使用されている対話モード・レポート、対話グリッド、クラシック・レポートでは、ソースのSQL問合せにORDER BY句を含めず、列に対してソートの設定を行なうことが推奨されています。

以下より、サンプル・データセットのEMP/DEPTに含まれる表EMPをソースとした対話グリッド、対話モード・レポート、クラシック・レポートのそれぞれで、給与の降順で10人だけをレポートに表示する設定を紹介します。

対話グリッド


ソースのSQL問合せを以下とします。

select * from emp


列SALのユーザーの有効化のソートをオンにします。


対話グリッドの属性のページ区切りのタイプをページにします。スクロールの場合、対話グリッドに表示される行数はリージョンの大きさで決まります。ページにすると表示される行数を指定できます。


対話グリッドのアクションのデータからソートを開きます。


ソート列としてSalを追加し、方向に降順を選択して保存します。


アクションの書式のページごとの行数を開き、10を選択します。


これでレポートに給与の降順で10行が(最初に)表示されるようになりました。

アクションのレポートの保存を実行し、デフォルトのレポート形式として設定します。




対話モード・レポート



ソースのSQL問合せを以下とします。

select * from emp


列SALのユーザーの有効化のソートをオンにします。


対話モード・レポートのアクションのデータからソートを開きます。


1番目の列にSal、方向に降順を選択し、適用します。


アクションの書式のページごとの行数を開き、10を選択します。


これでレポートに給与の降順で10行が(最初に)表示されるようになりました。

アクションのレポートのレポートの保存を開きます。


保存(開発者にのみ表示)にデフォルトのレポートとして保存を選択し、適用します。


デフォルトのレポート・タイプとして主を選択し、適用します。


これで、現在のレポートがデフォルトの表示形式として保存されました。


クラシック・レポート



ソースのSQL問合せを以下とします。

select * from emp


列SALを選択し、ソートのデフォルト順序に1、方向に降順を設定します。ユーザーによるソート方向の変更を許可しない場合は、ソート可能をオフにします。

クラシック・レポートではレポートの表示形式を保存することができず、デフォルトの表示形式というのもありません。ソート順を限定する場合は、他の列のソートのソート可能をオフにする必要があります。


クラシック・レポートの属性のレイアウトの行数のタイプに静的値を選択し、行数として10を設定します。


これでレポートに給与の降順で10行が(最初に)表示されるようになりました。


クラシック・レポートではOrder by項目(並替え基準)を設定できます。並替え基準については以下の記事で紹介しています。

APEX 22.1の新機能 - 並替え基準を使う

完