こんにちは!CloudiiのTakaseです!
第1回では、販売データのCSVを読み込ませて、Oracle APEXで簡単な販売管理アプリを作成しました。
せっかくデータの参照ができるようになったので、第2回では売上サマリページを新規作成し、
集計を切り替えられるようにしたいと思います。
今回やってみる事
①売上サマリページを追加する。
②プルダウンを1つ追加して、集計単位を切り替えられるようにする。
①売上サマリページを追加する。
Oracle APEXにログインし、第1回で作成した「Sale」を押下します。
ページの作成画面で「対話モード・レポート」を押下します。
画面中段右にある「ページの作成」を押下します。
対話モード・レポートの作成画面で「名前」「ソースタイプ」「SQL SELECT文を入力」を設定し、「ページの作成」を押下します。
【設定するSQL】
SELECT
CASE
WHEN :P1_GROUP_TYPE = 'CUSTOMER' THEN CUSTOMER_NAME
WHEN :P1_GROUP_TYPE = 'DATE' THEN TO_CHAR(SALE_DATE, 'YYYY-MM-DD')
ELSE PRODUCT_NAME
END AS 集計項目,
SUM(TOTAL_AMOUNT) AS 売上合計,
SUM(QUANTITY) AS 販売数量,
ROUND(AVG(UNIT_PRICE), 0) AS 平均単価
FROM
SALE
GROUP BY
CASE
WHEN :P1_GROUP_TYPE = 'CUSTOMER' THEN CUSTOMER_NAME
WHEN :P1_GROUP_TYPE = 'DATE' THEN TO_CHAR(SALE_DATE, 'YYYY-MM-DD')
ELSE PRODUCT_NAME
END
ORDER BY 売上合計 DESC;
試しに作成したページを実行してみましょう。画面右上の実行ボタンを押下します。
売上サマリ画面が表示されました。SQLではデフォルトは商品別のサマリが出るように指定しているため、以下のような画面になります。
②プルダウンを1つ追加して、集計単位を切り替えられるようにする。
次に、集計区分を選択するためのプルダウンを作成します。
作成したページの左側にあるツリーから売上サマリを右クリックし、「アイテムの作成」を押下します。
売上サマリのツリー下部に[P8_NEW」というアイテムが作成されました。
作成したアイテムの変更を行います。以下赤枠のように設定していきます。
識別/名前を「P1_GROUP_TYPE」、タイプを「選択リスト」とすることで、プルダウン形式になります。
設定した名前はSQL実行時にプルダウンの中身を認識するための識別名となります。
ラベルは画面上のプルダウン名になります。
設定/選択時のページ・アクションですが、「ページの送信」に設定します。
プルダウンの項目名変更時に、設定した値でSQLを再実行するために必ず必要な設定項目となります。
この項目を設定しないとプルダウンを変更しても何も更新されません。
画面下部の「LOV/タイプ」から「静的値」を選択し、静的値の内容を設定します。
静的値の内容は以下となります。
ここで設定した表示値がプルダウン押下時の選択項目となります。
戻り値は、SQL実行時に、設定した表示値に応じてどの項目を選択するかの条件分岐に使用します。
設定完了後「OK」を押下し、画面右上段にある「保存」を押下します。
次に表示される金額値にカンマが入るようにしたいと思います。
画面左のツリーから「売上サマリ/列」を選択します。
金額項目(売上合計や平均単価)にカーソルを合わせると、画面右にプロパティが表示されますので、
「外観/書式マスタ」を以下のように設定します。
設定完了後、画面右上段にある「保存」を押下します。
以上で設定は全て完了です。
それでは、実際に実行してみましょう。
デフォルト表示で商品別のサマリ情報が表示されています。
集計区分から「日別」を選択します。
日別でのサマリ結果に切り替わったことが確認できます
集計区分から「顧客別」を選択します。
顧客単位でのサマリ結果に切り替わったことが確認できます。
いかがでしょうか。
簡単にページの追加が実施でき、プルダウンを追加する事で、集計区分の切り替えができました。
その他にも集計結果を切り替える方法はいくつかございますが、今回は上記の方法となります!
お手持ちのデータ等を使って、是非実際にチャレンジしてみてください!