部門の 1 つのチャートを作成しました。
select 'f?p=&APP_ID.:802:'||:app_session||'::::P802_ENQ_DATE:'|| e.enq_date ||':' link,
cal_date as label,
value1 as value
from
(select cal_date from time
where cal_date >= '01-'||:P802_SEARCH_MONTH and
cal_date <= last_day(to_date('01-'||:P802_SEARCH_MONTH, 'dd-mm-yy'))
) t
LEFT OUTER JOIN
(SELECT
a.enquired_date AS enq_date,
COUNT(a.id) AS value1
FROM
ENQUIRY a
group by a.enquired_date
) e
ON
to_char(e.enq_date) = to_char(t.cal_date)
order by label ASC
要件は、エンド ユーザーの月ごとに選択された 1 日の問い合わせ数を提示することでした。そのため、 :P802_SEARCH_MONTHは月の名前を取得し、このパラメーターをタイム テーブルに渡します。タイム テーブルには可能なすべての日付日が格納され、チャートは 1 日あたりのすべての問い合わせを合計し、それらを日付でスロー ジョインします。問い合わせがまったくない日もあったため、すべての可能な日付を表示することが重要です。逆の場合、完全な日付範囲は表示されません。
とにかく、チャートのバーにカーソルを合わせると、「ラベル」が表示されます
ラベルにその日の名前を含める必要があります。「t」ステートメントを拡張してみました:
select 'f?p=&APP_ID.:802:'||:app_session||'::::P802_ENQ_DATE:'|| e.enq_date ||':' link,
full_date as label,
value1 as value
from
(select to_char(to_date(cal_date,'dd-mon-yy'), 'DAY')||' - '|| cal_Date as full_date from time
where cal_date >= '01-'||:P802_SEARCH_MONTH and
cal_date <= last_day(to_date('01-'||:P802_SEARCH_MONTH, 'dd-mm-yy'))
) t
これは動作しません。Apex は意味のあるエラーをスローしていません。どんな助けでも大歓迎です。