2

部門の 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 は意味のあるエラーをスローしていません。どんな助けでも大歓迎です。

4

1 に答える 1