Отображение статистики по данным с 2 полями даты ввода Apex 5.1.0.00.45, Windows

У меня есть таблица с двумя полями даты и другими столбцами. Я должен иметь возможность отображать статистику по некоторым из этих столбцов между двумя датами, которые можно выбрать из раскрывающегося списка. Все это нужно делать в Apex. Клиент должен иметь возможность выбрать дату начала и дату окончания, а затем должен быть показан подсчет, например, количества рефералов между 01/SEP/17 и 30/SEP/17. Код SQL, который я использовал в Oracle для достижения этой цели:

выберите «Всего рефералов» в качестве сведений, подсчитайте (REFERRED) как общее количество из PD_PATIENT_DETAILS, где REFERRED = «Да» и EVENT_DATE BETWEEN to_date(:EVENT_DATE) AND to_date(:EVENT_DATE_END);

Я сейчас изо всех сил пытаюсь получить эту сборку в Apex. Я начал работать с Apex только тогда, когда меня пригласили в этот проект. Никогда не работал с этим раньше, и в настоящее время я единственный, кто работает над этим.


person JanCoetzee    schedule 03.10.2017    source источник


Ответы (1)


Вы можете создать 2 отдельных элемента страницы и сделать их полями выбора даты (P1_EVENT_DATE и P1_EVENT_DATE_END).

Ваш SQL-запрос может выглядеть так:

select 
    Total Referrals as Details
,   count(REFERRED) as Total 
from 
    PD_PATIENT_DETAILS
where 
    REFERRED = 'Yes' 
and EVENT_DATE between :P1_EVENT_DATE and :P1_EVENT_DATE_END

Затем вам нужно выполнить динамическое действие (при изменении одного из элементов или сделать кнопку «Перейти»), которое отправляет страницу или обновляет область отчета (тогда вы должны установить элементы страницы в состояние сеанса).

Что-то вроде этого

person Boyd Timmerman    schedule 04.10.2017
comment
Спасибо. Собираюсь попробовать это как можно скорее и дам вам знать, правильно ли я понял. Спасибо еще раз. - person JanCoetzee; 05.10.2017
comment
Теперь получите: Ошибка, начинающаяся со строки: 1 в команде - объявить подробности varchar2 (50); Всего varchar (50); Дата P1_EVENT_DATE; Дата P1_EVENT_DATE_END; Начните выбирать «Всего рефералов» в качестве сведений, подсчитайте (REFERRED) как общее количество в общем, сведения из PD_PATIENT_DETAILS, где REFERRED = «Да» и EVENT_DATE между :P1_EVENT_DATE и :P1_EVENT_DATE_END; КОНЕЦ; Отчет об ошибке - Отсутствуют определения - person JanCoetzee; 06.10.2017
comment
Изменил его на: declare Details varchar2(20); Общее количество(18); Начните выбирать «Всего рефералов» в качестве сведений, подсчитайте (REFERRED) как общее количество INTO :Details, :Totals из PD_PATIENT_DETAILS, где REFERRED = «Да» и EVENT_DATE между :P1_EVENT_DATE и :P1_EVENT_DATE_END; КОНЕЦ; Получите это в Apex сейчас: вызов Ajax вернул ошибку сервера ORA-20876: Остановить APEX Engine для выполнения кода PL/SQL. - person JanCoetzee; 06.10.2017